0

最近、Google ウェブマスター コンソールで "hreflang no return tags" エラーの数が増えており、何が欠けているのかわかりません。私のサイトは www.example.com で、www.example.com/#!/xx のようにさまざまな言語でアクセスできます。ここで、xx は次のオプションのいずれかです: it、ro、ru、pt、en、es、fr .

私のコードスニペットは次のようになります:

<link view-head rel="alternate" hreflang="x-default" href="{{domain_absolute}}#!/{{mainVars.currentLanguage}}/--about-us" />
<link view-head rel="alternate" hreflang="es" href="{{domain_absolute}}#!/es/--about-us" />
<link view-head rel="alternate" hreflang="pt" href="{{domain_absolute}}#!/pt/--about-us" />
<link view-head rel="alternate" hreflang="ro" href="{{domain_absolute}}#!/ro/--about-us" />
<link view-head rel="alternate" hreflang="ru" href="{{domain_absolute}}#!/ru/--about-us" />
<link view-head rel="alternate" hreflang="en" href="{{domain_absolute}}#!/en/--about-us" />
<link view-head rel="alternate" hreflang="it" href="{{domain_absolute}}#!/it/--about-us" />
<link view-head rel="alternate" hreflang="fr" href="{{domain_absolute}}#!/fr/--about-us" />

そして、Googleから取得したエラーは次のとおりです。

元の URL : #!/en/some-document

代替 URL: http://www.example.com/?_escaped_fragment_=/enおよびhttp://www.example.com/?_escaped_fragment_=/en/some-document - リターン タグなし

サポートされているすべての言語で同じエラーが発生します。

私は何を間違っていますか?

4

2 に答える 2

0

# は特殊文字です。# の後の URL はすべて無視されます。

#! は特殊なケースです。#! その後、Google はそれをシグナルとして扱い、AJAX クロール用に別の URL に変換します。この「機能」は非推奨です。そして、あなたの URL 構造は、#! を使用していないことを示しています。とにかくこのように。

つまり、# を使用しないように URL を変更してください。すべての言語に独自の URL を付与します。

于 2016-06-15T21:34:21.053 に答える
0

非推奨ですが、Google は #! URL をエスケープされたフラグメント バージョンに変換します。Google は URL の /?_escaped_fragment_ バージョンでリターンが見つからないと言っているので、リクエストに応答するように URL を書き換えたときに HREFLang 要素が欠落していると言っています。

http://www.example.com/?_escaped_fragment_=/en/some-documentでソースを表示し、スクリーン キャプチャに表示されている HREFLang 文字列が表示されない場合は、それが問題です。両方のバージョンにそれがあることを確認し、はい、URL のエスケープされたフラグメント バージョンを含めるためにカバーする必要があり、そのエラーはなくなります。

国と言語の組み合わせが 5 つを超えるサイトに対して私が使用する代替手段は、XML サイト マップを使用して、例外フラグメント バージョンを送信することです。

于 2016-06-16T19:04:09.447 に答える