Un foro de Discourse se va a desconectar en un par de semanas, así que me propuse archivar el sitio. Investigué mucho, probé y erré, y encontré una solución simple con HTTrack. Aquí está todo lo que aprendí.
Archiva un sitio de Discourse con HTTrack
Para los usuarios de Windows, la mejor solución parece ser HTTrack. Funcionó muy bien y archivó el sitio en archivos HTML. Todas las categorías, hilos y publicaciones fueron archivados, incluidas todas las páginas con enlaces de navegación relativos.
Un tutorial básico sobre HTTrack está aquí. Dejé la configuración en los valores predeterminados con la siguiente configuración personalizada.
- Direcciones web:
https://forums.gearboxsoftware.com/c/homeworld/https://forums.gearboxsoftware.com/c/homeworld-dok/
- Reglas de escaneo:
-gearboxsoftware.com/* -forums.gearboxsoftware.com/* +forums.gearboxsoftware.com/c/homeworld/* +forums.gearboxsoftware.com/c/homeworld-dok/* +forums.gearboxsoftware.com/t/* +forums.gearboxsoftware.com/user_avatar/* +sea2.discourse-cdn.com/*
- Identificador de navegador (también conocido como User Agent):
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Nota: Hay un problema de CSS que impide que los enlaces de categoría funcionen, sin embargo, eso se puede solucionar fácilmente como se describe a continuación.
Problema de CSS
Al ver las páginas de Categoría como googlebot, los enlaces de los hilos no funcionan. Un ejemplo es [aquí](https://web.archive.org/web/20220731051419/https://forums.gearboxsoftware.com/c/homeworld/57).
Esto hace que la navegación sea imposible en las páginas de categorías en HTTrack, archive.org y la caché de Google. Parece ser un problema de Discourse en un archivo CSS. Para arreglar los enlaces, simplemente bloquea/elimina el siguiente archivo CSS:
stylesheets/desktop_theme_10_1965d1d398092f2d9f956b36e08b127e00f53b70.css?__ws=forums.gearboxsoftware.com
@codinghorror - ¿Pueden abordar esto?
Desafíos
Me encontré con los siguientes desafíos y finalmente los superé después de muchas pruebas y errores.
- Las páginas de Discourse se generan dinámicamente con JavaScript. Esto da como resultado malos resultados con la mayoría de las herramientas de archivo/rastreo.
- La mayoría de los hilos solo cargan con las primeras ~20? publicaciones, el resto de las publicaciones no aparecen hasta que te desplazas hacia abajo. Presionar Ctrl+P carga una página
/printcon todas las publicaciones visibles. Los usuarios están limitados a imprimir 5 páginas por hora en modo de impresión, pero este límite puede ser aumentado por un administrador del sitio de Discourse. - Adrelanos señaló que los hilos de varias páginas no estaban siendo archivados correctamente por HTTrack, sin embargo, sospecho que este problema se debió a su configuración de HTTrack, ya que yo no tuve este problema.
- Guardar una página en PDF no incluirá ninguna sección de detalles colapsada.
- Las páginas se pueden cargar en HTML básico agregando
?_escaped_fragment_al final de una URL, pero este truco solo funciona para hilos, no para categorías.
Los desafíos anteriores no son una preocupación una vez que aprendes que todas las páginas/contenido de Discourse se pueden renderizar correctamente como HTML para los rastreadores. Para hacer esto, debes cambiar el user agent de tu rastreador / navegador a googlebot para obtener la versión HTML de las páginas.
Archive.org
Si usas la función “Guardar página ahora” en web.archive.org, archivará la versión de JavaScript de Discourse con malos resultados. Archive.org utiliza el user agent de la persona que solicita el archivo. Por lo tanto, debes cambiar tu user agent a googlebot. Puedes obtener una extensión de Chrome llamada “User-Agent Switcher for Chrome”. En las opciones agrega:
- Nombre: Googlebot
- Cadena:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - Grupo: Chrome
- Indicador: 1
Herramientas de archivo alternativas
Muchas herramientas se enumeran aquí: Archive an old forum "in place" to start a new Discourse forum
También probé brevemente herramientas GUI como Cyotek WebCopy, A1 Website Download y WAIL.
Las herramientas de línea de comandos incluyen la herramienta de mcmcclur y wget. Un tutorial sobre wget está [aquí](https://letswp.justifiedgrid.com/download-discourse-forum-wget/).
Sin embargo, para los usuarios de Windows, la mejor solución parece ser HTTrack.
Nota: Como soy un usuario nuevo, estoy limitado a dos enlaces en una publicación. Por lo tanto, convertí algunos enlaces en texto preformateado.