mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-08-12 04:40:26 +00:00
Robots: Introduce Robots API.
This changeset introduces a filter-based Robots API, providing central control over the `robots` meta tag.
* Introduces `wp_robots()` function which should be called anywhere a `robots` meta tag should be included.
* Introduces `wp_robots` filter which allows adding or modifying directives for the `robots` meta tag. The `wp_robots()` function is entirely filter-based, i.e. if no filter is added to `wp_robots`, no directives will be present, and therefore the entire `robots` meta tag will be omitted.
* Introduces the following `wp_robots` filter functions which replace similar existing functions that were manually rendering a `robots` meta tag:
* `wp_robots_noindex()` replaces `noindex()`, which has been deprecated.
* `wp_robots_no_robots()` replaces `wp_no_robots()`, which has been deprecated.
* `wp_robots_sensitive_page()` replaces `wp_sensitive_page_meta()`, which has been deprecated. Its rendering of the `referrer` meta tag has been moved to another new function `wp_strict_cross_origin_referrer()`.
Migration to the new functions is straightforward. For example, a call to `add_action( 'wp_head', 'wp_no_robots' )` should be replaced with `add_filter( 'wp_robots', 'wp_robots_no_robots' )`.
Plugins and themes that render their own `robots` meta tags are encouraged to switch to rely on the `wp_robots` filter in order to use the central management layer now provided by WordPress core.
Props adamsilverstein, flixos90, timothyblynjacobs, westonruter.
See #51511.
git-svn-id: https://develop.svn.wordpress.org/trunk@49992 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -1640,7 +1640,8 @@ function do_feed_atom( $for_comments ) {
|
||||
*
|
||||
* @since 2.1.0
|
||||
* @since 5.3.0 Remove the "Disallow: /" output if search engine visiblity is
|
||||
* discouraged in favor of robots meta HTML tag in wp_no_robots().
|
||||
* discouraged in favor of robots meta HTML tag via wp_robots_no_robots()
|
||||
* filter callback.
|
||||
*/
|
||||
function do_robots() {
|
||||
header( 'Content-Type: text/plain; charset=utf-8' );
|
||||
@@ -3491,8 +3492,9 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $parsed_args['charset']; ?>" />
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<?php
|
||||
if ( function_exists( 'wp_no_robots' ) ) {
|
||||
wp_no_robots();
|
||||
if ( function_exists( 'wp_robots' ) && function_exists( 'wp_robots_no_robots' ) && function_exists( 'add_filter' ) ) {
|
||||
add_filter( 'wp_robots', 'wp_robots_no_robots' );
|
||||
wp_robots();
|
||||
}
|
||||
?>
|
||||
<title><?php echo $title; ?></title>
|
||||
|
||||
Reference in New Issue
Block a user