1

Googlebot が jQuery 内をクロールして、存在しない /a で終わるリンクを作成し、404 エラーとして報告しているようです。

http://www.mySite.com/a

このサイトは、W3C でグリーンを検証しています。

「/a」はjQuery自体の内部から来ています。 編集: 以下は、jQuery v1.5 および 1.5.2 内のコード行です (私が調べたのは 2 つだけです)。

<a href='/a' style='color:red;float:left;opacity:.55;'>a</a>

今のところ、手に負えなくなる前にhtaccess内でリダイレクトしています...

Redirect 301   /a   http://www.mysite.com

Googlebot が jQuery 内に入る理由/方法を知っている人はいますか?


編集:

それ以来、robots.txt ファイルで jQuery ファイルをブロックしましたが、Googlebot が外部の JavaScript ファイルに入るとはまったく予想していませんでした。


編集2:

以下は、私が Google Groups で開始したスレッドで、この問題に関する Google の従業員 JohnMu からの応答です。やっぱり301にしようかな。

ジョンムー

Google 社員

午前4時39分

こんにちは、みんな

これに関する簡単なメモ -- はい、多くのサイトの "/a" リンクを jQuery JavaScript から取得しています。ただし、通常は問題ありません。"/a" が 404 として表示される場合は問題ありません。他の 404-URL と同様に、ウェブマスター ツールではクロール エラーとしてリストされますが、これもクロール、インデックス作成、またはランキングの問題にはなりません。ウェブマスター ツールでクロール エラーが発生しないようにしたい場合は、その URL をホームページに 301 リダイレクトすることをお勧めします (URL を許可しないと、クロール エラーとしても表示されます。次のようにリストされます)。 robots.txt で許可されていない URL)。

また、jQuery ファイルのクロールを明示的に禁止しないこともお勧めします。通常、独自にインデックスを作成することはありませんが、サイトの優れたインスタント プレビューを生成するためにアクセスする必要がある場合があります。

要約すると、ウェブマスター ツールのクロール エラーに「/a」が表示されている場合は、そのままにしておくことができます。問題は発生しません。そこで削除したい場合は、ホームページへの 301 リダイレクトを行うことができます。

乾杯

ジョン

4

1 に答える 1

2

jQuery はそれをテスト テンプレートとして使用して、ブラウザの機能サポートを判断しているようです。ただし、これが Google ボットに表示される理由はわかりません。通常、Web クローラーが Javascript を実行しているとは知りませんでした。これは、実際に Web ブラウザーとして機能していることを意味します (どちらのブラウザーでしょうか?)。ありそうもない。

(編集 - これを参照してください: Web クローラーが javascript を処理する方法- Google がスクリプトからいくつかのものを取得しようとする可能性があることを示します。jQuery の一部である何かを認識するようにプログラムされていないことに驚きました。インクルードに非標準の名前を使用しますか?)

または、jQuery インクルードのヘッダーが正しくない可能性はありますか? HTML MIME タイプで提供されている可能性があります。ほとんどのブラウザは、インクルードによってタイプも設定されるため、おそらく気にしないでしょうscriptが、ボットが解析することを決定する可能性があります。

いずれにせよ、リダイレクトを設定するのではなく、単に使用してみませんrobots.txtか? 次の行を追加します。

Disallow: /a

jQuery を修正することもできます。リンクを少し難読化すると、おそらくうまくいくでしょう。たとえば、問題のある行を変更します。

  div.innerHTML = "   <link/><table></table><"+"a hr"+"ef='/a'"
  +" style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";

Google が実際に文字列の連結を解析できるほどスマートな場合は、私には衝撃的ですが、さらに進んで "href" のようなものを変数に代入し、それを連結することができます。彼らの js スキャナーがそこまで行くとは信じられません。それは基本的に、それを実行しようとするようなものです。

于 2011-04-21T21:00:37.223 に答える