work.log

元エンジニアの備忘録的ブログ

カテゴリやタグを個別にnoindex化できるWordPressプラグイン

投稿:

WordPress での SEO 対策を目的とした、カテゴリやタグを個別にnoindex化するプラグインを作成してみたので公開します。

サイトによってはカテゴリやタグも重要なページとなり得ますが、中には不要な物もあると思うので、それを細かく noindex 化して必要な物のみを検索エンジンにインデックスきるようにしようという代物です。

全体を noindex 化できるプラグインは既にありますが、個別に設定できるのが見つけられなかったので作ってみた感じです。

他には投稿、固定ページを noindex、nofollow 化する機能も付けているので下記でざっくりと使い方を書いておきます。

プラグインの概要

機能

このプラグインは下記の機能を提供します。

  • カテゴリやタグを個別にnoindex化する機能 (カスタムタクソノミー含む)
  • 投稿、固定ページを個別にnoindex・nofollow化する機能
  • 各種アーカイブページ全体をnoindex化する機能 (カスタムタクソノミー含む)

ダウンロード

WordPress の公式プラグインではないのでインストールは下記ファイルをダウンロードして、管理画面から手動インストールする必要があります。またこのプラグインは WordPress 4.4.0 以降で動作します。

ダウンロードリンク
wp-custom-noindex-nofollow.zip

インストールすると「WP Custom Noindex Nofollow」という名前のプラグインが一覧に追加されるのでこれを有効化すると準備が完了です。

プラグインの使い方

全体設定

WordPress 管理画面のメニュー欄に「Noindex Nofollow」という項目が追加されるので、これをクリックするとプラグインの設定ページが開きます。

ここは全体の設定をするページで、「noindex 化するページ」の各種項目にチェックを入れて設定を反映させると、それに該当するアーカイブページ全体が noindex 化されます。

また、個別設定よりも全体設定の方が優先されるので、個別に設定したい場合にはカテゴリやタグのチェックを外してください。

デフォルトでは下記ページを noindex 化します。

  • 日付アーカイブページ
  • 投稿者アーカイブ
  • 2ページ目以降の分割ページ
  • 404ページ

カスタムタクソノミーを使っている場合

カスタムタクソノミーを使っている場合はこのように登録されている一覧が追加されます。

設定の削除メニュー

右の設定削除欄はプラグインの設定をそれぞれ全削除するメニューとなっていて、全て元に戻す場合やプラグインをアンインストールする場合に実行してください。

詳細は後述しますがこのプラグインは WordPress のデータベースにデータを書き込むので、そのクリーンアップ機能です。残っていても問題は無いですがプラグインを使わない場合はこのデータがゴミになるだけなのでその場合は削除実行を推奨します。

カテゴリやタグの個別設定

プラグインを有効化するとカテゴリやタグの編集ページに画像赤枠の項目が追加されるので、noindex 化したい物があればここにチェックを入れて設定します。

解除する場合はチェックを外して更新ボタンを押してください。

投稿、固定ページの個別設定

先程と同様に投稿、固定ページの編集ページにも画像赤枠のメニューが追加されているので、必要に応じて noindex もしくは nofollow を設定します。

なお、現在の所カスタム投稿タイプには未対応です。

設定後の動作確認について

このプラグインは検索インデックスに影響を与えるため、設定後は想定通りにプラグインが動作しているかを良く確認してください。

確認方法は HTML ソースを見て noindex、nofollow の meta タグを目視するか、ブラウザの拡張機能を使って確認するのをオススメします。

Chrome の物が使いやすかったのでリンクを貼っておきます。

作成時に一通り動作確認はしていますが、もし何か不具合があれば教えてください。

プラグインの設定データ保存先

このプラグインの設定は WordPress の下記テーブルにそれぞれ保存されます。

  • wp_options (全体設定)
  • wp_termmeta (タクソノミー個別設定)
  • wp_postmeta (投稿個別設定)

また、テーブルの中にはこのようなデータを登録しています。

wp_options

wp_options には 1 レコードのみ追加します。option_name に ‘wcnn_options’ を使っています。

この設定のみはプラグインアンインストール時に一緒に削除されます。

mysql> select * from wp_options where option_name = 'wcnn_options';
+-----------+--------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+
| option_id | option_name  | option_value                                                                                                                                                     | autoload |
+-----------+--------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+
|     22156 | wcnn_options | a:6:{s:14:"noindex_search";b:0;s:16:"noindex_category";b:0;s:16:"noindex_post_tag";b:0;s:12:"noindex_date";b:1;s:13:"noindex_paged";b:1;s:11:"noindex_404";b:1;} | yes      |
+-----------+--------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+

wp_termmeta

wp_termmeta へは各種タクソノミーの個別設定をする度に 1 レコードずつデータを追加します。

このデータの meta_key は全て ‘wcnn’ で登録されています。

mysql> select * from wp_termmeta where meta_key = 'wcnn';
+---------+---------+----------+------------------------------------+
| meta_id | term_id | meta_key | meta_value                         |
+---------+---------+----------+------------------------------------+
|       1 |     154 | wcnn     | a:1:{s:16:"noindex_archives";b:1;} |
+---------+---------+----------+------------------------------------+

wp_postmeta

wp_postmeta へは投稿、固定ページの個別設定をする度に 1 レコードずつデータを追加します。

このデータの meta_key は全て ‘wcnn’ で登録されています。

mysql> select * from wp_postmeta where meta_key = 'wcnn';
+---------+---------+----------+---------------------------------------------------------+
| meta_id | post_id | meta_key | meta_value                                              |
+---------+---------+----------+---------------------------------------------------------+
|    7461 |    3010 | wcnn     | a:2:{s:12:"noindex_post";b:1;s:13:"nofollow_post";b:1;} |
+---------+---------+----------+---------------------------------------------------------+

以上がこのプラグインの説明書きです。

完成後に気づきましたが「投稿者アーカイブ」の設定を忘れていたので、そのうち付け加えようと思います。

2017-02-24追記: プラグインをアップデートし投稿者アーカイブの noindex 化機能も付け加えました。

関連記事

コメント

  1. […] その他のテーマで、個別投稿ページに「noindexを指定するところがない」ようでしたら、このページより「WP Custom Noindex Nofollow」というプラグインをダウンロードして、インストール・有 […]

  2. y.i より:

    「有効」にチェックを入れないと、warningと注意書きがでてきます。
    どのように対処したらよいでしょうか

    • miura より:

      確認ですがこれはプラグイン管理画面の「noindex化するページ」の設定の事を指していますでしょうか?

      もし、全体設定が不要の場合はその右にある「設定削除」->「全体設定」にチェックをいれ削除ボタンを押してください。

      そうすれば、アーカイブページ全体はnoindex化されず、全て個別の設定が有効となります。

コメントを残す

おすすめのVPSサーバ

  • OSが選べる
  • VPS同士でLANが組める
  • 複数台構成向き

このブログで使っています。

  • 転送量が多いサービスに
  • 借りてるのは3年間一度もdown無し!

よく見られている記事

  • 本日
  • 週間
  • 月間