WordPressのタグアーカイブにnoindexを設定する方法

WordPressのタグアーカイブにnoindexを設定する方法

Posted at September 25,2014 12:55 AM
Tag:[SEO, Tag, WordPress]

WordPressのタグアーカイブにnoindexを設定する方法を紹介します。

1.はじめに

WordPressで作ったサイトには、デフォルト設定で下記のmeta要素が各ページに表示され、検索エンジンにインデックスされないようになっているようです。

<meta name='robots' content='noindex,follow' />

検索エンジンにインデックスされるようにするには、管理画面の「設定」→「表示設定」にある「検索エンジンがサイトをインデックスしないようにする」のチェックを外して「変更を保存」をクリックします。

検索エンジンがサイトをインデックスしないようにする

これで上記のmeta要素が表示されなくなり、各ページがインデックス対象となります。

ちなみに、上記の制御はdefault-filters.phpに

add_action( 'wp_head', 'noindex', 1 );

が仕込まれており、noindex()は、general-template.phpに設定がありました。

function noindex() {
    // If the blog is not public, tell robots to go away.
    if ( '0' == get_option('blog_public') )
        wp_no_robots();
}
function wp_no_robots() {
    echo "<meta name='robots' content='noindex,follow' />\n";
}

get_option()のblog_publicはさきほどの設定項目のname属性になります。

話を戻しますが、チェックを外すとタグアーカイブなど、インデックスされることを期待しないページもインデックス対象になってしまいます。

記事やカテゴリのページでnoindexを設定する方法はよくみかけるのですが、タグアーカイブでnoindexを設定する方法がヒットしなかったので、このエントリーで紹介しておきます。

2.タグアーカイブにnoindexを設定する

タグアーカイブのクエリーパラメータには「tag=検索文字列」が付与されるので、次のようなコードをヘッダー (header.php)に付与すればよいと思います。

<?php if ( $_GET['tag'] ) { ?>
<meta name="robots" content="noindex,follow" />
<?php } ?>	

3.注意事項

robots.txtを使ってtag=パラメータをはじく手もありますが、タグアーカイブすでにインデックスされている可能性がある場合、robots.txtでブロックすると、インデックス済のページがいつまでたっても削除されないため、2項の手段で削除することが望ましいです。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)