パンダアップデートのリンク切れ対策、リンク切れを起こしていたのは2年前に消した存在しないページでした。

by 管理者
7月 28日 2012 年

数日前にパンダアップデート対策のため、大量の自サイト内におけるリンク切れを修正しました。

 

そのため、下のグラフを見ると、ガクッとリンク切れの件数が減っているので、「やった」と思ったのですが、新規にリンク切れを起こしているURLを見ると、存在しないはずのURLが表示されていました。

※ CGIプログラムそのものを削除したので、このURLは存在しないはず

 

 

どうなっているのか、頭を抱えていたところ、その答えがこんなところに書いてありました。

**** ココから****

404は、HTTPステータスコードの定義に従えば、「削除」ではなく「見つからなかった」を意味するので必ずしも意図的に消したことを示すものではありません。

不注意やトラブルなどが原因で、意図せずに404を返してしまうことがありえます。

そんなときの対処策として、即刻消してしまうのではなくしばらくはインデックスに残しておいて復活しやすいようにしておくということですね。

http://www.suzukikenichi.com/blog/why-dont-404-pages-disappear-immediately-from-search-results/

**** ここまで  ****

 

つまり、「ヒューマンエラーでページを消しちゃうかもしれないので、しばらくは復活できるようにインデックスから消すのは止めとくよ。」って感じでしょうか?

私としてはサッサと消して欲しいんだけど。

 

この場合、鈴木氏の書き込みを見ていくと、ステータスコード404ではなく410を返すと良さそうです。

**** ココから****

両者を区別するとはいえ微妙な違いにとどまっているようです。
削除したURLに対しては絶対的に410を返すべきということでなさそうですね。

とは言え削除したURLの再チェックの間隔を少しでも空けて、Googleにもう消えていることをアピールしたいなら410を返すという選択肢をとってもいいだろうとは考えます。

http://www.suzukikenichi.com/blog/google-is-now-treating-410s-slightly-differently-than-404s/

**** ここまで  ****

 

 

そこで早速410のコードを修正すべく、作業に取り掛かると・・・えっ!

リンク切れを起こしているURLは2年前の掲示板のテストで作成したテストデータでした。

しかもテスト直後に消しているので2年前からサイト上に存在しません。

何故そんなことが分るかというと、上に貼り付けた画像のURLの中に541とか549とかありますが、これは1ファイルに1,000件データを登録したら、新規レコードが作成されることをテストするために機械的に1,000件のレコードを作成したのですが、そのレコードの番号が表示されているからです。

当時、この存在しないURLの削除についてウェブマスターツールのヘルプを見ると、何もしなくてかまわないと書いてあるので、本当に何もしませんでした。

**** ココから****

「ページが見つかりません」エラーへの対処

一般に、404 エラーはそのサイトの Google でのランキングに影響を与えることはなく、エラーを無視してもかまいません。

http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=2409439 (リンク切れ)

 

**** ここまで  ****

 

さらに以下を見ると、ページが存在しなければ、いずれ消えるので心配ないと・・・

**** ココから****

Q: 404 エラーを起こしていたページへのリンクを修正しました。修正後、ウェブマスターツールからエラー表示が消えるまでにどのくらい時間がかかりますか? また、Google に表示の更新を依頼することはできますか?

A: 繰り返し 404 ステータスコードを返すページは、クロールされなくなりますので、ウェブマスターツール上のエラー表示もじきに消えるでしょう。エラー検出日の日付が更新されていなければ、このエラーが表示されている点について心配することはありません。

https://sites.google.com/site/webmasterhelpforum/ja/faq-webmastertools

 **** ここまで  ****

 

しかし、2年たった今でも消えるどころかウェブマスターツールでは404のエラー扱いのままでした。

cgiで動的に作ったページと静的なページで404の扱いが違うのでしょうか?

2年たってもこのままなので、.htaccessでステータスコード410を返すようにしました。

RewriteCond %{QUERY_STRING}  ^no=([0-9]+)&ctg=lf-sexy$
RewriteCond %{REQUEST_URI}   "/cgi/patio/read.cgi"
RewriteRule ^(.*)$           - [G]

RewriteCond %{QUERY_STRING}  ^mode=\w+
RewriteCond %{REQUEST_URI}   "/cgi/patio/read.cgi"
RewriteRule ^(.*)$           - [G]

 

さて、どのような結果になるでしょうか?

3~4日すれば結果が出ると思います。

コメント / トラックバック 3 件

  1. 石川 より:

    ペンギンアップデートに引っかかって、いろいろ検索していたときにこのサイトにたどりつきました。

    私も数年前に消したリンクがいまだに残っていて、これを完全に消したいと思い、410コードを返すのを実施してみました。これまではrobots.txtでクローラーをブロックしていたのですが、今回これを解放し、アクセスできるようにしています。

    ただ私の場合、このリンク切れのエラーが1000件程度あって、ウェブマスターツールにリンク切れのページが急激に増加しています、というメッセージが表示されるようになってしまい、心配になって再びrobots.txtでブロックをかけてしまいました。

    管理者様は、その後どういう結果になられたのか知りたいと思いまして、書き込みさせていただきました。
    もしよろしければ、教えていただけませんでしょうか。
    よろしくお願いいたします。

    • 管理者 より:

      私の状況ですが、サイト上に存在しないURLを410で返すように.htaccessの変更をした後、ウェブマスターツールのURLエラー「見つかりませんでした」に表示された275個のURLにチェックを入れて「修正済みとする」としました。
      すると、翌日に全ての275個のエラーはクリアされ、再度エラーになったURLの数が30個、その翌日に48個、さらに翌日に77個と累積していきました。・・・1日あたり30件くらい増えていく感じ
      また、エラーになったURLのレスポンスコードを見ると、404と410が入り混じっている状態でした。
      そして、その後しばらくの間、エラー件数が累積しないように毎日全てのURLを「修正済みとする」としてクリアしました。
      すると、エラーになったURLの数が23個、20個、20個、10個と減っていき、割と落ちた付いた感じになりました。
      この時点で、レスポンスコード410のURLは無く、2年前の200個以上あったサイト上に存在しないURLは検出されなくなりました。(目的達成)
      この対策をすると、410として認識されたURLは、1回目はエラーとして検出されるものの、そのURLを「修正済みとする」として登録すると、2回目はエラーとして検出されないようです。
      さらに、エラーになったURLを「修正済みとする」にしないで、そのまま放置して今日に至ります。
      エラーの数は19個、33個、41個、43個(現在)と推移しています。・・・ここらで頭打ち?
      このエラーになった43個のURLの大部分は、パンダアップデート対策で、内容の薄いページを削除したので、それがレスポンスコード404として検出されております。


      全てのエラーになったURLを「修正済みとする」にしたらいかがでしょうか?
      翌日にエラーの件数が0件にリセットされ、再度Not FoundになったURLのカウントが始まりますが、それと同時に410扱いのURLは2回目の検出からカウントされなくなるみたいなので、エラーの件数は大幅に減ると思います。

      >ただ私の場合、このリンク切れのエラーが1000件程度あって、ウェブマスターツールにリンク切れのページが急激に増加しています、というメッセージが
      >表示されるようになってしまい、心配になって再びrobots.txtでブロックをかけてしまいました。

      • 石川 より:

        詳細な説明をしていただきまして、どうもありがとうございました。

        早速、再度robots.txtを開放して、ウェブマスターツールのほうでエラーになったURLを「修正済みとする」にしてみました。
        ご説明していただいたとおり、次の日にはエラーが0件にリセットされるのが確認できました。
        今までrobots.txtでブロックしていた分が、まだ検出されてくるとは思いますが、修正済みとして対応することで解決しそうです。
        なんだか大きく前進できた感じがします。とても安心しました。

        この度はご助言いただき、どうもありがとうございました。
        また何かありましたらよろしくお願いいたします。

この記事へのトラックバックURL