Eviter le duplicate content : Au moins sur les archives des catégories !

Eviter le duplicate content : Au moins sur les archives des catégories !

Par défaut, WordPress provoque du duplicate content sur les pages d’archives des catégories. Bug ou pas, un ticket est en route depuis pas mal de temps pour savoir si le core doit être modifié à ce sujet. Néanmoins, il existe une solution rapide pour régler ce problème.

Du code, direct

Ne perdons pas de temps ! Voici le code que j’ai donc mis à jour et qui corrige quelques rares cas qui peuvent provoquer des redirections non attendues.

Copiez ce code dans un mu-plugin ou dans le fichiers functions.php de votre thème (enfant)

add_action( 'wp', 'baw_non_duplicate_content' );
function baw_non_duplicate_content( $wp ) {
    global $wp_query;
 	// On cherche à naviguer dans une catégorie
    if( isset( $wp_query->query_vars['category_name'], $wp_query->query['category_name'] ) )
    {
    	global $wp_rewrite;
    	$paged = isset( $wp_query->query_vars['paged'] ) && (int)$wp_query->query_vars['paged']>1 ?
    			$wp_rewrite->pagination_base.'/'.(int)$wp_query->query_vars['paged'].'/' : '';
    	// On récupère l'url de la catégorie désirée, et l'url actuelle
	    $correct_url = get_term_link( $wp_query->query_vars['category_name'], 'category' );
	    if( is_string( $correct_url ) && $correct_url )
	    {
	    	$correct_url .= $paged;
	    }
	    $actual_url = 'http' . ( is_ssl() ? 's' : '' ) . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
	    $actual_url = reset( (explode('?', $actual_url)) );
	    $actual_url = reset( (explode('&', $actual_url)) );
	    // Si les urls sont différentes, on redirige vers la vraie url de la catégorie
		if( is_string( $correct_url ) && $correct_url != $actual_url )
		{

	        wp_redirect( $correct_url, 301 );
		die();

	    }
    }
}

Cette mise à jour gère la pagination de ces catégories, ce qui n’était pas le cas, de plus je récupère le permalien du terme maintenant, ce que je trouve meilleur.

Julio Potier
Consultant en Sécurité, Expert WordPress, Formateur, Marketeur et créateur du plugin de sécurité WordPress SecuPress.
Julio développe et sécurise du contenu web tous les jours. La création de plugins WordPress et la vente de produits WordPress font partie de son quotidien.

Lire la suite

Vous aimez ? Partagez !


Réagir à cet article

120 caractères maximum