Páginas de error 404 personalizadas en Pelican

Cuando comencé mi aventura con el generador de contenido estático Pelican cometí muchas equivocaciones, por eso al principio me aparecian muchos errores 404 de páginas o recursos no encontrados.

Al principio, el servidor web me mostraba una página de error genérica, pero lo mejor es ofrecer una página personalizada que ofrezca algún tipo de ayuda.

En mi caso, puse un enlace al archivo general donde están enlazados todos los artículos del sitio y un cuadro de búsqueda.

Pero vámonos por pasos.

Crear la página personalizada

Edición del archivo 404.md

En la carpeta content / pages de mi proyecto hice un archivo con el nombre 404.md con un contenido muy similar a este:

Title: Archivo no encontrado
Status: hidden
Save_as: 404.html

El artículo solicitado no pudo ser localizado.

Tal vez quiera revisar el [Archivo general](https://centaurodelnorte.com/archivo.html).

Noten los encabezados, son importantes.

Informar al servidor web

Ahora hay que informarle al servidor web que existe una página personalizada para mostrar cuando existan estos errores.

Si estan usando un servidor web Apache o similar (en mi caso uso el servidor LiteSpeed ). Para eso hay que modificar el archivo .htaccess (o crearlo si no existe) y agregar esto:

# Error 404
ErrorDocument 404 /404.html

Con eso será suficiente.

Un tip adicional

Esto lo descubrí un poco a la mala. El archivo .htaccess no se genera automáticamente en Pelican a menos que así lo configuren.

Para eso, hice un archivo llamado htaccess.txt en la carpeta content / assets con todas las modificaciones que le he hecho a mi archivo .htaccess (incluyendo la anterior).

En el archivo de configuración de Pelican me encontré con el diccionario EXTRA_PATH_METADATA y agregué el archivo htaccess.txt como se muestra a continuación.

EXTRA_PATH_METADATA = {
    'assets/robots.txt': {'path': 'robots.txt'},
    'assets/favicon.ico': {'path': 'favicon.ico'},
    'assets/htaccess.txt': {'path': '.htaccess'},
}

De esa forma toma el contenido del archivo htaccess.txt y lo copia correctamente como un archivo .htaccess en la carpeta output del proyecto.

Y lo seguirá haciendo cada vez que genere el contenido estático de mi sitio.

¿Le han dado un vistazo a Pelican? en estos días de tanta amenaza informática vale la pena considerar este tipo de herramientas.

¡Hasta la próxima!.