Couldn't find a solution after a quick google so thought i'd pop a quick post on here.
Trying to remove a automatically added rel=canonical link (which is added by Wordpress SEO plugin - by Yoast).
I actually want google to crawl each of the different subs even though it may not move away from the parent page.
rel="canonical" has nothing to do with crawling. It has to do with indexing and prevents the same page from indexing twice or more.
Anyway, if you still want to do this you can do it by adding this code to your functions.php:
add_filter( 'wpseo_canonical', '__return_false' );
Source: https://yoast.com/wordpress/plugins/seo/api/
You can also use this in wordpress conditional tags
Refer: https://codex.wordpress.org/Conditional_Tags
// Remove - Canonical for - [Search - Page]
function remove_canonical() {
// Disable for 'search' page
if ( is_search() ) {
add_filter( 'wpseo_canonical', '__return_false', 10, 1 );
}
}
add_action('wp', 'remove_canonical');
Remove canonical for ALL pages.
// Disable Canonical for - ALL pages
function remove_canonical() {
add_filter( 'wpseo_canonical', '__return_false', 10, 1 );
}
add_action('wp', 'remove_canonical');
most likely the canonical is not generated by yoast, there is a wordpress inbuilt function you can prevent it by adding this to your theme´s functions.php
remove_action('wp_head', 'rel_canonical');
remove_action('wp_head', 'rel_canonical');
You can also disable the canonical urls for wordpress.
Look here:Desactivar rel=”canonical” de Yoast WordPress SEO o de WordPress