3

ハッシュ文字を含む URL が多数あります。ハッシュはフラグメントを示すのではなく%23、URL パスの一部であるため、次のようにハッシュをエスケープします。

http://example.com/example%231
http://example.com/another-example%232
…

sitemap.xmlこれらの URL を次のようにリストします。

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>http://example.com/example%231</loc>
  </url>
  <url>
    <loc>http://example.com/another-example%232</loc>
  </url>
  <!-- and so on … -->
</urlset>

現在、Google Search Console404は次の URL のエラーを報告しています。

http://example.com/example
http://example.com/another-example

%23の後の文字列が取り除かれていることに注意してください。サイトマップにたとえばhttp://example.com/example#1が含まれている場合、この動作は理解できますが、意図的にハッシュ ( http://example.com/example%231) をエンコードしています。

誤解している可能性のあるものはありますか、または 内でエスケープするための特別なルールはありますsitemap.xmlか?

4

1 に答える 1

1

Googleは、フラグメントをそのように使用することを望んでいません。ただし、検索結果からウィキペディアの記事の複数のサブヘディングへの直接リンクなど、実際のフラグメント識別子として認識しています。

そのため、Google はおそらくハッシュをフラグメント ID として解釈し、URL からそれらを削除して 404 を取得します。

XML サイトマップは、 RSC 3986で定められた通常のエスケープに従います。Google が非推奨となった Ajaxの URL の使用については、!#背景として役立つかもしれない歴史があります。

于 2018-04-03T11:02:24.827 に答える