rel = prevおよびrel = nextタグを削除しようとしていました私のSEOの腸が示唆したように私のウェブサイトから。私は完璧に魔法を使うこれらの機能を見つけました:
remove_action('wp_head', 'start_post_rel_link', 10, 0 );
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
しかし、しばらくして私のSEOの人はそれがSEOに関する限りそれがそこに必要であるカテゴリセクションにそれを残すことを提案しました。
rel = prevとrel = nextを実装する簡単な方法はありますか)カテゴリページにのみタグ(?=など):www.website.com/category/category-nameそして他のすべての投稿タイプから削除しますか? (投稿、ページ、ホームページなど)
ありがとう、GIl
Rel = prevとrel = nextがページ付けされたアーカイブに使われているので、私があなたのSEOの男の説明に同意するかどうかは全くわかりません。
カテゴリは1つでもかまいませんが、ブログに複数のページが含まれている場合はそれも含まれます。
とにかく、これが私が現在使っているものです:
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
}
}
編集:start_post_rel_link
はもう使われていないと思います。
フックをtemplate_redirect
フックにラップできると思います。これはブラウザにコンテンツを送信する前に発生します。
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);
}
is_category 関数を試してください。結果をチェックする優先順位の高いアクションをwp_headに追加してから、上記の2つのステートメントを条件付きで実行して、リンクにRELを割り当てるアクションを削除することができます。
このメソッドがWPライフサイクルの早い段階で動作可能かどうかははっきりとはわかりませんが、失敗した場合は、_SERVERを使用してURLを取得し、カテゴリパターンをテストしてください。