A menudo se nos plantea la necesidad de tener que copiar una web basada en WordPress de un servidor a otro. Por ejemplo del servidor local de desarrollo al servidor donde queremos publicarlo.
Podríamos optar por instalar WordPress de la manera normal en el destino, y exportar e importar los contenidos mediante la herramienta que nos proporciona el escritorio de WordPress. Pero no dejará de ser laborioso porqué también tendremos que activar el tema correspondiente, activar plugins, configurar cosas, etc, y es propenso a errores
Lo mejor es hacer una copia exacta siguiendo las siguientes instrucciones
En resumen: Queremos mover un WP desde A hasta B
A puede ser un servidor local y B un servidor remoto, o al revés, o puede ser moverlo de una carpeta a otra en cualquier servidor
Pasos a seguir:
- Entrar en el WP de A y desactivar los enlaces permanentes en Ajustes/enlaces permanentes marcando la primera opción (predeterminado) Al final del proceso, cuando lo tengamos en B, volveremos a activar la opción de enlaces permanentes elegida (esto es para evitar problemas con el archivo .htaccess)
- Copiamos todos los archivos de A en B
- Exportamos la base de datos a un archivo con phpmyadmin desde A , mejor si está comprimido en gzip (tendremos un archivo con el dump). Creamos una base de datos vacia en el servidor de B (sinó existe ya) e importamos todos los datos del dump (archivo de exportaciónDe esta manera tenemos una copia exacta de la base de datos
- Ahora ya lo tenemos todo pero falta cambiar el archivo wp-config.php para que wordpress encuentre la base de datos. Hay que editar en wp-config los valores DB_NAME, DB_USER y DB_PASSWORD y poner los del servidor correctamente.Probamos a entrar en WP y comprobar que los datos correctos (en caso contrario dirá que no se puede conectar con la base de datos)
- Editar la base de datos. En phpmyadmin buscar la tabla wp_options y editar los registros con value “siteurl” y “home” indicando la nueva ruta( O alternativamente, si no queremos editar la base de datos, se puede añadir en wp-config al final de todo las siguientes lineas que le indican a wordpress donde están sus archivosdefine(‘WP_HOME’,’http://www.ejemplo.net/wordpress/’);define(‘WP_SITEURL’,’http://www.ejemplo.net/wordpress/‘); )
- Dar permisos de escritura a la carpeta wp-content/uploads. Con Filezilla por ejemplo lo podemos hacer seleccionando esta carpeta y cambiando los permisos. En caso contrario WP funcionará pero no nos dejará subir archivos (imagenes, etc)
Y con estos pasos habremos conseguido una copia exacta del WP que teniamos en A, en B!