web-dev-qa-db-ja.com

_escaped_fragment_に到達したきれいなURLにユーザーをリダイレクトする最良の方法は?

私はAJAXサイトで作業しており、インデックスを作成するために各ページの_escape_fragment_バージョンを作成することにより、GoogleのAJAX勧告を正常に実装しました。

したがって、各ページには2つのURLがあります。

  • pretty:example.com#!blog
  • ugい:example.com?_escaped_fragment_=blog

しかし、私の分析では、一部のユーザーが「lyい」URL経由でサイトにアクセスし、サイトのインデックス作成機能に影響を与えずにきれいなURLにリダイレクトするクリーンな方法を探していることに気付きました。

頭の中で301リダイレクトを使用することを検討しましたが、Googlebotがそれに追従しようとして無限ループに陥ることを恐れています。

また、Googlebotが実行しないJavaScriptリダイレクトを使用することを検討しましたが、Googleがこれをクローキングとして解釈し、Webサイトにペナルティを科すことを恐れています。

何らかの理由で実際のユーザーがそのような方法でサイトに到着した場合に、実際のユーザーをいURLからリダイレクトするための、適切でクリーンで受け入れ可能な方法はありますか?

6
Ryan

これを行う適切な方法は、ページでrel = canonical属性を使用することです。これにより、コンテンツの1つのソースURLが識別されます。

例えば:

<link rel="canonical" href="http://blog.example.com/dresses/green-dresses-are-awesome" />

Googleは、この問題を https://support.google.com/webmasters/answer/139066?hl=en の記事で確認しています。

基本的に、複数のURLを想定していることを説明していますが、ウェブマスターが特定のページに最適なURLを示すことを好むでしょう。

この時点でリダイレクトする必要はありませんが、審美的な理由である場合は、302または303リダイレクトなどの非永続的なリダイレクトを使用してください。

2
Terry

また、Googlebotが実行しないJavaScriptリダイレクトを使用することを検討しましたが、Googleがこれをクローキングとして解釈し、Webサイトにペナルティを科すことを恐れています。

引き続きJavaScriptリダイレクトアプローチを使用します。私はそれがクローキングと見なされるとは思わない:

  • JavaScriptをすべてのユーザーエージェントに表示します(クローキングはGooglebotだけのために特別なことをしています)。
  • 同じコンテンツがリダイレクトのターゲットに表示されます(だから、なにもしないでください)。
0

両方のページに標準URLがあるようにきれいなURLを設定してください

例えばヘッダー内のタグ

すると、Googleは両方のページを同じインデックスとして扱い、Nice URLのページのみを表示し、すべてのNiceリンクジュースを結合するため、実際に心配する必要はありません。

https://support.google.com/webmasters/answer/139066?hl=en をご覧ください。

エンドユーザーにとっては、実際の方法は301だけです。301を使用する場合、ifいものからきれいなものにリダイレクトするときにループが発生することはありません。

0
TheAlbear