?page= leitet manchmal zu einer Seite mit einer anderen kanonischen URL um

Einer unserer Kunden hat das folgende SEO-bezogene Problem festgestellt, das ich hier auf Meta nachstellen kann.

Wenn Discourse von einem Crawler besucht wird, fügt Discourse Paginierungslinks ?page=XX wie folgt ein:

<link rel="next" href="/t/slug/123?page=2">

und

<span itemprop='name'><b><a rel="next" itemprop="url" href="/t/slug/123?page=2">next page â</a></b></span>

Wenn eine solche Seite im Browser geladen wird, führt Discourse eine JavaScript-Weiterleitung zu einer URL im Format /t/slug/123/NN durch, wobei NN eine Beitragsnummer ist.

Somit wird https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294?page=2 zu https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294/23 weitergeleitet

und https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294?page=3 wird zu https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294/45 weitergeleitet.

Allerdings enthält diese Seite manchmal eine Canonical-URL, die nicht mit der ursprünglich angeforderten Seite übereinstimmt.

Im obigen Beispiel wird ?page=3 zu Beitrag 45 weitergeleitet, und die Seite für Beitrag 45 enthält eine Canonical-URL ?page=2:

<link rel="canonical" href="https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294?page=2" />

Zitat aus dem SEO-Bericht des Kunden:

Dies erzeugt eine Kette von Canonical-Tags und Weiterleitungen, und Google beginnt, die eingesetzten Canonical-Tags nicht mehr zu vertrauen.

Ich kann nicht herausfinden, woher das kommt. Manchmal hat die Canonical-URL eine höhere Seitenzahl, manchmal bezieht sie sich auf eine niedrigere Seitenzahl (wie in diesem Beispiel), und manchmal ist sie korrekt.

Ich dachte, es könnte mit gelöschten Beiträgen oder „Whispers“ zu tun haben, aber ein Thema mit vielen entfernten Beiträgen zeigt dieses Verhalten nicht per se (wie bei https://meta.discourse.org/t/topic-list-previews/101646?page=5, das zu Beitrag 471 (!) führt, der die korrekte Canonical-URL ?page=5 enthält). Ich denke, es könnte sich um einen Off-by-One-Fehler handeln.

7 „Gefällt mir“

Ich vermute, wir haben hier beim kanonischen Element die Klammern leicht falsch gesetzt. @kris.kotlarek, könntest du das nächste Woche untersuchen? Du musst einen Beitrag auf Local mit 44 Antworten erstellen und dann schauen, was passiert.

6 „Gefällt mir“

@kris.kotlarek hat jetzt einen Fix zusammengeführt!

Lass uns wissen, falls es nicht richtig funktioniert!

3 „Gefällt mir“