とある事情で運営していたサイトの1つを閉鎖し、出来れば早急にGoogleで検索できないようにしたい(Googleインデックス削除)という案件があって対応したのでそのまとめ。試した結果、以下の手順でやると割とすんなりGoogleのインデックスから削除してもらえた。
- 削除したいサイトが「410 Gone」を返すようにする
- Googleウェブマスター ツール「古いコンテンツの削除」からコンテンツの削除を申請する
1. 削除したいサイトが「410 Gone」を返すようにする
例えば.htaccessファイルにこう記述すると、実現できます。
RewriteEngine On
RewriteRule .* - [G]
ページが存在しない場合のHTTPステータスといえば「404 Page Not Found」が有名ですが、この場合は一時的にアクセスできないとか、URLが変更になったとか言う場合も含みます。一方「410 Gone」の方はそのページが恒久的に削除されたことを意味し、Googleのインデックスからも割と早く削除されるようです。
参考サイト
ウェブページを完全に削除したときは404よりも410のHTTPステータスコードを返すといい | 海外SEO情報ブログASCII.jp:[SEO] Google 404 Not found と 410 Gone の取り扱いの違い
2. Googleウェブマスターツール「古いコンテンツの削除」からコンテンツの削除を申請する
HTTPステータス「410 Gone」を返していれば、そのうちGoogleのインデックスから削除されますが、なるべく早く削除したい場合には手動で削除リクエストを送るのが有効です。具体的な手順は、以下の通り。- 「ウェブマスターツール」の「古いコンテンツの削除」に移動します
- 「古いコンテンツの URL を入力してください」ボックスに、ページの URL を貼り付けます。
- 「削除をリクエスト」をクリックします。
- 「このコンテンツは存在しません」というメッセージが表示されたら、「削除をリクエスト」をクリックします。
ウェブマスターツールは本来、自分が管理しているサイトの操作を行うツールであり、事前にサイトの登録が必要ですが、削除リクエストを送ったページが確かに削除されている(1で書いた「410 Gone」を返すので十分)のであれば、リクエストを受理してもらえ、実際に削除されます。
削除されるスピードは早くて申請から1日程度。すぐに削除してくれるようなシステムではありませんが、削除されると「削除済み」と表示されるので状況を把握出来ます。
ただこの方法には欠点もあって、ブログのように削除するページが多数ある場合、削除するページを1つずつ申請しなくてはいけないと言うことです。これが相当にめんどい。Googleでsite内検索をして出てきたページを片っ端から申請したのですけど、しばらく更新していれば総ページ数200とか普通なわけで、面倒なことこの上ない。「http://hoge.com/*」とかでまとめて削除してくれると良いのになあと思いつつ、インデックスを削除するってのはそれだけ例外処理だってことなんだろうなと思いつつ。トップページなど優先度の高いページを申請して、あとは自然に削除されるのを待つのがいいのかも。
何か他に良い方法があったら教えてください。