¿Debe un sitio web altamente dinámico generar constantemente nuevas páginas usando un sitemap? Si es así, ¿cómo hace un sitio como stackoverflow.com para regenerar un mapa del sitio? Parece que sería una pérdida de valiosos recursos del servidor si estuviera constantemente regenerando un mapa del sitio cada vez que alguien agregara una pregunta. ¿Genera un nuevo mapa del sitio a intervalos establecidos (por ejemplo, cada cuatro horas)? Tengo mucha curiosidad de cómo los sitios web grandes y dinámicos hacen que esto funcione.Mapa del sitio en un sitio web altamente dinámico
Respuesta
En Stackoverflow (y todos los sitios de intercambio de pila), un archivo sitemap.xml se crea que contiene un enlace a cada pregunta publicado en el sistema. Cuando se publica una nueva pregunta, simplemente añaden otra entrada al final del archivo del mapa del sitio. No es tan intensivo en recursos agregarlo al final del archivo, pero el archivo es bastante grande.
Esa es la única forma en que los motores de búsqueda como Google pueden rastrear el sitio de manera efectiva.
Jeff Atwood habla de ello en un blog: The Importance of Sitemaps
Esto es de Google's webmaster help page on sitemaps:
Sitemaps son particularmente útiles si:
- Su sitio tiene contenido dinámico.
- Su sitio tiene páginas que no son fácilmente descubiertas por el robot de Google durante el proceso de rastreo; por ejemplo, las páginas que incluyen AJAX o Flash.
- Su sitio es nuevo y tiene pocos enlaces. (El robot de Google rastrea la Web siguientes enlaces de una página a otra , así que si su sitio no es así vinculados, puede ser difícil para nosotros localizarlo).
- Su sitio tiene un gran archivo de contenido páginas que no están bien vinculadas entre sí, o no están vinculadas al todas.
¿Qué pasa cuando un usuario elimina una pregunta? ¿Hay algún momento en que puedan regenerar todo el mapa del sitio? –
No es necesario actualizar para una eliminación, siempre y cuando su sitio devuelva un 404 en esa pregunta. Google ignorará el 404 y lo eliminará del índice, por lo que no se dañará. – ceejayoz
¿Significa esto que los elementos del mapa del sitio de SO nunca tendrán el campo lastmod actualizado? ¿Cómo sabrán los motores de búsqueda cuándo reindexar una página de preguntas? –
Solo crearía un mapa del sitio para las páginas más estáticas del sitio. Por ejemplo, en StackOverflow, un mapa del sitio podría mostrar enlaces para las páginas de Preguntas frecuentes, Acerca de, Preguntas, Etiquetas, Usuarios, etc., pero no mostrar enlaces a las preguntas reales, ni a todas las etiquetas, ni a los diversos usuarios.
Eso pasa por alto el propósito de un archivo sitemap.xml. – ceejayoz
@MitMaro: Estoy de acuerdo con su punto (vea mi publicación similar). no estoy seguro de por qué se votó negativamente; +1 al contador. –
@ceejayoz: No mencionó un archivo sitemap.xml. E incluso si lo hizo, el objetivo de un mapa del sitio xml es permitir que los motores de búsqueda indexen páginas o páginas altamente dinámicas sin enlaces externos. Al proporcionar un mapa del sitio a las secciones principales de un sitio (por ejemplo, la página de preguntas sobre desbordamiento de pila) los rastreadores de los motores de búsqueda pueden indexar el contenido dinámico en esa página (las preguntas) y por lo tanto el mapa del sitio ha hecho lo que se suponía que debía hacer . – MitMaro
Incluso en algo como StackOverflow, hay una cierta cantidad de organización estática; hay preguntas frecuentes, páginas de etiquetas, páginas de preguntas, páginas de usuarios, páginas de insignias, etc. Yo diría que en un sitio muy dinámico, la mejor manera de acercarse a un mapa del sitio sería tener un mapa de las categorizaciones; cada nodo en el mapa del sitio puede apuntar a una página de los datos generados dinámicamente (un nodo para una página de preguntas, un nodo para una página de usuario, etc.).
Por supuesto, un mapa del sitio puede no ser apropiado para un sitio determinado; hay una cierta cantidad de juicio requerido allí.
He contrarrestado tu voto a la baja también. Supongo que alguien no está de acuerdo con nosotros ... lol – MitMaro
A juzgar por la respuesta aceptada, el OP no está de acuerdo con usted también. – ceejayoz
@ceejayoz: al parecer, sin embargo, creo que tanto MitMaro como yo respondimos la pregunta que hizo el OP; como resultado, querían especificidad, pero no especificaron la especificidad que querían, así que ... –
No es necesario volver a generar el XML del mapa del sitio de Google cada vez que se publique una pregunta. Es mucho más simple simplemente tener el archivo XML generado a pedido directamente desde la base de datos (y un poco de almacenamiento en caché).
Para reducir la carga, el sitemap se puede dividir en muchos sitemaps. Particionarlo por día/mes le permitiría decirle a Google que recupere el mapa del sitio de hoy con frecuencia, pero solo obtenga el mapa del sitio de hace seis meses de vez en cuando.
¿Quién dijo algo acerca de un archivo google sitemap.xml? –
Está implícito en la pregunta. Ningún "sitio web grande y dinámico" agregaría cada pregunta publicada en un mapa del sitio accesible para el usuario. – ceejayoz
esta es una buena respuesta. Lo habría aceptado, ¡pero Robert está mejor formateado con hiperenlaces brillantes y un cuadro de citas! –
Me gustaría compartir mi solución aquí sólo en caso de que ayuda a alguien así. Me tomó leer esta pregunta y muchas otras para decidir qué hacer.
La estructura de mi sitio.
páginas estáticas
- Inicio (altamente dinámico. En caché durante 30 minutos)
- Los artistas, álbumes, canciones, listas de reproducción y álbumes (Lista paginado)
- Legal (página estática con Términos etc.)
... etc
páginas dinámicas
- artistas, álbumes, canciones, listas de reproducción y álbumes páginas de detalles
Mi enfoque.
sitemap.xml: Esta dirección genera una <sitemapindex />
con ser el primer elemento /sitemap-main.xml
. El número de Artists
, Albums
, Songs
, etc. se cuentan y se dividen en 1,000 (número de urls que quiero en cada mapa del sitio, el límite es 50,000). Redondeo este número.
Por ejemplo, 1900 canciones = 1.9 = 2. Genero. agregue las urls /sitemap-songs-0.xml
y /sitemap-songs-1.xml
al índice. Repito esto para todos los demás artículos. Básicamente, estoy paginating.
La salida se devuelve sin guardar en la memoria caché. Quiero que esto siempre sea fresco.
mapa-main.xml: Esta lista todas las páginas estáticas. En realidad, puede usar un archivo estático para esto, ya que solo necesitará actualizarlo de vez en cuando.
mapa-canciones-0.xml, mapa-álbumes-0.xml, etc: Yo uso una sola ruta para esto en SlimPhp 2.
$app->get('/sitemap-:type-:page.xml', function ($type, $page) use ($app) {...
Yo uso un simple interruptor declaración para generar los archivos relevantes. Si para esta página obtuve 1.000 elementos, el límite especificado anteriormente, guardo en caché el archivo durante 2 semanas. De lo contrario, solo lo guardo en la memoria caché durante unas horas.
Supongo que esto puede ayudar a cualquier otra persona a implementar su propio sistema.
Para un sitio altamente dinámico, escribí un trabajo cron en mi servidor que se ejecuta a diario.Hace una llamada de descanso a mi backend todos los días, y genera un nuevo mapa del sitio de acuerdo con todo el contenido recién generado, y devuelve el mapa del sitio en forma de un archivo xml. Este nuevo mapa del sitio anula el anterior y mantiene mi sitio web actualizado de acuerdo con todos los cambios. Cambiar el mapa del sitio para cada contenido dinámico recién agregado no es un buen enfoque Creo que
- 1. Mapa del sitio dinámico en ASP.NET MVC
- 2. ¿Mapa del sitio para contenido dinámico?
- 3. Raspe un sitio web dinámico
- 4. Generar un mapa del sitio visual de un sitio existente
- 5. ¿Puedo usar WGET para generar un mapa del sitio de un sitio web dada su URL?
- 6. Menú jQuery y mapa del sitio ASP.NET
- 7. Cómo archivar un sitio web dinámico (PHP) como HTML estático?
- 8. Medición en un sitio web
- 9. Obtener datos del sitio web
- 10. ¿Cómo conviertes un sitio dinámico en un sitio estático que se puede mostrar desde un CD?
- 11. Backbone.js - Enrutamiento dinámico para un sitio grande
- 12. Despliegue del sitio web en Amazon AWS
- 13. ¿Enumera los mapas de sitio y los archivos de índice del mapa del sitio en robots.txt?
- 14. Selección del idioma del sitio web
- 15. Administración del sitio web: ¿está integrado en el sitio web principal o en una sección separada?
- 16. Rascar todo un sitio web
- 17. cómo crear un mapa del sitio usando zend framework?
- 18. Comic Sans en nuestro sitio web
- 19. archivo robotexto que apunta a un mapa del sitio local
- 20. Ping un sitio web en R
- 21. Cómo ejecutar MSDeploy un paquete de sitio web creado en un sitio web de IIS virgen
- 22. Administrar un sitio web en rápido crecimiento
- 23. ¿Vista previa del sitio web de Javascript?
- 24. Revisión del sitio web Aplicación/Interfaz
- 25. Seguridad del sitio web: ¿cómo aprender?
- 26. Ticketing escalable/sitio web del festival
- 27. Imprimir automáticamente la imagen del sitio web
- 28. Sistema de insignia del sitio web
- 29. .htaccess mapa del sitio XML y reescritura usuario del sitio amigable
- 30. Carpeta diferente como subcarpeta del sitio web
¿Tiene una necesidad específica de un mapa del sitio? Están un poco anticuados; algunos sitios no los proporcionan en absoluto. –
¿Puede especificar el tipo de mapa del sitio del que está hablando? Hay varias implementaciones de sitemaps que tienen diversos propósitos. Por ejemplo, están los mapas de sitio basados en xml utilizados para los motores de búsqueda y luego los mapas de sitio que son para que los usuarios encuentren una página particular en un sitio. – MitMaro
Bastante seguro de que están hablando de un archivo sitemap.xml - un sitemap accesible al usuario que enlista cada elemento en un sitio con más de 100,000 elementos sería total y evidentemente inútil. – ceejayoz