Google Search Console(グーグルサーチコンソールは通称、もしくは愛称でサチコというらしい)のインデックス・ステータスの数値が突然、急上昇していることを発見した。下図のとおり、11/6の933から1週間後の11/13には14,794へ異常に跳ね上がっているのだ。

Google Search Consoleのグーグルインデックス
Google Search Consoleのインデックス・ステータス

当サイトの実際の記事数は、約800。
WordPressで構築したサイトなので、カテゴリーやタグページ、アーカイブなどがインデックスされたとしても、せいぜい900ページもインデックスされていたら御の字というところ。

それが14,794もインデックスが存在するというのは異常だ。しかも、1週間で激増しているのは何かのトラブルが発生しているとしか考えられない。さあ大変!
グーグルで検索して、可能性として浮かび上がった重複インデックスの問題を順を追ってチェックしてみることにした。

まずは、現状確認としてグーグル検索で、site:8263.jpと入力して調べてみると、たしかに15,700件が存在していることが分かった。下図が検索結果のキャプチャ。

Googleのsite:URLの検索結果
グーグルのsite:8263.jpの検索結果

カレンダーページで異常が発生していた

続いて、重複インデックスされているページを特定するために、8263.jpドメイン内のカテゴリー別、ページ別に検索していったところ、なんと、
site:8263.jp/e-church/calendarで14,400ものページがインデックスされているではないか!(検索結果画面をキャプチャしなかったのが悔やまれる。)

つまり、【2017年版】今週の聖書と説教へのリンク付きカトリックカレンダー/典礼暦ページが日ごと、週ごと、月ごとなどなどで、14,000余りものページが重複してインデックスされていたのだ。パラメータ処理の失敗か?

なぜ、カレンダーページで14,400ものページが増産されたのか、またそれらをどのように処理したらよいのか?

原因特定は意外にも早々とできたものの、その後の対策がまた難題。

インデックスステータスの異常に気づいてからまる3日を費やし、四苦八苦で対応したことの顛末を以下に書き留めておきたい。

All in One Event Calendarのパラメータ対策が問題

robots.txtの設定ミスが原因だった

カレンダーページは、All in One Event Calendarというプラグインを使っているのだが、どうやらその設定でミスを犯していたらしい。

オールインワンイベント・カレンダー・プラグインを導入した際、パラメータ付きURLをインデックスしないようにrobots.txtに書いたはずなのだが、確認してみると、robots.txtは/echurch(赤い字の部分)が落ちてしまっていた。
これではロボットに適切な指示を与えることはできない。グーグルのrobots.txtテスターでチェックしてみると、/e-churchという赤字がない状態では、/calendar/action~posterboard/などは、「許可されています」の判定になってしまうのだ。(泣き)

Disallow: /e-church/calendar/action~posterboard/
Disallow: /e-church/calendar/action~agenda/
Disallow: /e-church/calendar/action~oneday/
Disallow: /e-church/calendar/action~month/
Disallow: /e-church/calendar/action~week/
Disallow: /e-church/calendar/action~stream/
Disallow: /e-church/calendar/action~undefined/
Disallow: /e-church/calendar/action~http:/

記憶をたどると、今年3月のプラグイン導入当初、カレンダーページは第1階層に置いていたので、赤い字の部分はなくて良かった。ところが、その後のサイト構成の変更でカレンダーページを第2階層(e-churchの下)に移した際に、robots.txtを書き直すことを忘れてしまっていたのがミスの始まりだ。

しかし、それにしても、カレンダーページを第2階層に移したのは確か6月のこと。なぜ、今頃になって、突然インデックスステータスが急上昇したのか。謎は残ったままだ。

もしかしたら、グーグルの検索結果ではずっと前から14,000ページが上がっていたのに、インデックスステータスだけが何らかの原因で後追いでグラフに反映しただけのことかもしれない。

今は真相は分からないままではあるが、インデックスステータスのお陰で異常に気付いたわけだから感謝するほかない。

重複ページ対策は2段階で

重複ページの実態がが分かったら、次はその対策だ。
調べてみると、重複ページ対策は2段階で行う必要があった。まずは、膨大な数の重複ページの削除。その次にクローラーにインデックスされないように、ロボッツテキストによるDisallow:設定だ。

GoogleインデックスのURL削除の手順

それでは、重複ページの削除から。
サチコ(サーチコンソール)のGoogleインデックスでURLの削除申請を行うのだが、初めての経験でドキドキハラハラ。14,000余りのページを削除申請するにはどうしたものか。

URLを一つずつ申請していたら何年もかかりそうなので、良い方法はないかヒントを求めて検索してみると、信頼できる方のページに「URL削除ツールで何千何万もの削除依頼を送信してはダメ」『ディレクトリレベルで検討すべし』との記述があったので、それを手がかりにURL削除ツールにトライ。

Google Search ConsoleのGoogleインデックス>URLの削除>一時的に非表示にするボタンをクリック>非表示にするURLを入力して続行ボタンを押すと下図のように一番下に「一時的にディレクトリを非表示にする」があった。

ディレクトリの削除
ディレクトリの削除

画面では、「一時的にディレクトリを非表示にする」となっているが、リクエストを送信ボタンを押して、約3時間後確認してみたら、グーグルで処理されたことを示す、以下のように「ディレクトリの削除」と表示されていた。

ディレクトリ削除処理後の画面
ディレクトリ削除処理後の画面

4つのディレクトリ削除後、念のためグーグルで、site:8263.jp/e-church/calendarを検索したところ、これまであった14,400もの重複ページは現れず、目指す一つのページだけが現れた。やれやれ!

重複ページを削除した後の検索結果
重複ページを削除した後の検索結果

再インデックスさせないように、サイト設定を適切に

ディレクトリごと削除したとはいえ、実際には90日間の非表示であって、サイトの設定が元のままではボットがクロールして再インデックスするので、再び検索結果に表示されてしまうとか。

robots.txtでクロールをブロック

対策としては検索に表示されたくない不必要なページはサイトから削除する。あるいはページにnoindexタグを入れるか、robots.txtでブロックするのが良いとのことなので、カレンダーページではインデックスさせたくないディレクトリを下記のとおり確実にrobots.txtに書いてアップした。

Disallow: /e-church/calendar/action~posterboard/
Disallow: /e-church/calendar/action~agenda/
Disallow: /e-church/calendar/action~oneday/
Disallow: /e-church/calendar/action~month/
Disallow: /e-church/calendar/action~week/
Disallow: /e-church/calendar/action~stream/
Disallow: /e-church/calendar/action~undefined/
Disallow: /e-church/calendar/action~http:/

この設定で、カレンダー以下のディレクトリは確実にブロックできたはず!

14,000もの重複コンテンツはSEOにも大きな悪影響があったのだろうと思うと、実に悔しい。しかし、今回の気づきと対策でいずれ挽回できるのはないか!そう思えば、気も楽になる。

果たして、この対策で万全なのかどうか?
独学のSEO知識では不安だらけ!
しばらく様子を見ながら待つしかない。