2

Google のシバン '#!' を実装したサイトがあります。ajax クロールの構文。

https://developers.google.com/webmasters/ajax-crawling/docs/specificationで説明されているように、システムの両側が実装されています。

つまり、Ajax で作成されたページ ( http://avianguitars.ca/configurator/#!Sなど) の URL は、サーバー側でhttp://avianguitars.ca/configurator/? にキャッシュされた静的な HTML バージョンにマップされます。 _escaped_fragment_=S

Google には #! が表示されるはずです。構文を調べて、_escaped_fragment_ バージョンをクロールし、元のhttp://avianguitars.ca/configurator/#!S URL で Google に表示します。

サイトのサイトマップにhttp://avianguitars.ca/configurator/#!Sの形式の URL を追加しました。これは Google の開発者ツールから送信されますが、!# の URL はすべて無視されているようで、まだインデックスに登録されていません。

「shebanged」URL の別の例は http://avianguitars.ca/configurator/#!action=showline&lineid=46 で、これはhttp://avianguitars.ca/configurator/?_escaped_fragment_=action%3Dshowline%26lineid%3D46マップされます。

サイトマップ経由で送信されたその他の (Ajax 以外の) URL はすべて受け入れられます。また、一般的なクロールでもこれらの URL が検出されていると思います。

リンクのインデックス作成を妨げている、明らかに欠けているものはありますか?

4

2 に答える 2

1

_escaped_fragment パラメータを使用してページがリクエストされた場合は、HEAD に link rel=canonical タグを必ず出力してください。

したがって、特別なパラメーターを使用してページが要求された場合は、出力に次のように含めます。

<link rel="canonical" href="http://avianguitars.ca/configurator/#!action=showline&lineid=46"/>

完全にハッシュバン ベースのサイトを所有しており、完全にインデックス化されています (312 個の URL が送信され、309 個の URL がインデックス化されています)。あなたのサイトと私のサイトを比較したところ、これだけが欠けているようです。これがあなたの問題の解決策であるかどうかはわかりませんが、あなたのhtmlには表示されません。Googleドキュメントのどこかで読んだので、このタグを追加しましたが、今はもう見つけられないようです...

また、私のサイトにはこれが含まれていません:

<meta name="fragment" content="!" />

...しかし、それはインデックス作成を妨げませんでした。

また、Google サイトマップの URL では、_escaped_fragment 構文ではなく、hashbang 構文を使用する必要があります。引き続き問題が発生する場合は、Google ウェブマスター ツールにウェブサイトを登録して、問題が報告されているかどうかを確認してください。

https://www.google.com/webmasters/tools/

于 2014-10-29T14:33:16.727 に答える
1

はい、あなたは何かを逃しました。<meta name="fragment" content="!" />シバン URL が識別子フラグメントを使用していることを伝えるために追加する必要があります。

これにより、Google 側で詳細がわかります: https://developers.google.com/webmasters/ajax-crawling/docs/specification

于 2014-10-24T20:39:06.807 に答える