Wir beobachten eine große Anzahl von Themen-Permalinks und Paginierungs-URLs, die in Google Search Console in die Kategorie „Gecrawlt – derzeit nicht indexiert“ fallen (ca. 35k URLs auf einem ca. 20 Jahre alten importierten Forum, Discourse-Version v2026.9.0-latest, self-hosted).
Was wir festgestellt haben:
Discourse liefert Crawlern ?page=N-Paginierungslinks für lange Themen (da die eigentliche UI auf unendliches Scrollen basiert). Wenn ein JS-fähiger Client (einschließlich Googles Renderers) eine dieser ?page=N-URLs lädt, gibt Discourse einen Client-Side-Redirect an /t/slug//<post_number> aus.
Reproduktion:
- Lade eine Themen-URL kalt, mit jeder Post-Nummer oder ?page=-Suffix:
GET /t///14 →
GET /t// → derselbe Canonical
GET /t///1 → derselbe Canonical
GET /t//?page=127 → (selbstreferenzierend, NICHT normalisiert) - Lade die Website normal (JS aktiv) und navigiere über Embers Router zu einer URL, die ein Post-Nummer-Suffix enthält (z. B. durch Klick auf einen „Zum ersten ungelesenen Beitrag springen“-Link aus den Vorschlägen). Sobald der SPA-Übergang abgeschlossen ist, ist document.querySelector(‘link[rel=canonical]’).href gleich der aktuellen Post-Nummer-URL – sie verweist nicht zurück auf das Basis-Thema.
Dies widerspricht dem eigenen, von Discourse erklärten Designziel. In diesem Thread von 2015 war @sam ausdrücklich:
▎ Themen: Der Canonical-Link sollte auf das Basis-Thema zeigen, damit individuelle Beitragsseiten nicht als getrennte Suchergebnisse erscheinen.
▎ Kategorie-/Listen-Seiten: Canonical vollständig entfernt, da paginierte Listen laut eigener Google-Leitlinie keine Duplikate sind.
Was wir heute beobachten, widerspricht dem auf zwei Arten:
- Ein Thema mit ?page=N (Crawler-Paginierung) enthält die paginierte URL im rohen Server-HTML, anstelle des Basis-Themas – obwohl Themen (im Gegensatz zu Kategorielisten) ausdrücklich immer auf die Basis-URL zusammengeführt werden sollten.
- Nach dem Client-Side-Redirect von ?page=N auf /t/slug/id/<post_number> bleibt der Canonical-Link im gerenderten DOM ebenfalls auf dieser Post-Nummer-URL, anstatt auf das Basis-Thema zurückgesetzt zu werden.
Beides sieht nach Regressionen gegenüber dem Designziel von 2015 aus, nicht nach beabsichtigtem aktuellem Verhalten.
Warum dies für das Indexieren wichtig ist: Googles Indexierungssystem wertet den Canonical-Link aus dem gerenderten DOM aus. Jede direkt von Google erreichte URL mit Post-Nummer- oder Seiten-Suffix – über die Funktion „Link zum Beitrag teilen“ (auf unserem Forum stark genutzt über WhatsApp/Discord), über alte externe Backlinks (wir mappen Legacy-vBulletin-?p=-Permalinks auf Post-Nummer-URLs) oder über den Crawler selbst – deklariert ihren eigenen Canonical-Link, anstatt in das Basis-Thema konsolidiert zu werden. In Search Console zeigt sich dies als Tausende nahezu identische URLs, die in „gecrawlt – nicht indexiert“ stecken.
Beispielbetroffene URLs aus unserem GSC-Bericht (alle zuletzt im frühen September 2026 gecrawlt):
/t/tengo-que-pasar-la-itv/21100/10
/t/new-honda-nsx-proyect/4910/69
/t/hacer-tubo-recto-sin-silencioso-del-catalizador-hacia-atras/25579/25
/t/kedada-japo-en-cataluna-2014/28148/75
/t/el-diario-de-patricio-de-la-plana/13286?p
Frage an das Team: Da dies ein >10 Jahre altes Design ist, hat sich seitdem etwas geändert, das den selbstreferenzierenden Canonical-Link auf diesen URLs nun beabsichtigt macht? Oder lohnt es sich, dies als Regression erneut zu prüfen? Gerne stellen wir HAR-Dateien / weitere Reproduktionsbeispiele bereit, falls hilfreich.