Werden per Design keine ?page=…-URLs in Standard-Sitemaps aufgenommen?
Alle diese ?page=…-URLs sind kanonische URLs und sollten daher zur Standard-Sitemap hinzugefügt werden – z. B.
Ich kann eine einfache Lösung implementieren, die nicht sehr spezifisch für das Datum der letzten Bearbeitung ist: z. B. verwenden alle Seiten eines Themas dasselbe Datum des letzten bearbeiteten Beitrags.
Dadurch erhalten alle Seiten eines Themas (mit vielen Beiträgen und vielen Seiten) ein neues Datum der letzten Änderung, wenn ein neuer Beitrag hinzugefügt wird – auch wenn nur die letzte Seite das neue Datum benötigt.
Ist das eine machbare Lösung?
Andernfalls müssen wir alle Beiträge eines Themas in Pakete von 20 Beiträgen (pro Seite) bündeln. Und dann das Datum der letzten Änderung für jedes Paket selbst berechnen.
Ehrlich gesagt, ich habe mir das angesehen und bin unschlüssig, was Änderungen angeht. Das Problem ist nicht, dass Google Schwierigkeiten hat, Inhalte auf Discourse-Foren zu entdecken.
Es ist, dass es Inhalte entdeckt, crawlt und dann aufgrund von „willkürlicher Entscheidungsfindung“ entscheidet, dass Inhalte nicht in den Index gehören.
Auf der Pro-Seite des Hinzufügens all dieser ?page=… kanonischen URLs zur Sitemap:
Es gibt Google einen starken Hinweis auf \u003clastmod\u003e für diese URLs. Dadurch hat Google keinen Grund, unveränderte ?page=…-URLs erneut zu crawlen, und könnte sein kostbares Crawl-Budget für wichtigere URLs verwenden.
Wenn ?page=…-URLs in der Sitemap fehlen, findet Google sie trotzdem und führt einige „willkürliche“ Crawls durch – auch wenn dies völlig unnötig ist, da keine neuen Änderungen am Inhalt vorgenommen wurden.
„Eine Sitemap ist ein wichtiger Weg für Google, URLs auf Ihrer Website zu entdecken.“ siehe
„Google wählt die kanonische Seite basierend auf einer Reihe von Faktoren (oder Signalen) aus, wie z. B. […], dem Vorhandensein der URL in einer Sitemap, […].“ siehe
„Die Verwendung einer Sitemap garantiert nicht, dass alle Elemente in Ihrer Sitemap gecrawlt und indexiert werden, da die Google-Prozesse auf komplexen Algorithmen zur Planung des Crawlings basieren.“ siehe
Das ist sicherlich etwas, das @Roman bei der Integration in den Kern berücksichtigen sollte.
Ich ziehe es vor, zuerst die Sitemap zusammenzuführen, bevor weitere Änderungen vorgenommen werden, aber sobald das erledigt ist … vielleicht können wir mit kanonischen URL-basierten URLs auf _recent beginnen. Wir haben jetzt eine kanonische URL, die in posts.rss verwendet werden kann, mit ausreichender Caching-Funktion kann sie auch in Sitemaps verwendet werden.
Ich habe Probleme mit der Google Search Console, die versucht, URLs wie https://example.com/t/title-slug/1234?page=3 zu indexieren, was Discourse dazu veranlasst, eine 404-Fehlermeldung auszugeben. Wenn der Parameter ?page=x entfernt wird, wird die URL gültig.
Ich gehe davon aus, dass dies eine Art Nebeneffekt davon ist, dass Discourse die Paginierung zu der Version der Website hinzufügt, die es für Crawler bereitstellt:
Hallo Sam, danke für die Antwort. Nachdem ich dies gepostet hatte, fand ich Ihre Erklärung hier:
Aber in meinem Fall, nein, die Themen mit diesem Problem, die ich mir angesehen habe, zeigen keine Änderungen am ursprünglichen Threading. Das Einzige ist, dass sie aus Drupal importiert wurden. Aber ich muss mir weitere Beispiele ansehen, um zu sehen, ob auch Themen, die ursprünglich in Discourse erstellt wurden, betroffen sind, denn leider gibt es unzählige davon, wahrscheinlich Tausende.
Ja, fast 100.000 Themen und ca. 2 Millionen Beiträge. Ich bin mir nicht sicher, ob dieses Problem nur bei importierten Themen auftritt, aber ich werde mich bald wieder hier melden, wenn ich weitere Anomalien entdecke.