Mantener un sitio web o blog requiere tiempo y esfuerzo. ¿Has pensado alguna vez qué ocurriría si se perdiese, total o parcialmente, la información o los archivos de código que conforman tu sitio web? Tener que rehacer el contenido, los archivos de código fuente (temas, plugins y personalizaciones de éstos) y la configuración del sitio web puede llevar muchas semanas de trabajo y, mientras tanto, tu marca personal o de empresa se ve afectada, por no decir que puedes perder ventas.
Todo CMS, como es el caso de WordPress, y los plugins y temas que utilizamos, van añadiendo funcionalidades, mejoras y parches de seguridad. No resulta una buena estrategia, sobretodo si se trata de un portal de empresa, actualizar versiones de los componentes del CMS sin antes probarlos en un entorno que no sea el de producción y sin tener garantía de poder volver a la situación anterior a la actualización en caso de que haya problemas con dicho proceso, tanto por lo que respecta a los contenidos como a los archivos que conforman el CMS.
Las copias de seguridad son una de la mejor defensa contra cualquier posible amenaza de seguridad, problema de errores de codificación o problemas de actualización, de ahí que realizar copias de seguridad de forma regular es algo que cada blogger / webmaster debe tener planificado en su agenda.
Si bien existen plugins que sirven para llevar a cabo este tipo de operaciones, y que vuelcan los archivos en el propio servidor o en sistemas de almacenamiento en la nube como Dropbox, yo prefiero no utilizarlos y evitar así un punto más de vulnerabilidad y otro elemento de preocupación en la instalación de WordPress, más atendiendo a que la operativa que hay que llevar a cabo para realizar el backup es muy sencilla.
WordPress se compone de:
- una base de datos
- un conjunto de archivos organizados en una estructura de directorios
Por tanto, la copia de seguridad debe de realizarse de estos 2 elementos.
En este artículo supondremos que tu instancia de WordPress se encuentra en un proveedor de ‘hosting’ y, por tanto, utilizaremos las herramientas que estos proveedores nos proporcionan y que son accedidas desde el denominado cPanel. Así pues, el primer paso será siempre ingresar con nuestras credenciales en el cPanel a través del navegador. Si bien algunos de estos proveedores ponen a nuestro alcance herramientas de backup integrales que resultan el camino más cómodo para, no usaremos esa vía; lo que haremos es determinar cómo hacemos una copia específica de la base de datos y de la estructura de directorios.
Copia de seguridad de la base de datos
Todo el contenido textual relativo a tus páginas y entradas, así como información de funcionamiento interno y configuración (metadatos, datos de usuarios, ajustes de opciones, etc), se almacena en una base de datos en el servidor de tu servicio de alojamiento. Éste suele ofrecer un medio para gestionar las base de datos de tu WordPress (normalmente MySQL). El medio más habitual es la aplicación phpMyAdmin. Debes entrar en esta aplicación desde el cPanel para realizar la copia de seguridad de tu instancia de WordPress, y acceder luego a la pestaña Exportar.
Por la vía «fácil», dejando seleccionada la opción por defecto de Método de exportación rápido, se crea y descarga en tu equipo un archivo denominado localhost.sql (u otro nombre, quizás, pero acabado en .sql) que contiene las sentencias necesarias para rehacer toda la estructura y contenido de tu base de datos (a base de sentencias CREATE TABLE e INSERT). Este archivo es tu copia de seguridad de tu base de datos. Guárdalo a buen recaudo.
No voy a entrar en el significado de estas sentencias SQL, pero este método a mí, particularmente, no me gusta, pues deja totalmente en tus manos la posible necesidad de tener que ejecutar algunas sentencias SQL previas en caso de tener que realizar la restauración y así dejar completamente limpio el contenido anterior y partir de cero (DROP TABLE o TRUNCATE TABLE, o incluso CREATE DATABASE). Así pues, mejor activa la opción Método de exportación personalizado.
Aquí puedes marcar la opción correspondiente al DROP o al TRUNCATE. Yo he optado por ir al apartado Opciones de creación de objetos y seleccionar las casillas del DROP TABLE y del CREATE DATABASE.
Pulsa ahora sobre el botón Continuar y el archivo .sql se descargará en tu ordenador.
Copia de seguridad de la estructura de directorios y sus archivos
Los archivos de tu sitio web se encuentran, normalmente, localizados en el directorio www, que es el directorio donde el servidor web utiliza por defecto para servir las páginas, pero esa ubicación depende de cómo hayas realizado tú la instalación.
Estos archivos son, entre otros, los que contienen el código que el servidor web ejecuta para poder servir a los navegadores las páginas de tu web; además se encuentran entre estos archivos los elementos multimedia que hayas incorporado a tu web -como las fotos- o archivos descargables que hayas incorporado.
Desde el gestor de archivos del cPanel selecciona todo el contenido del directorio donde se halle la instalación de WordPress, selecciona Compress para que se compriman e incluyan en un archivo único y luego descarga ese archivo a tu equipo con la opción de Download.
También puedes realizar esta operación accediendo por FTP a tu servidor.
Conclusión
No hay bofetada más amarga, en el mundo digital, que levantarte un día y comprobar con incredulidad que tu ordenador ha sido víctima de una subida de tensión. Lo peor que te puede ocurrir no es que se haya fundido la placa madre y te hayas quedado sin descarga del torrent del último episodio de El Hobbit en su versión extendida; lo peor es comprobar que se te ha fundido el disco duro y que su contenido (tu vida en fotos, vídeos, documentos de trabajo, etc) se ha ido por la taza del váter. Por pequeña que sea, una sonrisa acude a tu faz cuando eres consciente de que justo ayer hiciste una copia de seguridad y que, fastidios aparte, podrás recuperar aquello que la naturaleza se llevó… Lo mismo puede ocurrir con tu sitio web, así que sé prevenido, no dejes que una eventualidad aciague un espléndido día y haz copia de seguridad en WordPress.