Das Thema interessiert mich wegen der Größe von Wikipedia. Es mag einfach sein, einige Cron zu erstellen, um die Sitemaps auf einer kleinen Site regelmäßig zu aktualisieren, aber was ist mit einer großen? So:
Wie generiert Wikipedia seine Sitemap?
Das Thema interessiert mich wegen der Größe von Wikipedia. Es mag einfach sein, einige Cron zu erstellen, um die Sitemaps auf einer kleinen Site regelmäßig zu aktualisieren, aber was ist mit einer großen? So:
Wie generiert Wikipedia seine Sitemap?
Antworten:
Es wird dynamisch von einem PHP-Skript generiert. Bei großen Websites ist es wahrscheinlich besser, nach Änderungen zu suchen und nur zu generieren, wenn sich etwas geändert hat - oder nur alle XY Minuten / Stunden / Tage. Das hängt von der Infrastruktur ab.
Die benötigten Informationen befinden sich alle in der Datenbank, daher ist dies keine so schwierige Aufgabe.
Und hier ist der Beweis: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php
Edit: Ah und das könnte auch für dieses Thema interessant sein:
Ich stand vor einiger Zeit vor der Aufgabe, eine Sitemap für unsere Website zu erstellen. Obwohl es nicht die Größe von Wikipedia hat, sind es immer noch rund hunderttausend Seiten, und ungefähr 5% von ihnen werden täglich geändert, hinzugefügt oder entfernt.
Da das Einfügen aller Seitenverweise in eine einzige Datei zu groß wäre, musste ich sie in Abschnitte unterteilen. Der Site Map-Index verweist auf eine Aspx-Seite mit einer Abfragezeichenfolge für einen von 17 verschiedenen Abschnitten. Abhängig von der Abfragezeichenfolge gibt die Seite eine XML-Datei zurück, die auf mehrere tausend Seiten verweist, basierend darauf, welche Objekte in der Datenbank vorhanden sind.
Die Sitemap wird also nicht regelmäßig erstellt, sondern wird sofort erstellt, wenn jemand sie anfordert. Da wir bereits ein System zum Zwischenspeichern von Datenbanksuchen haben, wird dies natürlich auch zum Abrufen von Daten für die Sitemap verwendet.
Obwohl sich der Code zur Sitemap-Generierung im MediaWiki- Kernmaster befindet und sicherlich die Option wäre, eine Sitemap zu erstellen, sehe ich keine Beweise dafür, dass Wikipedia ihn tatsächlich aktiviert hat. Die Datei robots.txt verweist nicht auf Site Maps.
Darüber hinaus wird jedes Wartungsskript, das in Wikimedia-Projekten ausgeführt wird, von Puppet gesteuert, und es gibt keine Instanz von generateSitemap.php im Puppet-Repository . Schließlich gibt es in den Dumps auch keine Sitemap für Wikimedia-Wiki , während es " Abstracts für Yahoo " gibt.
In jedem Fall führt Wikipedia Squid-Caches vor ihren App-Servern aus. Sie können steuern, wie oft ihre Sitemap aktualisiert wird, indem sie die Ablaufzeit für die Seite anpassen.
Darüber hinaus ist alles, was Wikipedia für die Indizierung tut, kein gutes Modell für Ihr Wiki, da Google spezielle Kontakte / Angebote / Umgang mit Wikipedia hat (siehe ein aktuelles Beispiel) .
Ich bin nicht positiv, aber ich denke, sie verwenden die Google Sitemap- Erweiterung für MediaWiki. Dies wird von der Wikipedia-Seite auf Sitemaps unterstützt .