Introducción

Hoy en día es muy común que cualquier empresa tenga su propia web corporativa, con la que incluso llegan a dar servicios, pero lo cierto es que no todas triunfan debido a una mala gestión de la web. En el artículo de hoy te voy a enseñar algunas claves para una correcta gestión de tus páginas web.

Lo más recomendable es que todo lo gestiones tu mismo para un mayor control sobre tu producto, pero, para una óptima gestión de insfraestructuras tecnológicas es indispensable una buena administración de sistemas IT lo que te ahorrará tiempo y esfuerzo.

Lo que voy a contar a continuación son una serie de consejos, ideas y cosas a tener en cuenta para que no tengas ningún problema a la hora de gestionar una página web.

Bases de datos y backups

Administración de bases de datos

Una de las partes cruciales de tu página web son los datos. Los datos pueden ir desde los usuarios registrados en tu web, tus productos disponibles si se trata de un e-commerce, posts, etc.

Imagina que por un fallo inexperado se vacía la base de datos. Si esto ocurre lo más probable es que lo pierdas todo y te quedes sin nada. Dependiendo de tu sector, lo más normal es que tengas automatizada la creación de backups cada cierto tiempo (dependiendo del sector de tu negocio puede ser más tiempo o menos tiempo pero mínimo un backup al día).

Los backups no son más que copias en disco de tu base de datos para que en caso de error la puedas recuperar con facilidad. Hay sectores con datos muy delicado que hacen backups en distintos servidores y discos para asegurar que no se pierde, incluso algunos hacen copias en cintas físicas para evitar errores.

En gitlab, por ejemplo, un día tuvieron muchos problemas porque uno de sus trabajadores borró bases de datos con código y recursos de producción. Mucho lo lograron recuperar pero hubo parte que perdieron: https://about.gitlab.com/2017/02/01/gitlab-dot-com-database-incident/

Seguridad

Administración de la seguridad de una web

Otro factor clave para la gestión de páginas web es la seguridad. Dependiendo del sistema que tengas montado tienes que testear posibles bugs y fallos que se puedan producir en tu página web. Un fallo de seguridad sería fatal para tu página web.

Los fallos pueden ir desde usuarios que pueden acceder a partes de tu web que no deberían (al panel de control por ejemplo), accesos directamente al servidor y su sistema de carpetas, ataques DDoS, etc.

Toda medida de seguridad es poca, y dependerá del sistema y cómo tengas montada tu infraestructura, aunque hay ciertas pruebas que se pueden hacer a todas las páginas web.

Lo que es indispensable es que conozcas a la perfección tu infraestructura. Si tienes un hosting contratado, debes ponerte en contacto con la empresa para saber con exactitud cómo tienen montados los sistemas y qué medidas de seguridad tienen. Si tu mismo controlas la infraestructura tienes que mirar cada punto de acceso y posibles fallos en el sistema.

Lo más normal en empresas grandes es que la propia empresa tenga un departamento de sistemas y seguridad. Si no cuentas con uno, lo que se suele hacer es contratar servicios de auditoría de sistemas y páginas web.

Backend y APIS

Administración de servidores y backend

Si has montado un sistema propio, lo que tienes que comprobar y monitorear es posibles caídas del servicio. Si un página web es dependiente del backend o servidor y éste falla tu aplicación o página web no va a funcionar.

Un aspecto a tener en cuenta es la protección de la API. Si la API se va a encargar de servir datos a páginas solo visibles para ciertos usuarios, tenemos que encargarnos de asegurar que esas llamadas están protegidas mediante autorización. Si la API es abierta tenemos que tener cuidado por si alguien decide explotarla y saturarla.

Otro apartado clave son los logs. Deberías tener montado un sistema de logs para tenerlos todos controlados y accesibles en un solo lugar. Tu backend debería ser capaz de almacenar en esos logs los errores producidos cuando se usa la web.

Una forma efectiva de evitar fallos es tener una buena suite de tests en el código para que cada vez que se suba a producción una nueva versión se pasen todos los tests en busca de fallos en el código.

Lo que se suele hacer con las APIS es un versionado adecuado para que los endpoints no fallen debido a la subida de nuevas versiones. Por ejemplo si el frontend está usando una versión 2 de la API, no debería cambiar de versión hasta que no se a adaptado a las nuevas funcionalidades de la versión 3.

Frontend

Administración de proyectos frontend

Como no podía ser de otra forma, en el frontend también se pueden producir errores que pueden resultar desagradables a tus usuarios. Desde pequeños errores en estilos, pasando por páginas que no se ven bien, hasta páginas que si siquiera funcionan como debería.

Al frontend se añade otros problemas, los problemas causados por los estilos responsive. Ésto hay que tenerlo en cuenta y estar pendiente de cuando se suben cosas nuevas a producción para revisarlo y evitar problemas relacionados con esto,

Como pasa en el lado del servidor, también es importante cada cierto tiempo mirar y actualizar las posibles versiones de las librerías que se estén usando en ese momento para mitigar posibles errores. Recomiendo el uso de un gestor de librerías javascript como npm o yarn.

Otro punto importante son las llamadas HTTP, tanto en backend como en front se tienen que controlar bien para gestionar posibles fallos. Una práctica recomendada consiste en proteger todas las llamadas a servidor con token o autorización. También es importante limitar las APIS para que un usuario no pueda desarrollar un bot o script que explote la API.

Contenidos

Administración de contenidos online

Si tu modelo de negocio es una aplicación web este apartado no te será de mucha ayuda, pero si tienes montado una web tipo blog o una web más enfocada a los contenidos, vas a necesitar una forma de gestionarlos sin tener que andar tocando código.

Hoy en día existen muchos CMS que te facilitan la vida a la hora de gestionar el código para las páginas web, e incluso se encargan de gestionar la base de datos como por ejemplo, Wordpress del que hablaremos más adelante.

Si tu web es muy grande y tienes un backend propio lo mejor es que te montes tu propio sistema de gestión de contenidos, es decir, páginas internas en las que la gente pueda añadir, editar y borrar contenido para tu página web.

Para Google y los usuarios lo mejor es que cada poco tiempo actualices los contenidos ta creados, los amplíes si hace falta y arregles sus posibles errores.

Wordpress, todo en uno. No todo es perfecto.

Administración de contenidos online

Muchas veces se recomienda Wordpress para administrar páginas web y contenidos ya que ofrece un “todo en uno” y en eso estoy de acuerdo. Con wordpress te vas a evitar muchos dolores de cabeza y no vas a tener que mirar tantas cosas por eso es ideal para páginas no muy grandes.

Para páginas más grandes la cosa -se queda algo corta. Aunque es cierto que todavía hay grandes medios que lo utilizan, a la hora de la verdad lo mejor, como he dicho antes es montar tu propio sistema a tu gusto, aunque te cueste esfuerzo y tiempo.

Por experiencia se que con Wordpress, va a haber ocasiones en las que se te quede algo corto o que necesites funcionalidad especifica para crear ciertas cosas. Aunque es cierto que puedes desarrollar plugins y puedes meter código, lo cierto es que vas acabas perdiendo también mucho tiempo.

Otro problema de Wordpress es que lleva mucho tiempo y es muy popular. Que sea tan popular está bien porque hace que haya mucha comunidad y si tienes un problema alguien te lo sepa resolver, pero, al usarse mucho, hace que algunos quieran hackearlo.

Y es que para evitar hackeos otra cosa que tienes que gestionar es los plugins y los temas de Wodpress, porque está visto que con temas y plugins antiguos te expones a mucho riesgo de ser hackeado.

Conclusiones

No se ha comentado, pero también hay que tener en cuenta el escalado de la web. No es lo mismo una web para 10 usuarios que para 10.000 usuarios concurrentemente.

Las empresas grandes tienen sistemas de autoescalado automático para que en caso de afluencia de gente, se repliquen las bases de datos y los servidores para ser capaces de gestionar tanto volumen de gente.

La gestión de las páginas web ya creadas es una tarea que no se puede subestimar, es casi tan importante o más que la creación de la página web.