Cómo mover un sitio WordPress a un VPS nuevo
Mover un sitio WordPress significa mover tres cosas: los archivos (sobre todo la carpeta wp-content), la base de datos y el registro DNS de tu dominio. El camino más fácil es un plugin de migración. A mano, copias los archivos, exportas la base de datos, la cargas en el servidor nuevo y corriges las direcciones si han cambiado.
El orden es el mismo con cualquier método: haz la copia de seguridad, prueba en el servidor nuevo y deja el DNS para el final. No apagues el servidor antiguo hasta que el sitio nuevo funcione.
Antes de empezar
- Haz una copia de seguridad completa. Guarda una copia de los archivos y de la base de datos en tu propio ordenador. La guía oficial de migración de WordPress también indica que hagas una copia antes de cualquier cambio en la base de datos.
- Averigua el tamaño. ¿Cuántos MB ocupan la carpeta
wp-contenty la base de datos? Eso decide qué método te conviene. - Compara versiones. ¿La versión de PHP del servidor nuevo funciona con tus plugins antiguos? Actualiza un plugin incompatible antes de moverlo.
- Baja el TTL. Uno o dos días antes del cambio, pon el TTL de los registros DNS de tu dominio en 300 segundos. Así la dirección antigua no permanece mucho tiempo en las cachés.
- Comprueba dónde está tu correo. Cambiar el registro A no afecta a tus registros MX. Si tu correo funciona en el servidor del sitio, hay que moverlo por separado.
Método 1: mover con un plugin
Los plugins de migración empaquetan los archivos y la base de datos en un solo paquete y lo desempaquetan en el sitio nuevo, y la mayoría también corrige las direcciones. Hay tres enfoques habituales:
- Subir un paquete desde el navegador. Creas el paquete en el sitio antiguo, instalas el mismo plugin en el WordPress nuevo y subes el paquete (All-in-One WP Migration funciona así, por ejemplo). Este enfoque choca con el límite de tamaño de subida del servidor.
- Colocar el paquete con SFTP. Plugins como Duplicator te piden copiar el archivo comprimido y un archivo
installer.phpen una carpeta vacía del servidor nuevo, y abrir despuésinstaller.phpen un navegador. Debes crear de antemano la base de datos y su usuario. Al terminar, borrainstaller.phpy el archivo comprimido, porque cualquiera que conozca la dirección podría ejecutar el instalador de nuevo. - Restaurar desde almacenamiento remoto. Con un plugin de copias de seguridad como UpdraftPlus, conectas el mismo almacenamiento en la nube en el sitio nuevo y encuentras la copia con el enlace "Rescan remote storage". Nunca subes el archivo grande por el navegador.
El límite de 64 MB en el servidor WordPress listo para usar
En el servidor WordPress listo para usar de Seturack, puedes subir como máximo 64 MB de una vez. Los plugins que reciben un paquete por el navegador chocan con ese límite. Si tu paquete es más grande, usa la restauración desde almacenamiento remoto o mueve el sitio a mano. Como la aplicación lista para usar funciona en Docker, los archivos no están donde estarían en una instalación clásica. Para un sitio grande que vayas a mover a mano, un servidor Ubuntu limpio con Apache o Nginx instalado es más previsible.
Método 2: mover a mano
Estos pasos son para una instalación clásica en la que los archivos están en /var/www/html. Si ejecutas WP-CLI como root, añade --allow-root a sus comandos. En el servidor antiguo, dentro de la carpeta de WordPress:
- Exporta la base de datos fuera de la carpeta web, porque un volcado que se deje dentro lo puede descargar cualquiera que conozca la dirección:
wp db export ~/site.sql. Sin WP-CLI, usamysqldump -u USER -p DATABASE > ~/site.sql. - Comprime los archivos con
tar -czf ~/files.tar.gz . - Copia ambos al servidor nuevo con
scp ~/site.sql ~/files.tar.gz user@NEW_IP:~/
En el servidor nuevo:
- Crea una base de datos vacía y un usuario para ella.
- Descomprime los archivos en la carpeta web con
tar -xzf ~/files.tar.gz -C /var/www/html - Actualiza en
wp-config.phpel nombre de la base de datos, el usuario y la contraseña con los valores nuevos. Asigna la propiedad al usuario del servidor web (www-dataen Debian y Ubuntu). - Importa la base de datos con
wp db import ~/site.sql. El comando lee sus ajustes dewp-config.phpy no crea la base de datos por ti.
Si el dominio sigue siendo el mismo, no hace falta corregir direcciones. Si cambia, sustituye la dirección antigua por la nueva. Pruébalo primero con --dry-run y no toques la columna guid:
wp search-replace 'https://old.com' 'https://new.com' --skip-columns=guid --dry-run
Si la salida parece correcta, ejecuta de nuevo el comando sin --dry-run. No hagas una búsqueda y sustitución simple en la base de datos, porque los datos serializados pueden romperse. WP-CLI los maneja correctamente.
Prueba en el servidor nuevo antes de cambiar el DNS
Añade la dirección IP del servidor nuevo y tu dominio al archivo hosts de tu ordenador. El archivo está en C:\Windows\System32\drivers\etc\hosts en Windows y en /etc/hosts en macOS y Linux:
203.0.113.10 example.com www.example.com
A partir de ahí, solo tu navegador abre el servidor nuevo, mientras que los demás siguen viendo el antiguo. Prueba el inicio de sesión, las páginas, las imágenes y los formularios, y borra después la línea. El certificado HTTPS suele emitirse cuando el DNS ya apunta al servidor nuevo.
El cambio de DNS
- Si el sitio recibe escrituras constantemente (una tienda, membresías, comentarios), pon el sitio antiguo en modo de mantenimiento, toma la base de datos por última vez y trasládala. Si no, los pedidos hechos durante el cambio se pierden.
- En tu panel de DNS, apunta el registro A a la nueva dirección IP y haz lo mismo con www. El artículo sobre conectar tu propio dominio muestra los pasos.
- Con un TTL bajo, el cambio se extiende rápido. Algunas redes pueden conservar el registro antiguo más tiempo.
- Confirma que HTTPS funciona en el servidor nuevo.
- Cuando todo vaya bien, devuelve el TTL a su valor anterior. Conserva el servidor antiguo unos días y luego apágalo.
Lista de comprobación tras la mudanza
- Abre Settings > Permalinks y haz clic en Save para actualizar las reglas de reescritura.
- Abre la página de inicio, una entrada, una imagen y el formulario de contacto.
- Busca avisos de contenido mixto. Corregir las direcciones resuelve la mayoría.
- Prueba el envío de correo y revisa los ajustes de tu plugin SMTP.
- Vacía la caché de tu plugin de caché.
- Borra
~/site.sqly~/files.tar.gzen los dos servidores. Ambos contienen datos sensibles. - En Settings > Reading, confirma que la casilla que desalienta a los buscadores no está marcada.
Si mueves con un plugin, partir de un WordPress vacío lo facilita. Un servidor con WordPress preinstalado está listo en unos 3,5 a 4 minutos. Echa un vistazo a la página del servidor WordPress.
Comentarios0
Todavía no hay comentarios
Sea la primera persona en compartir su opinión.
Inicie sesión o regístrese para dejar un comentario.