Aspectos fundamentales en el mantenimiento de tu sitio web
Ya sea para un sitio web personal como para un sitio web comercial, se debe contar con un buen mantenimiento para evitar sufrir una degradación del servicio que implique una devaluación de nuestra marca personal y/o comercial. Analizaremos qué aspectos básicos debería contemplar un mantenimiento web y qué límites debería tener, porque aunque a veces no lo parezca, no todo es mantenimiento web.
¿Qué es y qué no es un mantenimiento web?
Todas aquellas actuaciones que ayuden a evitar una degradación del servicio formarán parte de lo que consideramos mantenimiento web.
Algunas de las actuaciones más comunes consideradas como mantenimiento web son las siguientes:
- Copias de seguridad (Servidor, Aplicativo).
- Aplicar actualizaciones (Servidor, Temas, Plugins, Extensiones, Dependencias, etc).
- Corrección de errores.
- Monitorización del tiempo de actividad.
Hay que tener en cuenta que muchas empresas especializadas ofrecen un servicio de “todo incluído” en el que se contemplan disciplinas como SEO y/o diseño web. Sin embargo, y aunque no es del todo incorrecto, no serían propiamente acciones de mantenimiento como tal, sino que entrarían dentro del ámbito de “mejora”.
Mantenimiento integral (Hosting + App)
Por norma general, cuando hablamos de mantenimiento web hablamos de un mantenimiento que abarca la tecnología web empleada para ofrecer el servicio, como por ejemplo: WordPress.
Sin embargo, puede existir la posibilidad de que también sea necesario realizar un mantenimiento del hosting, ya que con la llegada de servicios como Google Cloud Platform o DigitalOcean, es responsabilidad del usuario final que dicho servicio funcione correctamente.
Consideraciones (Hosting)
Lo recomendado para la gran mayoría de los casos, sería contratar un servicio de hosting que se preocupe de proporcionar un servicio de calidad. Algunas de las características más recomendadas son:
- Copias de seguridad diarias.
- Restauración de copias de seguridad*.
- Estadísticas y/o monitorización del servicio.
- Actualización periódica de tecnologías utilizadas (Node, Git, NPM, PHP, etc).
Consideraciones (Aplicativo)
Copias de seguridad
Realizar copias de seguridad de forma periódica, ya sea integral o incremental. Las copias de seguridad deben contemplar tanto el sistema de ficheros como la base de datos (si existen).
Restauración inmediata
No hay nada más frustrante que disponer de una copia de seguridad y no poder ejecutar la restauración de dicha copia de forma instantánea. Es muy recomendable realizar al menos una vez una prueba de restauración en entornos previos para poder validar el proceso y/o encontrar deficiencias.
Entornos previos
Contar con entornos previos (TST o PRE) permite anticipar una degradación del servicio cuando se han realizado actualizaciones de seguridad o incorporado nuevas funcionalidades. También como hemos comentado anteriormente, en el apartado de Restauración inmediata son entornos que nos ayudarán a validar este proceso sin comprometer entornos de producción.
Medición rendimiento sitio web
Es importante conocer el estado inicial del servicio y evaluar a lo largo del tiempo como responde antes nuevas actualizaciones o aplicaciones de medidas de seguridad, porque como ya hemos comentado, la finalidad de un mantenimiento web es la de garantizar un buen servicio de nuestra aplicación.
Medidas de seguridad
Dependiendo de la tecnología escogida para el sitio web se deberán tener en cuenta ciertos aspectos de seguridad. Por ejemplo, si se va a contar con un CMS como WordPress o Drupal posiblemente, una de las primeras cosas que se debería realizar, sería limitar el acceso al panel de administración para evitar ataques por fuerza bruta.
Sistema actualizado
Si se quiere evitar una degradación del servicio y la exposición a vulnerabilidades conocidas, es necesario tener un sitio web debidamente actualizado, así como cada uno de los componentes y aplicaciones que lo conforman. Si se dispone de entornos previos, es muy recomendable realizar las actualizaciones en dichos entornos para valorar la compatibilidad y estabilidad del aplicativo tras las actualizaciones.
Corrección de errores y/o degradación del servicio
En este punto se debe localizar qué ha generado la degradación del servicio y tratar de subsanar la anomalía a través de soporte técnico de la aplicación, plugin y/o extensión implicada si fuera el caso. Si esto no fuera posible, se debe valorar la posibilidad de regresar a una versión previa en la que el sitio web funcionaba correctamente. En última instancia, se puede tratar de aplicar un parche propio que implique un seguimiento del mismo para que pueda mantenerse en el tiempo en futuras actualizaciones.
Limpieza y optimización de la BD
En muchas ocasiones, sistemas CMS como WordPress almacenan mucha información irrelevante e inservible en la base de datos. Un ejemplo muy claro de ello es la tabla wp_options en la que se establecen muchos de los parámetros de WordPress en todas y cada una de las peticiones que se realizan. Es por ello que si esta tabla se va acumulando de opciones “no necesarias” puede ir en detrimento de la velocidad de carga y repercutir en el TTFB.
Pruebas de carga
Un aspecto fundamental de los sitios web es saber dónde están sus límites y qué son capaces de soportar. Existen herramientas como JMeter o K6, entre otras, que pueden ayudar a medir y actuar en consecuencia en caso de necesitar más recursos o informar que el aplicativo no está funcionando correctamente desde la última actualización.
Monitorización de tiempo de actividad
Es importante disponer de un monitor de actividad que reporte diariamente el tiempo que nuestro aplicativo está activo y en qué momento ha dejado de estar activo. De este modo sabremos si es algo puntual o se reproduce de forma continua en el tiempo al realizar alguna acción específica en nuestro sitio web.
Existen varias herramientas y formas de recoger dicha información:
- Creación de un script de tipo health-check.
- Monitorización propio servidor (Gatus)
- Monitorización de terceros (UptimeRobot)
Conclusión: claves para garantizar el mantenimiento de un sitio web
Estos serían los aspectos más relevantes a tener en cuenta a la hora de contratar un servicio de mantenimiento web. En cualquier caso, cabe destacar que un mantenimiento puede abarcar estos u otros puntos, pero en todo caso se debe garantizar la estabilidad del servicio.
(*) Cada hosting dispondrá de condiciones específicas para este servicio.