El tema me interesa por el tamaño de Wikipedia. Puede ser fácil crear algunos crons para actualizar periódicamente los mapas de sitio en un sitio pequeño, pero ¿qué pasa con uno grande? Entonces:
¿Cómo genera Wikipedia su Sitemap?
Es generado dinámicamente por un script PHP. Para sitios grandes, probablemente sea mejor verificar los cambios y solo generar si algo cambió, o generarlo solo cada XY minutos / horas / días. Depende de la infraestructura.
Toda la información necesaria está en la base de datos, por lo que no es una tarea tan difícil.
Y aquí está la prueba: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php
Editar: Ah, y esto también podría ser interesante para este tema:
Me enfrenté a la tarea de crear un mapa del sitio para nuestro sitio web hace un tiempo. Aunque no es del tamaño de Wikipedia, todavía tiene alrededor de cien mil páginas, y alrededor del 5% de ellas se cambian, agregan o eliminan diariamente.
Como poner todas las referencias de página en un solo archivo lo haría demasiado grande, tuve que dividirlas en secciones. El índice del mapa del sitio apunta a una página aspx con una cadena de consulta para una de las 17 secciones diferentes. Dependiendo de la cadena de consulta, la página devuelve un xml que hace referencia a varios miles de páginas, en función de qué objetos existen en la base de datos.
Por lo tanto, el mapa del sitio no se crea periódicamente, sino que se crea sobre la marcha cuando alguien lo solicita. Como ya tenemos un sistema para el almacenamiento en caché de las búsquedas en la base de datos, esto también se utiliza para obtener datos para el mapa del sitio.
fuente
Aunque el código de generación del mapa del sitio está en el maestro principal de MediaWiki y ciertamente sería la opción elegida para producir un mapa del sitio, no veo ninguna evidencia de que Wikipedia realmente lo tenga activado. El archivo robots.txt no apunta a ningún mapa del sitio.
Además, cualquier script de mantenimiento ejecutado en proyectos de Wikimedia está controlado por puppet y no hay ninguna instancia de generateSitemap.php en el repositorio de puppet . Finalmente, tampoco hay un mapa del sitio en los vertederos de ninguna wiki de Wikimedia , mientras que hay " resúmenes para Yahoo ".
En cualquier caso, Wikipedia ejecuta cachés de Squid frente a sus servidores de aplicaciones. Pueden controlar con qué frecuencia se actualiza su mapa del sitio ajustando el tiempo de vencimiento de la página.
Además, cualquier cosa que Wikipedia haga para indexar no es un buen modelo para su wiki, porque Google tiene contactos especiales / ofertas / manejo de Wikipedia, vea un ejemplo reciente .
fuente
No soy positivo, pero creo que usan la extensión Google Sitemap para MediaWiki. Esto es compatible con la página de Wikipedia en Sitemaps .
fuente