サイトマッププラグイン - デフォルトサイトマップに ?page=… URL がない

#sitemap プラグインは、デフォルトのサイトマップに ?page=… URL を含んでいません。例: https://meta.discourse.org/sitemap_4.xml

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810
  </loc>
  <lastmod>2022-02-25T21:55:40Z</lastmod>
</url>

最近のサイトマップでは、ページネーション URL が含まれています。例: https://meta.discourse.org/sitemap_recent.xml

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810?page=18
  </loc>
  <lastmod>2022-03-07T12:03:50Z</lastmod>
</url>

デフォルトのサイトマップに ?page=… URL がないのは仕様ですか?
これらの ?page=… URL はすべて正規 URL であるため、デフォルトのサイトマップに追加されるべきです。例:

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810
  </loc>
  <lastmod>2022-02-25T21:55:40Z</lastmod>
</url>
<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810?page=2
  </loc>
  <lastmod>2022-03-02T19:08:07Z</lastmod>
</url>

[...]

<url>
  <loc>
    https://meta.discourse.org/t/importing-migrating-from-phpbb3/30810?page=18
  </loc>
  <lastmod>2022-03-07T12:03:50Z</lastmod>
</url>

sources

「いいね!」 2

これは意図的なものではないと思いますが、修正のためのプルリクエストを作成していただけますか?

@rritさん、ありがとうございます。数ヶ月前に私もこれに気づきましたが、いつも普通だと思っていました🤦🏻‍♂️

トピック内のすべてのページが同じ最終編集日を使用するという、あまり具体的ではない簡単な修正を実装できます。

これにより、トピック内の新しい投稿(多くの投稿と多くのページがある場合)では、最後のページのみが新しい日付を必要とする場合でも、すべてのページに新しい最終変更日が付与されます。

これは実現可能な解決策でしょうか?


それ以外の場合は、トピックのすべての投稿を 20 件の投稿のパッケージ(ページあたり)にバンドルする必要があります。そして、各パッケージの最終変更日を自分で計算する必要があります。

率直に言って、私はこの件について変更を加えることには賛否両論です。問題は、GoogleがDiscourseフォーラムのコンテンツを発見できないということではありません。

問題は、Googleがコンテンツを発見、クロールし、そして「恣意的な意思決定」により、そのコンテンツがインデックスに属さないと判断してしまうことです。

「いいね!」 1

「任意の意思決定」とは、これらの点のいずれかを意味しますか?
Page indexing report - Search Console Help を参照)


これらの ?page=… の正規 URL をすべてサイトマップに追加する利点:
これにより、Google はこれらの URL の \u003clastmod\u003e について強力なヒントを得られます。それにより、Google は変更されていない ?page=… URL を再クロールする理由がなくなり、貴重なクロール予算をより重要な URL に使用できる可能性があります。

サイトマップに ?page=… URL がない場合、Google はそれらを anyway で見つけ、完全に不要であっても(コンテンツに変更がない場合でも)「任意の」再クロールを行います。

Build and Submit a Sitemap | Google Search Central  |  Documentation  |  Google for Developers を参照


Google は URL をどこから知ったかについて、実際に追跡し、区別しています。
「すべての送信済みページ」(サイトマップ)または「すべての既知のページ」(リンクなど)
Google Search Console –\u003e Index –\u003e Coverage Report を参照

  • 「サイトマップは、Google がサイトの URL を発見するための重要な方法です。」参照
  • 「Google は、URL がサイトマップに含まれていることなど、多くの要因(またはシグナル)に基づいて正規ページを選択します。」参照
  • 「サイトマップを使用しても、サイトマップ内のすべての項目がクロールおよびインデックスに登録されることが保証されるわけではありません。Google の処理は、クロールをスケジュールするために複雑なアルゴリズムに依存しているためです。」参照
「いいね!」 1

これと一緒に実装されることを願っています :slight_smile:

「いいね!」 2

これは、@Roman がコアに統合する際に考慮すべき点です。

まずサイトマップをマージしてから、さらに変更を加える方が良いと思いますが、それが完了したら…おそらく _recent で正規ページベースの URL から始めることができるでしょう。現在、正規 URL があり、これは posts.rss で使用でき、適切なキャッシュがあればサイトマップでも使用できます。

「いいね!」 3

Google Search Console で https://example.com/t/title-slug/1234?page=3 のような URL のインデックス作成に問題が発生しています。これらの URL は Discourse で 404 エラーを引き起こします。?page=x パラメータを削除すると、URL は有効になります。

これは、Discourse がクローラーに提供するサイトのバージョンにページネーションを追加したことによる副作用だと推測されます。

ページURLは正常に機能します。N件以上の投稿が必要です。

該当するトピックに多くの削除済み投稿がありますか?

サムさん、返信ありがとうございます。これを投稿した後、ここであなたの説明を見つけました。

しかし、私の場合は、いいえ、この問題を抱えているトピックを調べたところ、元のスレッドへの変更は表示されませんでした。唯一の違いは、Drupalからインポートされたことだけです。しかし、他の例をさらに調査して、Discourseで元々作成されたトピックも影響を受けているかどうかを確認する必要があります。残念ながら、それらは 何千もの、おそらく数千もの量で存在するためです。

「いいね!」 1

うわー、Drupalから大量にインポートされたのですか?それが共通点ですか?

はい、10万件近くのトピックと約200万件の投稿があります。インポートされたトピックのみでこの問題が発生しているかどうかはわかりませんが、さらに異常が見つかった場合はすぐにここに投稿します。

「いいね!」 1