Migrar WordPress de un dominio a otro
feb 2, 2011 by admin
Pues me he encontrado con la situació de migrar un blog WordPress de un dominio a otro dominio, incluyendo de empresa de hosting y cambiando el nombre de las tablas.
La manera en que he decidido hacerla es la forma manual, aunque en la página de Changing The Site URL te explican varias maneras de hacerlo de forma mas o menos automática. Con que no he querido probarlas, me he ido a la más segura, pero también la más larga.
Lo primero de todo es exportar la base de datos a traves del phpmyadmin. Exporto todas las tablas con las opciones por defecto (si esta seleccionada la casilla if not exist, deseleccionarla, a mi me ha dado problemas al importar.
Cabe decir que el host al que lo he llevado es de 1and1 y el pack que tengo contratado es el inicial. Esto quiere decir que en el phpmyadmin no me sale la opcion de importar tablas en el mismo sitio en el que se puede encontrar en un phpmyadmin completo (creo que el que te da 1and1 esta capadillo), por tanto he tenido que buscar otra alternativa.
Después de probar de conectarme por ssh al hosting (como te explica la FAQ de 1an1 para importar tablas a MySql) y ver que no podia he encontrado este boton que me abria esta ventana. Aqui aparece la opcion de importar.
Pero bueno antes de importar la base de datos subimos el wordpress mediante ftp al nuevo sitio y lo instalamos. Y luego substituimos la carpeta wp-content nueva por la del otro sitio, asi tendremos todos los posts, fotos, etc, que teniamos en el blog.
Una vez instalado nos metemos en el phpmyadmin y importamos las tablas del otro sitio y como he leido en el post de Como Cambiar la Url de tu WordPress he actualizado la direccion del blog a la nueva direccion en los valores siteurl y home de la tabla xx_options (xx es el prefijo que se tenga)
Una vez hecho esto he seguido lo que dice Changing The Site URL , introduciendo este condigo en una consulta SQL
UPDATE wp_posts SET guid = REPLACE ( guid, 'http://exampleoldsiteurl.com', 'http://examplenewsiteurl.com');
Con esto cambio el dominio antiguo que esta en cada post o página al nuevo.
Cuando haces todo esto piensas que has acabado, pero no, queda un último paso.
Al intentar entrar en la parte de administración he recibido el siguiente error,
No tiene permisos para acceder a esta página
NeoEGM.com explica que para solucionarlo tienes que hacer una consulta SQL desde el phpmyadmin del dominio destino con este codigo
UPDATE `wp_nuevo_prefijo_usermeta` SET `meta_key` = REPLACE(`meta_key`, 'wp_', 'wp_nuevo_prefijo_'); UPDATE `wp_nuevo_prefijo_options` SET `option_name` = 'wp_nuevo_prefijo_user_roles' WHERE `option_name` = 'wp_user_roles' AND `blog_id` = 0;
En su página tiene un generador que pones el prefijo antiguo de las tablas y el nuevo y te genera la consulta para tus prefijos, muy útil
Con todo esto ya he podido acceder normalmente al blog en el nuevo dominio y con las tablas con otro nombre