Hay una
lista de tareas a realizar al publicar un sitio web.
Algunas hay que repetirlas o revisarlas periódicamente,
además de ir añadiendo otras nuevas, incluso si el contenido
del sitio o sus funcionalidades se mantienen.
Revisar y actualizar / mejorar, empezar de nuevo...
La web evoluciona a diario, lo que vale hoy
puede necesitar ser corregido dentro de quince días.
Este sitio web tiene ya 5 años...
Con el tiempo he ido haciendo pequeños ajustes, pero llega
la hora de revisar diferentes aspectos en profundidad y trabajar
sólo en optimizar y mejorar durante algunos días,
a veces sin cambios aparentes: los contenidos son los mismos
y la funcionalidad también. Son mejoras difíciles de vender,
"trabajo invisible".
¿Qué he cambiado?
Seguridad parte cliente.
Corregidas vulnerabilidades que pueden suponer problemas
para el usuario.
Mejoras UI y accesibilidad.
Correcciones y mejoras para facilitar el acceso a contenido
para personas con problemas de visibilidad.
Mejoras rendimiento cliente.
Reducidos tiempo de carga y peso del contenido.
¿Y si no hacemos nada?
Con el tiempo...
Cambian las normas de juego,
por ejemplo, Google modifica sus algoritmos
de análisis de ciertos aspectos o establece normas
de calidad que antes no existían.
Surgen vulnerabilidades
en las tecnologías de base o el propio sitio o
nuevos métodos de ataque
que hay que paliar.
Aparecen o se generalizan técnicas
mejores para hacer algo o hemos aprendido cosas nuevas.
Hay nuevos dispositivos en el mercado.
Cambian las tendencias en el diseño.
Queremos alcanzar un público más amplio o diferente.
Aparecen nuevos competidores o perdemos posicionamiento.
Hemos "ensuciado" el código al añadir contenido o modificaciones.
Todos estos aspectos más o menos importantes, determinan cuanto trabajo hay que dedicar a mantener o a potenciar un sitio web y su viabilidad.
Listas de tareas de mantenimiento
Es difícil precisar una serie de tareas a repetir periódicamente
ya que cambian con el tiempo, en general:
Mantener el código limpio.
Que las mejoras o los nuevos contenidos no nos generen
deuda técnica.
Mantener una estructura coherente.
Organizar todos los contenidos de una única forma: los nuevos
contenidos deben seguir las estructuras previas, si las cambiamos,
adaptar el contenido preexistente.
Seguir buenas prácticas y recomendaciones.
Las buenas prácticas se mantienen en el tiempo.
Hacer algo mal sólo porque es más fácil
y funciona, suele causar problemas futuros.
Como siempre, los puntos anteriores están más o menos relacionados.
1. Mantener el código limpio
Validar HTML y
CSS,
sobre todo después de añadir o modificar páginas.
Comprobar la validez de los enlaces del sitio, por ejemplo, en
drlinkcheck.
Mantener el mismo tipo de encabezados, índices, menús,
breadcrumbs, cuadros de texto, tablas, etc.
en todas las páginas del sitio. Lo mismo en cuanto a colores,
tipos de fuente, etc.
Los contenidos nuevos y antiguos tendrán la misma apariencia.
3. Seguir buenas prácticas y recomendaciones
Usar un linter o herramientas del editor
que ayuden a escribir el código siguiendo las reglas de estilo,
estándares en PHP, etc.
Auditoría web
Hay una gran diversidad de aspectos y características que
pueden ser probadas, por ello debemos recurrir al uso de aplicaciones
de auditoría web que evaluarán en cada momento
diferentes aspectos y nos ofrecerán resultados de lo que
está bien y mal y recomendaciones de mejora.
Comprobar rendimiento, accesibilidad, SEO, etc. de
la página web actual con Chrome Lighthouse.
Abrir las Chrome dev tools y acceder a la pestaña de Lighthouse.
Las herramientas de auditoría,
salvo en casos concretos, habrá que usarlas de forma combinada
para cada propósito:
algunas lanzan errores o advertencias que pueden no ser tales
(no tienen alguna regla, no contemplan nuevas directivas, etc.),
o no detectar errores como en el caso de este
validador HTML
que si muestra por ejemplo este otro
validador HTML.
Nunca usar el primero,
¡no detecta numerosos errores!. Por ejemplo,
el atributo rel
no puede tener un valor internal,
ya que NO existe...
Los enlaces se consideran "internos" por defecto si no se especifica un valor
external
para el atributo rel.