-
-
Save loorlab/43b281f0d25c485b5414e592da650f8b to your computer and use it in GitHub Desktop.
Filters and example code for Yoast SEO robots or WP robots.txt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/ | |
/* | |
* Replace Disallow with Allow Generated Robots.txt | |
* Credit: Unknown | |
* Last Tested: June 09 2020 using WordPress 5.4.1 | |
*/ | |
add_filter('robots_txt','custom_robots'); | |
function custom_robots($output) { | |
$public = get_option( 'blog_public' ); | |
if ( '0' != $public ) | |
return str_replace('Disallow','Allow',$output); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/ | |
/* Check which functions have been used to hook into `wp_robots` | |
* Credit: Yoast team | |
* Last Tested: Unknown | |
*/ | |
\add_filter( 'wp_robots', 'list_hooks' , \PHP_INT_MAX); | |
function list_hooks( $robots ) { | |
global $wp_filter; | |
echo "<!-- This is a list of callback functions hooked into the 'wp_robots' filter:"; | |
echo json_encode($wp_filter['wp_robots'], JSON_PRETTY_PRINT); | |
echo "-->"; | |
return $robots; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/ | |
/* | |
* Remove robots meta tags from Yoast SEO | |
* Credit: Yoast development team | |
* Last Tested: May 22 2024 using Yoast SEO 22.7 on WordPress 6.5.3 | |
*/ | |
add_filter( 'wpseo_robots', '__return_empty_array' ); // Removes Yoast ouptut and returns to WP core output | |
add_filter( 'wp_robots', '__return_false' ); // Disable core output. Use with above to disable completely. | |
// Older versions | |
add_filter( 'wpseo_robots', '__return_false' ); // Yoast SEO 19.8 or older | |
add_filter( 'wpseo_googlebot', '__return_false' ); // Yoast SEO 14.x - Deprecated | |
add_filter( 'wpseo_bingbot', '__return_false' ); // Yoast SEO 14.x - Deprecated |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/ | |
/* | |
* Change meta robots using Yoast SEO | |
* Credit: Yoast development team | |
* Last Tested: Nov 1 2021 using Yoast SEO 17.4 on WordPress 5.8.1 | |
*/ | |
add_filter( 'wpseo_robots', 'yoast_seo_robots_remove_search' ); | |
function yoast_seo_robots_remove_search( $robots ) { | |
if ( is_search() ) { | |
return array(); | |
} else { | |
return $robots; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/ | |
/* | |
* Change meta robots using Yoast SEO | |
* Credit: Yoast development team | |
* Last Tested: Dec 12 2017 using Yoast SEO 9.2.1 on WordPress 5.0 | |
********* | |
* DIFFERENT POST TYPES | |
* Post: Change 123456 to the post ID | |
* Page: Change is_single to is_page and 123456 to the page ID | |
* Custom Post Type: Change is_single to is_singular and 123456 to the 'post_type_slug' | |
Example: is_singular( 'cpt_slug' ) | |
********* | |
* MULTIPLE ITEMS | |
* Multiple of the same type can use an array. | |
Example: is_single( array( 123456, 234567, 345678 ) ) | |
* Multiple of different types can repeat the if statement | |
********* | |
* The return empty array removes the robots tag on the page | |
* Or you can return index/noindex follow/nofollow like | |
* return 'noindex, follow'; | |
* Or | |
* return 'noindex, nofollow'; | |
*/ | |
add_filter( 'wpseo_robots', 'yoast_seo_robots_remove_single' ); | |
function yoast_seo_robots_remove_single( $robots ) { | |
if ( is_single ( 123456 ) ) { | |
return array(); | |
} else { | |
return $robots; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment