Gestionar los enlaces de una bitácora con Hugo

Escrito por el .
blog planeta-codigo
Enlace permanente Comentarios

Incluir enlaces a otras web u otras páginas o artículos dentro del mismo sitio es el fundamento de internet y como tal es muy común. En el momento que queramos cambiar la URL de un enlace que haya sido incluido múltiples veces en un sitio puede que no nos sea una tarea sencilla, ni para buscarlos o por hacerlo uno a uno. Usando Hugo sigo la forma que explico a continuación para simplificar el sustituir una URL que cambia y para simplificar el hacer referencia e insertar los enlaces.

Blog Bitix

Una de las tareas más comunes en una página web o en una bitácora es incluir enlaces a otras páginas, el enlace es uno de los elementos básicos que forman la web. Es probable que en muchas páginas o artículos incluyamos repetidamente los mismos enlaces y como resultado tendremos en muchas páginas y artículos los mismos enlaces. El día que unos de esos enlaces cambie de alguna forma su dirección URL deberíamos actualizar todas las páginas o artículos para referenciar la nueva URL y no tener enlaces rotos. Puede no ser una tarea sencilla, más si usamos WordPress, Blogger o una herramienta similar. Voy a comentar como he resuelto este posible problema en mi bitácora en la que uso Hugo.

Hace un par de años cambié de usar Blogger a usar Octopress y después de un tiempo de usar Octopress a usar Hugo. Octopress o Jeckyll y Hugo son herramientas muy similares, básicamente los dos son generadores estáticos de páginas web o bitácoras que después de alojan en cualquier servidor web o en servicios como GitHub Pages.

Para no incluir en las páginas o artículos las mismas URLs una y otra vez tengo un archivo de referencias a enlaces en el que en formato markdown a cada URL le doy un identificativo. Posteriormente hago uso de una facilidad que proporciona Hugo que son los shortcodes similares a pequeños contenidos que pueden ser incluídos en los archivos de contenido u otras plantillas, este sería un trozo de un archivo de enlaces:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[abiword] : https://www.abiword.org/
[activiti] : https://activiti.org/
[adobe-acrobat-reader] : https://get.adobe.com/es/reader/otherversions/
[adblockplus] : https://adblockplus.org/es/
[alfresco] : https://www.alfresco.com/
[amazon] : https://www.amazon.es/
[amazon-ec2] : https://aws.amazon.com/es/ec2/
[amd] : https://www.amd.com/
[android] : https://www.android.com/
[angular] : https://angularjs.org/
[ansible] : https://www.ansible.com
[apache] : https://httpd.apache.org/
[apache-httpcomponents] : https://hc.apache.org/
[apache-poi] : https://poi.apache.org/
[appfog] : https://www.appfog.com/
links.html

El día que un enlace cambie basta con que lo modifique en el archivo enlaces sin tener que revisar, buscar, reemplazar y editar los archivos de contenido.

Esto para los enlaces externos hacia otras páginas pero de forma similar lo aplico a los enlaces internos hacia otras páginas de la bitácora. A cada artículo le asigno un número secuencial según los voy escribiendo y publicando, con esa secuencia creo un identificativo para el artículo y le asocio su URL.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[blogbitix-0] : https://picodotdev.github.io/blog-bitix/2013/12/hola-nuevo-mundo/
[blogbitix-1] : https://picodotdev.github.io/blog-bitix/2013/12/usar-el-dni-electronico-con-firefox-en-linux/
[blogbitix-2] : https://picodotdev.github.io/blog-bitix/2013/12/enviar-correos-electronicos-firmados-con-el-dnie-y-evolution/
[blogbitix-3] : https://picodotdev.github.io/blog-bitix/2013/12/firmar-digitalmente-documentos-con-el-dnie-y-sinadura/
[blogbitix-4] : https://picodotdev.github.io/blog-bitix/2013/12/hemeroteca-4/
[blogbitix-5] : https://picodotdev.github.io/blog-bitix/2014/01/raspberry-pi-como-media-center-con-geexbox/
[blogbitix-6] : https://picodotdev.github.io/blog-bitix/2014/01/iniciar-la-raspberry-pi-desde-un-disco-o-memoria-usb/
[blogbitix-7] : https://picodotdev.github.io/blog-bitix/2014/01/mi-experiencia-y-consejos-para-un-blog/
[blogbitix-8] : https://picodotdev.github.io/blog-bitix/2014/01/ejemplo-del-patron-de-diseno-no-operation/
[blogbitix-9] : https://picodotdev.github.io/blog-bitix/2014/01/logging-usando-marcadores-con-slf4j-y-logback/
[blogbitix-10] : https://picodotdev.github.io/blog-bitix/2014/02/servidor-de-aplicaciones-jboss-slash-wildfly/

...

[elblogdepicodev-0] : https://elblogdepicodev.blogspot.com.es/2010/02/hola-mundo_06.html
[elblogdepicodev-1] : https://elblogdepicodev.blogspot.com.es/2010/02/cambiando-el-fondo-de-pantalla-del.html
[elblogdepicodev-2] : https://elblogdepicodev.blogspot.com.es/2010/02/cambiar-el-fondo-de-pantalla-de-gdm.html
[elblogdepicodev-3] : https://elblogdepicodev.blogspot.com.es/2010/02/configurar-modo-grafico-de-grub-2.html
[elblogdepicodev-4] : https://elblogdepicodev.blogspot.com.es/2010/02/enlaces-de-la-semana-6-del-2010.html
[elblogdepicodev-5] : https://elblogdepicodev.blogspot.com.es/2010/02/escuchar-radios-traves-de-internet-con.html
[elblogdepicodev-6] : https://elblogdepicodev.blogspot.com.es/2010/02/alternativas-tus-programas-propietarios.html
[elblogdepicodev-7] : https://elblogdepicodev.blogspot.com.es/2010/02/cambiar-los-punteros-del-raton-en-arch.html
[elblogdepicodev-8] : https://elblogdepicodev.blogspot.com.es/2010/02/enlaces-de-la-semana-7-de-2010.html
[elblogdepicodev-9] : https://elblogdepicodev.blogspot.com.es/2010/02/publicado-calendario-gnome-30.html
[elblogdepicodev-10] : https://elblogdepicodev.blogspot.com.es/2010/02/instalar-el-tema-de-iconos-gnome-colors.html
links-posts.html

Con estos archivos usando la sintaxis de markdown con \[texto enlace\]\[identificativo-enlace\], por ejemplo \[¡Hola nuevo mundo!\]\[blogbitix-0\], puedo hacer referencia a los enlaces con su identificativo y al generar el contenido estas referencias será sustituidas por los enlaces referenciados.

Rastreando la página web o bitácora podremos encontrar y posteriormente corregir los enlaces rotos que encontremos. En el artículo cómo buscar los enlaces rotos de un sitio web comento varias formas de descubrir estos enlaces que en su momento lo fueron pero han dejado de ser válidos y que proporcionan una mala experiencia al usuario.


Comparte el artículo: