Skip to content

Instantly share code, notes, and snippets.

@gagimilicevic
Forked from amboutwe/wordpress_robots_custom.php
Created February 28, 2020 14:38
Show Gist options
  • Save gagimilicevic/7ffbe07693bf66fac990083841b4f704 to your computer and use it in GitHub Desktop.
Save gagimilicevic/7ffbe07693bf66fac990083841b4f704 to your computer and use it in GitHub Desktop.
Filters and example code for Yoast SEO robots or WP robots.txt
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/*
* Replace Disallow with Allow Generated Robots.txt
* Credit: Unknown
* Last Tested: Unknown
*/
add_filter('robots_txt','custom_robots');
function custom_robots($output) {
$public = get_option( 'blog_public' );
if ( '0' != $public )
return str_replace('Disallow','Allow',$output);
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/*
* Remove meta robots from Yoast SEO
* Credit: Yoast development team
* Last Tested: Mar 01 2017 using Yoast SEO 4.4 on WordPress 4.7.2
*/
add_filter( 'wpseo_robots', '__return_false' );
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/*
* Change meta robots using Yoast SEO
* Credit: Yoast development team
* Last Tested: Jun 19 2017 using Yoast SEO 4.9 on WordPress 4.8
*/
add_filter( 'wpseo_robots', 'yoast_seo_robots_remove_search' );
function yoast_seo_robots_remove_search( $robots ) {
if ( is_search() ) {
return false;
} else {
return $robots;
}
}
<?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 false 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 false;
} else {
return $robots;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment