jgresalfi
9/28/2017 - 9:22 PM

Code snippets for the Yoast SEO canonical output

Code snippets for the Yoast SEO canonical output

<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/

/* Remove Yoast SEO Canonical From Search Pages Only
 * Credit: Yoast Team
 * Last Tested: Jun 16 2017 using Yoast SEO 4.9 on WordPress 4.8
 */

add_filter( 'wpseo_canonical', 'yoast_remove_canonical_search' );

function yoast_remove_canonical_search( $canonical ) {
	if( is_search() ) {
		return false;
	} else {
		return $canonical;
	}
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/

/* Remove Yoast SEO Canonical From Individual or Multiple Items
 * Credit: Yoast Team
 * Last Tested: Jun 16 2017 using Yoast SEO 4.9 on WordPress 4.8
 *********
 * 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, 1234567, 12345678 ) )
 * Multiple of different types can repeat the if statement
 */
 
add_filter( 'wpseo_canonical', 'yoast_remove_canonical_items' );

function yoast_remove_canonical_items( $canonical ) {
  if ( is_single ( 123456 ) ) {
    return false;
  }
  /* Use a second if statement here when needed */
	return $canonical; /* Do not remove this line */
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/

/* Remove Yoast SEO Canonical From All Pages
 * Credit: Yoast Team
 * Last Tested: Jun 16 2017 using Yoast SEO 4.9 on WordPress 4.8
 */

add_filter( 'wpseo_canonical', '__return_false' );