サイトマップ(インデックス作成のためにGoogleに送信)があります)アンパサンド(&
)を含むURLを追加しています。サイトマップで&
をエスケープする必要があるため、次のURLの&
を&
に置き換えました。サイトマップ。実際のページのURLには&
だけが含まれています。
GoogleウェブマスターとSEOは初めてなので、URLとサイトマップのアンパサンドの違いがどうなるかを理解したいと思います。問題を引き起こします。私のページはインデックスに登録されますか? URLで&
を&
に置き換えた後、サイトにアクセスできるため、これは初心者レベルの質問のように思われるかもしれません。しかし、それでもこの面での助けは高く評価されます。
コメント
- URLのどの部分でアンパサンドを使用していますか?
- @ MrWhite URLでいくつかのパラメーターを渡し、アンパサンドを使用してそれらのパラメーターを分離してパラメーターを分離しています
回答
URLとサイトマップのアンパサンドの違いが問題を引き起こす場合。
tl; dr URL は同じなので、問題ありません。
サイトマップで
&
をエスケープする必要があるため、&
を …
サイトマップはXMLドキュメントです。他のXMLドキュメントと同様に、データ値はXMLエンティティでエンコードして保存する必要があります。 &
文字は特殊文字(それ自体がXMLエンティティの開始を示します)であるため、その特別な意味を否定するようにエンコードする必要があります。これは、データが XMLドキュメント内に保存される方法です。
XMLドキュメントがXMLパーサーによって読み取られると、データ値はXMLエンティティデコードされます。 em>、実際の値に戻ります。したがって、XMLドキュメントが読み取られると&
は&
になります。
つまり、ivの形式のURL XMLドキュメント内に保存されたid = “bf41cac7db”>
は、HTML5ドキュメントのURL /page?foo=1&bar=2
と同一です。 。
実際のページのURLには
&
HTML5では、あいまいさがなければ、まったく問題ありません。ただし、HTML4.1(およびそれ以前)では、HTMLソースで&
を&
として正しくHTMLエンティティエンコードする必要がありました。有効なHTMLのコード。ただし、ブラウザは非常に寛容であり、HTMLドキュメントはおそらく「機能」しているはずです。
HTML5では、iv id = “をHTMLエンティティにエンコードする必要があるのは だけです。 7fb32abd5c “>
あいまいさがある場合。次の考案の例を見てください。リテラル文字列「& dollar;」を渡します。 foo
URLパラメーター内。
<!-- In an HTML document (WRONG) --> <a href="/page?foo=$">link</a>
目的の URLはhttp://example.com/page?foo=$
ただし、上記のHTMLアンカーを使用すると、ユーザーはhttp://example.com/page?foo=$
に送信されます。これは意図したものではありません。目的の結果を作成するには、&
をHTMLエンティティでエンコードして、その特別な意味を無効にする必要があります。その結果、次の(正しい)HTMLが生成されます。
<!-- In an HTML document (CORRECT) --> <a href="/page?foo=&dollar;">link</a>
HTMLで&
を一貫してHTMLエンティティでエンコードする方が常に安全です-資料。 CMSを介してコンテンツを生成している場合、これは自動である必要があります。
のURLに
&
が含まれています。
おそらく、URLに「 HTMLで “? HTMLエンティティを使用する場合は、ブラウザのアドレスバー(たとえば)で&
を&
でエンコードするためです。 HTMLコンテキストの外では、期待した結果が得られません。たとえば、ブラウザのアドレスバーに次のように直接入力した場合:
/page?foo=1&bar=2
次に、2つのURLパラメータと[amp;bar] => 2
、これは明らかに意図されたものではありません。
コメント
- TL; DR:URLにはプレーンアンパサンド(
&
)が含まれていますが、sitemap.xml
を使用する場合は、エンコード iする必要があります>プレーンアンパサンド&
。エンコードされたアンパサンドの意味はプレーンアンパサンドのままです。ほとんどのエンコードをスキップする場合は、形式。
回答
サイトマップに含めるURLは、 RFC-3986標準。 Google公式ガイドで読むことができるように、&
は&
これで問題ありません。
それでも、Google Searh Consoleからサイトマップを送信すると、送信されたURLに問題があるかどうかを知ることができます。
念のため、最終的なURLのみを含める必要があります。つまり、回避できるパラメータがいくつかある可能性があります。例:
- https://example.com/shoes (good one) - https://example.com/shoes?order=1&color=blue (remove this one)
コメント
- example.com/shoes?order=1& color = blue を実際のURLとして、サイトマップでは( example.com/shoes?order=1 & amp; color = blue 。
- はい、できます'はメインリンクです。つまり、'は内部リンクで使用するプライマリURLであり、ユーザーのコンテンツ値はURLよりも高くなりますパラメータなし。