THE THORでカテゴリーなどのアーカイブページをnoindexにするカスタマイズ

THE THORでカテゴリーなどのアーカイブページをnoindexにするカスタマイズ

当サイトでは、WordPressテーマにTHE THOR(ザ・トール)を使用しています。

ここでは、当サイトで施しているカスタマイズのうち、

アーカイブページ(カテゴリー・タグ・日付等のアーカイブ)のnoindex対応

について解説しています。

アーカイブページのnoindex化について

アーカイブページはSEO対策としてnoindex化した方が望ましいという見解があります。

アーカイブページとは、ある条件をもとに1つ以上の投稿を集めて表示するページのことで、

  • カテゴリーアーカイブ
  • タグアーカイブ
  • 日付アーカイブ

などがあります。

noindex化した方が望ましいとする人の見解によれば、

・アーカイブページは品質が低い
・重複ページとして扱われる

といったことが主な理由のようです。

当サイトの管理人の見解としては、アーカイブページのnoindex対応は、基本的には、特にSEO対策として必要なものではない(検索順位に影響しない)と考えています。

しかし、これはあくまでも管理人の見解で、異なる見解もあるため、WordPressテーマには、noindexにするか否か任意に選択できる機能があった方が親切だと思います。

このようなことから、WordPressテーマの中には、これらのアーカイブページをindexにするかnoindexにするか、利用者が任意に選択できるようにしているものもありますが、THE THORでは、noindex化ができない仕様になっています。

そこで、ここでは、THE THORにおいてカテゴリーやタグ、日付などのアーカイブをnoindexにする手順を解説しています。

当サイトでも、SEOには影響がないと考えてはいるものの、少なくともGoogleに認識させるほどのページではないと考えているため、スッキリ整理をする意味でもアーカイブページによっては、noindex化しているものもあります。

カテゴリーなどのアーカイブページをnoindexにするカスタマイズ

アーカイブページの全てとTOPページから2ページ目以降を全てnoindex化

アーカイブページの全てとTOPページから2ページ目以降をnoindexにするためには、header.phpに以下のコードを追加します。

<?php if (is_paged()): ?>
<meta name="robots" content="noindex,follow">
<?php endif; ?>
<?php if (is_archive() && !is_paged()) :?>
<meta name="robots" content="noindex,follow">
<?php endif; ?>

<?php if (is_paged()): ?>は、現在のページが2ページ目以降かどうかを判定するコードです。

2ページ目以降は全てnoindexにします。

is_paged()の前に「!」をつけると1ページ目かどうか判定できます。

4行目の<?php if (is_archive() && !is_paged()) :?>は、アーカイブページで1ページ目かどうかを判定するコードです。

ここでは、3行目までで、2ページ目以降のページを全てnoindexとし、4行目から6行目までで、アーカイブページの1ページ目もnoindexとしています。

<?php if (is_archive() ) :?>
<meta name="robots" content="noindex,follow">
<?php endif; ?>

上記のようにアーカイブページは全てnoindexでも構いませんが、これだけだとTOPページ以降の2ページ目からはnoindex化されないので注意が必要です。

アーカイブページの1ページ目だけはindexさせる場合

カテゴリーページの1ページ目だけはindexさせる場合

同じように、他のアーカイブページは全てnoindexにするも、カテゴリーの1ページだけはindexさせるということもできます。

特にTHE THORの場合は、カテゴリーやタグのページも自由に装飾することができるため、noindexとせずにSEO対策として強いページに育てることができます。

カテゴリーアーカイブの1ページ目だけはindexとし、その他のアーカイブはnoindexとしたい場合は、header.phpに以下のコードを追加します。

<?php if (is_paged()): ?>
<meta name="robots" content="noindex,follow">
<?php endif; ?>
<?php if (is_archive() && is_category() == false && !is_paged()) :?>
<meta name="robots" content="noindex,follow" />
<?php endif; ?>

ここでは、3行目までで、2ページ目以降のページを全てnoindexとし、4行目から6行目までで、カテゴリー以外のアーカイブページの1ページ目もnoindexとしています。

タグページの1ページ目もindexさせる場合

同じように、タグページの1ページ目もindexさせる場合は、

&& is_tag() == falseというコードを追加すればOKです。

<?php if (is_paged()): ?>
<meta name="robots" content="noindex,follow">
<?php endif; ?>
<?php if (is_archive() && is_category() == false && is_tag() == false && !is_paged()) :?>
<meta name="robots" content="noindex,follow" />
<?php endif; ?>

これで、カテゴリーページとタグページの1ページ目だけはindexさせることができます。

これらのコードは、他のテーマにも有効です。

尚、この対応は、header.phpを直接扱いますので、テーマがバージョンアップするごとにコードを挿入してやる必要があります。必ずバックアップをとって修正するようにしましょう。

また、phpを扱ったりすると、WordPressのログイン画面で画面が真っ白になったり、Cookiesがブロックされました等のメッセージが表示されてログインできない状態になる場合があります。

その場合は下のページを参照してみて下さい。

参考:WordPressで「予期しない出力によりCookiesがブロックされました」と表示された時の対処方法

THE THORにおいては、他にもカスタマイズしている点があります。

興味のある方は下記ページを参照して下さい。

参考記事

現在、当サイトでは、WordPressテーマに「THE THOR(ザ・トール)」を使用しています。 THE THORは標準で多くの機能を搭載している分、設定項目が多く、使いこなせるようになるまで少し時間がかかります[…]

THE THORのカスタマイズまとめ
参考記事

このサイトは、THE THOR(ザ・トール)という有料のWordPressテーマを使用しています。 ここでは、THE THORの評判や評価はどうなのか、と思っている人に、筆者が実際にTHE THORを1年以上使って[…]

THE THORの評判と評価レビュー