web-dev-qa-db-ja.com

URLエンコードは重複コンテンツを作成しますか?

SEOの専門家が私のサイトをテストしていて、URLに特殊文字:が含まれていることに気付きました。グーグルは:を含むURLを:%3Aの2つの別々のURLとして解釈するため、重複したコンテンツが作成されると彼は言いました。彼は正しいですか?

6
gong

これはあなたの「SEOエキスパート」からの嘘/誤解であると思われます(そのような役割はIMOには存在しません)。本質的に%3A:はまったく同じものであり、1つは単にエンコードされ、まったく同じことを意味します。URLを読み取るものはすべてそれを知っています。

そうしないと、英数字以外の文字はすべてURLエンコードされたエンティティを持っているため、コンテンツが重複する可能性があると主張できます(例:%2d-)。

IE:

http://webmasters.stackexchange.com/questions/31499/seo-whould-i-use-in-url

そして

http://webmasters.stackexchange.com/questions/31499/seo%2dwhould%2di%2duse%2din%2durl

両方とも同じ場所に解決されますが、-は後者でURLエンコードされており、ブラウザ/検索エンジンで尊重される点が異なります。

2
Dunhamzzz

あなたの「SEOエキスパート」は嘘をついている野郎かもしれませんが、これはおそらく理由ではありません。彼はこれについて絶対に正しい。これは、URL構築におけるほとんど知られていないEdgeケースです。

RFC 3986 は、URL形式の公式定義であり、URLのエンコードおよびデコード方法に関するルールです。エラーを回避し、インターネットの残りの部分と相互運用できるように、URLパーサーはできる限りこれに従ってください。これには、ルールを誤って適用すると、特定のリソースを実際にクロールまたはインデックス付けできない検索エンジンが含まれます(たとえば、URLを台無しにしたり、アプリケーションがURLまたはクエリを誤って解釈するために404を取得します)文字列)。

RFCはhowにルールを与えて、エンコードとデコードのパーセントを行います。これはよく知っていますが、whenも説明しています。はエンコードとデコードを行い、to which characters

検索エンジンnormalizeURL(それらを比較できるように)が、dereferenceではないことに注意してください。 WebサーバーはURLを逆参照して、ドキュメントを見つけ、デコードされたデータをWebアプリケーションに渡します。 URLが正規化されると、パーセントでエンコードされた文字のサブセットのみがデコードされます。参照解除されると、allがデコードされます。

特に、2つのURLの等価性(セクション6のすべて)を比較する方法と、その前にパーセントデコードする必要のある文字を指定します(セクション6.2.1および6.2.2)。ここで、URLの等価性を比較する前にデコードされるonly文字は、いわゆる非予約文字であることがわかります。これらは(セクション2.3で)「大文字と小文字、10進数、ハイフン、ピリオド、アンダースコア、およびチルダ」として定義されています。エンコードのパーセントは、preventブラウザー、検索エンジンなどがURLの特殊文字を誤って解釈することを意図していますが、URLで予約されていない文字には特別な意味がないため、誰でもいつでもデコードできます。

したがって、2つのURLの等価性が比較される前に、%3Anotコロン:にデコードされます。 コロンには、URLのパスコンポーネントでの使用に適用されるいくつかの異常なルールがあります(セクション4.2で説明)。relativeURLのfirstパスコンポーネントには表示できません(ただし、後続のコンポーネントでは許可されます) URLスキームと混同される可能性があります。

最初のパスコンポーネントとしてコロンを使用して有効な相対URLを構築するには、一部の時間とそれ以外をエンコードせず、そのようなすべての相対URLの前に./を付けるか、相対URLを完全に無視する必要があります(通常は何が起こるかはわかりませんが、相対URLは思っているよりもはるかに一般的です)。

URL仕様のこの部分では何らかの明確化を使用できますが、状況によっては、URLでコロンを使用する場合は、常にエンコードすることを強くお勧めします。これにより、URLの同等性に関するあいまいさを排除し、相対URLを使用している場合でもこのEdgeのケースにヒットしないようにします。

5
Michael Hampton