J'essayais de supprimer les balises rel = prev et rel = next de mon site Web comme mon instinct de référencement suggéré. J'ai trouvé ces fonctions qui font parfaitement la magie:
remove_action('wp_head', 'start_post_rel_link', 10, 0 );
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
cependant, après un certain temps, mon responsable SEO a suggéré de le laisser dans une section de catégories où, là-bas, il est nécessaire en matière de référencement.
existe-t-il un moyen simple de mettre en œuvre les rel = prev et rel = next balises uniquement sur des catégories pages ?, par exemple: www.website.com/category/category-name et le supprimer de tous les autres types de publication? (poste, page, page d'accueil, etc.)
Merci, GIl
Je ne suis pas tout à fait sûr si je suis d’accord avec l’explication de votre spécialiste SEO, car rel = prev et rel = next sont utilisés pour les archives paginées .
Bien sûr, les catégories peuvent être une, mais aussi votre blog s'il contient plusieurs pages.
Quoi qu'il en soit, voici ce que j'utilise actuellement:
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
add_action( 'wp_head', 'cor_rel_next_prev_pagination' );
/**
* Pagination with rel="next" and rel="prev".
*
* @link wp-includes|default-filters.php
* @link http://core.trac.wordpress.org/ticket/18672 Implement rel="prev" and rel="next" for archives
* @link http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html Pagination with rel="next" and rel="prev"
*/
function cor_rel_next_prev_pagination() {
global $paged;
if ( get_previous_posts_link() ) {
?>
<link rel="prev" href="<?php echo get_pagenum_link( $paged - 1 ); ?>">
<?php
}
if ( get_next_posts_link() ) {
?>
<link rel="next" href="<?php echo get_pagenum_link( $paged + 1 ); ?>">
<?php
}
}
Edit: je crois aussi que start_post_rel_link
n'est plus utilisé.
Je pense que vous pouvez envelopper vos crochets dans le crochet template_redirect
, qui est déclenché avant d'envoyer le contenu au navigateur, quelque chose comme ceci:
add_action( 'template_redirect', 'wpse_47638_remove_rel_link' );
function wpse_47638_remove_rel_link() {
if ( is_category() )
return;
remove_action('wp_head', 'start_post_rel_link', 10, 0 );
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
}
Essayez la fonction is_category . Vous devriez pouvoir ajouter à wp_head une action de priorité élevée qui vérifie le résultat, puis exécute de manière conditionnelle les deux instructions ci-dessus pour supprimer les actions qui affectent REL aux liens.
Honnêtement, je ne sais pas si cette méthode est opérationnelle si tôt dans le cycle de vie WP, mais à défaut, saisissez l'URL à l'aide de _SERVER et testez un modèle de catégorie.