Im Haupt-Sitemap ist das lastmod-Datum für zugrunde liegende Sitemaps falsch:
Beispiel: siehe https://meta.discourse.org/sitemap.xml
Die Daten für sitemap_2.xml bis sitemap_5.xml sind alle gleich ‘2024-03-14T14:02:32Z’ – was genau ‘3 Tage her’ ist.
Ich befürchte, dass eine Optimierung hier die Sache enorm verkompliziert, aber nur sehr wenig nützt.
Denken Sie darüber nach…
Angenommen, es gibt 6 Chunks auf Meta. Wenn ein Thema aus dem letzten Chunk berührt wird… wird der gesamte Chunk ungültig, Sie müssen das Thema dort entfernen und in den vorderen Chunk verschieben.
Eine Optimierung hier ist für eine Website, die irgendeine Art von Aktivität aufweist, ein wenig sinnlos, und die Daten innerhalb des Chunks zu den eigentlichen Themen sind in Ordnung.
Es geht nicht darum, Themen in verschiedene Sitemap-Chunks zu verschieben. Die Themen können im selben Sitemap-Chunk bleiben, in dem sie sich bereits befinden.
(Die Zuordnung von Thema zu Sitemap-Chunk ist ohnehin willkürlich, da die select-Anweisung der Datenbank mit limit keine order definiert hat.)
Der Bug-Report bezieht sich darauf, dass das lastmod-Datum jedes Sitemap-Chunks das lastmod-Datum des neuesten Themas darstellen sollte, das der Sitemap-Chunk enthält.
Der Weg für Google sollte sein:
sitemap.xml laden
→ lastmod der Sitemap-Chunks prüfen und Sitemap-Chunks, die ein Update benötigen, in die Warteschlange stellen
(Datum von lastmod ist neuer als beim letzten Download)
Warteschlangen-Sitemap-Chunks sitemap_[1-5].xml laden
→ lastmod der Themen-URLs prüfen und Themen-URLs, die ein Update benötigen, in die Warteschlange stellen
(Datum von lastmod ist neuer als beim letzten Download)
Warteschlangen-Themen-URLs laden.
Wenn in sitemap.xml das lastmod der Sitemap-Chunks falsch ist:
→ Google stellt keine geänderten Sitemap-Chunks in die Warteschlange (Schritt 1)
→ Google aktualisiert keine geänderten Sitemap-Chunks rechtzeitig (Schritt 2)
→ Google aktualisiert keine geänderten Themen rechtzeitig (Schritt 3)
Das ist wieder nicht ganz richtig… last_mod soll das letzte Datum sein, an dem die Sitemap geändert wurde, nicht das maximale Datum der Themen.
Wenn ein Thema heute aus dem Sitemap-Bereich herausfiel und die letzte Änderung im Chunk vor einer Woche war… hat sich der Chunk heute geändert. Ein Thema ist heute herausgefallen.
Die exakt gleiche Logik führt also zu:
Wenn sich ein Thema im Sitemap-Bereich heute geändert hat und die letzte Änderung im Chunk heute war… hat sich der Chunk heute geändert [Hinweis: nicht vor 3 Tagen]. Ein Thema darin hat sich heute geändert.
Für Ihr und mein obiges Beispiel besagt die aktuelle Implementierung:
sitemap-chunks sitemap_[2-5].xml hat sich vor 3 Tagen geändert. Das ist falsch. Es sollte heißen „heute geändert“.
Enthält nur alle geänderten Themen der letzten 3 Tage
Wird alle 1 Stunde erneuert (interne Rails-Cache-Zeit von 1 Stunde)
Hat das korrekte lastmod-Datum in sitemap.xml
sitemap_[1-5].xml:
Enthält wirklich alle Themen und auch alle geänderten Themen der letzten 3 Tage
Wird alle 24 Stunden erneuert (interne Rails-Cache-Zeit von 24 Stunden)
sitemap_[2-5].xml hat das falsche lastmod-Datum von 3.days.ago in sitemap.xml
Das falsche lastmod-Datum für sitemap_[2-5].xml spielt keine Rolle, da Google alle aktuellen Themenänderungen rechtzeitig über sitemap_recent.xml erhält.