Probablemente te estés preguntando cómo puedes subir una web desarrollada con WordPress al servidor de producción desde el servidor de desarrollo. Si las cosas no se hacen bien en desarrollo poner la web en producción no es un proceso transparente. Posibles errores pueden deberse a:
- No conocer el dominio final de la web
- El servidor de desarrollo estaba en localhost (http://localhost/)
- La versión en desarrollo de la web estaba en un directorio o subdominio
Lo primero: haz una copia de la base de datos
Como con cualquier web, hay que guardar los archivos y la base de datos:
- Descargamos los ficheros vía ftp, yo suelo utilizar FileZilla para ello. Si tenemos la web en local este paso nos lo saltamos.
- Utilizamos phpMyAdmin y exportamos la base de datos. Si tienes dudas de como hacer esto déjame un comentario.
Lo fácil: Configura WordPress en el nuevo dominio
Tras hacer la copia de seguridad (de verdad, la experiencia me dice que hay que hacer copia de seguridad) tenemos que modificar el archivo wp-config.php, el cual se encuentra en la raiz de la instalación de WordPress. Lo abrimos y buscamos las siguientes líneas:
define('DB_NAME', 'basededatos');
define('DB_USER', 'usuario');
define('DB_PASSWORD', 'contraseña');
define('DB_HOST', 'servidor');
Sustituimos los valores (basededatos, usuario, contraseña y servidor) por los valores de configuración de la base de datos que hemos importado en el servidor de producción. Mi recomendación es crear otro archivo wp-config.php con los valores del servidor de producción, para tener la web operativa en el servidor de desarrollo (para posibles futuras mejoras y actualizaciones) y en el servidor de producción.
La magia: actualiza las urls de WordPress
ACTUALIZACIÓN 2017: Os recomiendo que en este paso utilicéis un plugin extremadamente sencillo llamado Velvet Blues Update URLs. Lo podéis instalar directamente del repositorio de WordPress en vuestro panel de administración. Si preferís hacerlo manualmente, a continuación tenéis el proceso descrito paso a paso.
Este es el punto clave por el que todo el mundo me pregunta sobre cómo migrar WordPress de dominio. En casi todos los artículos que he leido dicen que con ir al administrador y modificar en la configuración la url de la web y la del blog por los nuevos valores ya servía, pero en la práctica no es así (y si no me creéis os invito a hacerlo). El caso es que WordPress guarda internamente las urls absolutas de páginas, posts, imágenes, etc. Para poder actualizar estas urls hay que actualizarlas “a mano” en la base de datos, pero no os alarméis, no hay que ir una a una. En principio, solo hay que hacer 4 consultas (UPDATEs), y digo “en principio” porque dependerá de los plugins que utilicéis, porque algunos pueden guardar urls en las tablas que crean en la base de datos cuando se instalan.
Las consultas que hay que ejecutar realmente son la misma, repetida 4 veces sobre 3 tablas diferentes, modificando 4 atributos de las tablas. Os detallo en una tabla las tablas que hay que actualizar y, en cada una de ellas, el artibuto en concreto:
Tabla | Atributo |
---|---|
wp_options | option_value |
wp_posts | post_content |
wp_posts | guid |
wp_postmeta | meta_value |
Y a continuación, os detallo las consultas que hay que hacer para actualizar cada uno de estos atributos:
UPDATE wp_options
SET option_value = REPLACE(option_value,'dominio_viejo','dominio_nuevo');
UPDATE wp_posts
SET post_content = REPLACE(post_content,'dominio_viejo','dominio_nuevo');
UPDATE wp_posts
SET guid = REPLACE(guid,'dominio_viejo','dominio_nuevo');
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value,'dominio_viejo','dominio_nuevo');
Con esto ya lo tenéis hecho, la migración debería estar finalizada y funcionando en el nuevo dominio. Si tienes alguna duda o algún problema déjame un comentario y te intento echar una mano.