noindexを任意のページに出力する

SEOでは欠かせないmetaタグのnoindex
WordPressでは通常の静的HTMLサイトと違いテンプレートから一律にヘッダー情報が読み込まれることから、ページごとにnoindexを付けるのは面倒です。

「All in One SEO Pack」や「WordPress SEO by Yoast」などのプラグインでも可能ですが、これらを使わずより柔軟、かつ記事登校時に手間をかけないようnoindexタグを任意のページで出力させる方法を紹介します。

IF文を使った条件分岐で必要なページにmetaタグを出力

ヘッダーテンプレート(header.php)に加えることで任意にnoindexタグを生成できます。
条件を指定すればいろんなページに自動出力できますので、いくつかパターンを用意しておきます。
なお、今回はnofollow属性はつけていませんが、用途に応じて変更ください。

カスタムフィールドで指定したページ

記事投稿時にnoindexという名前のカスタムフィールドを作成して値を入力します。
このカスタムフィールドに入力があれば、noindexを出力するというシンプルなものです。
とくに値は指定していませんので、値は1でも0でもnoindexでも、適当なもので構いません。

日付アーカイブ・タグページ・検索ページ

日付アーカイブ・タグページ・検索ページには無条件でnoindexタグを出力します。
また、add_actionを用いてfunctions.phpで定義することもできます。

指定カテゴリーに属するページ

カテゴリー1とカテゴリー2に属する記事にnoindexタグを出力します。
ちなみに&& is_single()という条件を外すとカテゴリーページにもnoindexタグが出力されます。

指定カテゴリーに属するページ+カスタムフィールドで指定したページ

noindexタグ付与の実践事例

参考までにカスタムフィールドを使わず、ある程度の決められたルールでnoindexタグを自動付与する実用例パターンを付け加えておきます。

カテゴリーを含むアーカイブ系・タグページ・検索結果・ページの2ページ目以降

カテゴリー以外のアーカイブ系・タグページ・検索結果・ページの2ページ目以降、および、指定の固定・カテゴリー

※既存記事も一括で処理できますし、投稿する際に何も考えなくてよいので、カテゴリーの条件分岐でnoindexタグを自動出力する形は楽かなと思います。
このあたりは既存のプラグインではなかなか難しいところです。

フォローする

WordPressとはなにかもう一度おさらいしてみよう!

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


− 六 = 2

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">