カテゴリ指定で特定の記事をnoindex化する方法をWordPressで実装

特定の記事をワンクリックで簡単にnoindex化できたらうれしいですよね。
WordPressでnoindex化をしようとすると記事個別に埋め込んでいったりSEOのプラグインをインストールして1記事ずつnoindex化していったりする必要があります。
今までは1記事ずつ処理していくのは非常に手間なので、まとめて非表示にしていました。

先日、サキさんが「特定の記事をワンクリックでnoindex化する方法を作ってもらいました(作った、じゃないよ)」という記事を投稿されていました。
かいつまんで言うと、はてなブログでカテゴリ指定をするとnoindex化できるという内容です。

「はてなブログでできるならWordPressでもできるでしょ。」
と考え、実際にWordPressで実装してみました。

設定方法

まずは投稿記事にnoindexを割り当てるカテゴリを作ります。
今回は、過去記事というカテゴリ名で作ってみました。

Noindex001

次に作成したカテゴリ名のところにマウスカーソルを移動します。
すると、表示されるURLの中に「category&tag _ID=XXX」と表示される部分があるのでその数字を記録します。

Noindex002

下のXXXとなっているところに記録したIDと置き換えて、追記します。
追記先はどこでも良いですが、従来のnoindexの表示位置である<header>内にある方が望ましいでしょう。
ハミングバードではheader.phpというファイルがありますが他のテーマではない場合もあります。
どうしても見つからない場合はfunction.phpに記載しても動きます。

動作確認

実際にうまく動作したか確認していきましょう。
ちなみにちゃんと設定が機能しているかはページのソースを表示すれば確認することができますが、Chromeの拡張機能である「NoFollow」を使えばすぐに確認することができます。

カテゴリが「元のカテゴリ」のみの場合

まずは設定を反映する前の状態を確認します。
こちらの記事では「グルメ」というカテゴリを設定しています。
記事の右上にも「グルメ」と表示されていますね。

Noindex003

ソースの表示をして「noindex」で検索してもこのように表示されており、noindexが適用されていないことがわかります。

また拡張機能であるNoFollowも無反応です。

Noindex009

カテゴリを「過去記事」のみにした場合

次にカテゴリを「グルメ」から「過去記事」に変更してみました。
この場合は、記事の右上の表示が「過去記事」になっていますね。

Noindex004

ページのソースを表示した場合にもnoindexが適用されているのがわかります。

Noindex010

NoFollowもこのように反応しており、noindexが適用されているのがこちらでも確認できますね。

Noindex005

カテゴリを「元のカテゴリ + 過去記事」にした場合

最後に元々適用されていたカテゴリである「グルメ」と「過去記事」の両カテゴリを適用してみました。
ハミングバードの場合、右上に表示されるカテゴリは1つだけなのでグルメが表示されています。

Noindex006

しかし記事下にあるカテゴリとタグの表示の中では、このように「グルメ」も「過去記事」も適用されていることが確認できました。

Noindex007

NoFollowで確認した結果、こちらもnoindexが適用されており、元のカテゴリとnoindex用の両カテゴリを適用した場合でもnoindexが付与可能であることがわかりました。

Noindex008

今日のまとめ

今までnoindexを適用しようとすると1記事ずつ適用しなければならず非常に手間だったのであまり読まれていない記事や評価を下げそうな記事はすべて削除していました。
しかし、個人的には思い入れがあるけど文字数が増やせそうにない記事や記録的な記事もあったのでなんとか残せないかなと考えていたところ、このような形で残すことができるようになりました。

カテゴリのIDさえわかれば指定したカテゴリ全体をnoindexにすることができるので、既存のカテゴリにも適用可能です。
特化ブログとして一時的に運営方針を変えたいときなどにも活用してみてはいかがでしょうか。