Migrar wordpress


http://satirnet.sytes.net/wordpress satirnet.com/anibal

Migrar una web siempre es complicado cuando hay una base de datos de por medio. Pero en el caso de WordPress, más aun, puesto que a alguna mente brillante en su día se le ocurrió que en la base de datos había que guardar ciertos datos con la URL completa. No digo que en algunos casos no sea necesario, pero sí que esto es un claro ejemplo de práctica a evitar.

Supongamos que queremos migrar de un servidor a otro. Es un proceso delicado, que si sabemos hacerlo bien, no hay problema.

Preparando el terreno

Antes de empezar, debemos tener:

  • Acceso a la base de datos antigua (phpMyAdmin). Llamemosle phpMyAdmin #1.
  • Acceso a la base de datos nueva (phpMyAdmin). Este será phpMyAdmin #2.
  • Los datos de conexión a la base de datos nueva.
  • Acceso FTP al servidor antiguo, que llamaremos FTP #1.
  • Acceso FTP al servidor nuevo, que acortaremos con FTP #2.

¡Y recuerda que el nuevo servidor debe cumplir los requisitos de WordPress!

Lo primero es acceder al FTP #1 y descargar todos los archivos de la raíz de instalación de WordPress (donde estén las carpetas wp-admin, wp-content y wp-includes, esa es la raiz de WordPress). Mientras se descarga vamos a poner unos ajitos a freir… digo, vamos accediendo al phpMyAdmin #1 y accedemos a la base de datos donde están todas las tablas de WordPress. Este es un paso importante, porque si no lo hacemos así, luego la importación fallará. Es un paso a veces un poco absurdo de phpMyAdmin, sobre todo cuando sólo tenemos una base de datos, pero necesario por si tuvieramos más. Seguidamente, pulsaremos en la pestaña “Exportar” que tenemos arriba a la derecha.

Ahora depende un poco de la versión de phpMyAdmin que tengamos, pero las más avanzadas solo muestran dos opciones: Básica y Avanzada. Si es tu caso, elije Avanzada y la pantalla que verás será parecida a la que voy a explicar (versión antigua).

Veremos un cuadro con todas las tablas. Debajo vemos “Seleccionar Todo / Deseleccionar todo”. Pulsamos en Seleccionar Todo, y nos aseguramos de que está seleccionada debajo la opción “SQL”.

 

No es necesario modificar ninguna de las opciones del cuadro de “Opciones”. Finalmente, abajo hay un cuadro en el que marcaremos que queremos un archivo descargable, comprimido con bzip. Podemos marcar el tipo de compresión que más nos guste, pero bzip hace un archivo “más comprimido”, algo muy importante de cara a importar luego una base de datos, ya que muchos servidores ponen restricciones de tamaño absurdamente bajas, como por ejemplo, 2048MB (2MB). Estan conmigo en que cualquier base de datos de una web con cierto rodaje pesa algo más.

 

A estas alturas ya debería haberse descargado todo el contenido de FTP #1. Si no, espera un poco (en lo que esperas, podrías contratar una linea de ADSL más rápida, sólo es una sugerencia… no, es broma, sabemos que son muchos archivos y eso tarda un pelín).

¿Ya? Bien, ahora abre el archivo wp-config.php y modifica las siguientes líneas:

// ** Ajustes de MySQL. Solicita estos datos a tu proveedor de alojamiento web. ** //
/** El nombre de tu base de datos de WordPress */
define(‘DB_NAME’, ‘nombre_de_tu_base_de_datos’);
/** Tu nombre de usuario de MySQL */
define(‘DB_USER’, ‘usuario_de_tu_base_de_datos’);
/** Tu contraseña de MySQL */
define(‘DB_PASSWORD’, ‘password’);
/** Host de MySQL (es muy probable que no necesites cambiarlo) */
define(‘DB_HOST’, ‘localhost’);

 

 

Hecho esto, sube el WordPress que acabas de descargarte al FTP #2. Mientras tanto, accedemos a phpMyAdmin #2 y entramos en la base de datos donde vamos a instalar el WordPress. Aquí buscamos el botón “Importar”. Encontramos un campo para subir un archivo, que es nuestro archivo comprimido de phpMyAdmin #1, y lo subimos. Si lo hemos hecho bien, nos debería decir que la importación se ha realizado correctamente.

El camino ahora se divide. Nos podemos encontrar con los siguientes casos: migración sin cambio de dominio y migración con cambio de dominio.

Migrar WordPress a otro servidor sin cambiar de dominio

Bien, imaginemos que accedemos a nuestra web a través de http://midominio.com, y que hemos hecho un traspaso de dominio y sólo vamos a cambiar de hosting, a nuestro dominio seguiremos accediendo con http://midominio.com. En ese caso, sólo tendremos que importar el archivo que nos descargamos desde phpMyAdmin #1.

Con esto y un bizcocho, ya hemos terminado la migración.

Migrar WordPress a otro servidor cambiando de dominio

Nos va la marcha. Además de cambiar de servidor, cambiamos de dominio. Ojo: con “cambiar de dominio” me refiero a todo cambio en la URL de nuestro WordPress. Esto también afecta a que pasemos de http://midominio.com/subdirectorio a http://midominio.com, incluso aunque no cambiemos de servidor. Al fin y al cabo, vamos a tener que modificar la base de datos.

Afortunadamente hace unas semanas escribí sobre cómo reemplazar cadenas en MySQL, lo cual va a aliviar infinitamente nuestra carga.

Desde phpMyAdmin #2, una vez importada la base de datos, accedemos a la pestaña SQL y ejecutamos (una a una mejor) las siguientes líneas:

 UPDATE wp_options SET option_value = REPLACE ( option_value, ‘dominioantiguo.com’, ‘dominionuevo.com’ );

UPDATE wp_posts SET guid = REPLACE ( guid, ‘dominioantiguo.com’, ‘dominionuevo.com’ );

UPDATE wp_posts SET post_content = REPLACE ( post_content, ‘dominioantiguo.com’, ‘dominionuevo.com’ );

UPDATE wp_postmeta SET meta_value = REPLACE ( meta_value, ‘dominioantiguo.com’, ‘dominionuevo.com’ );

Finalizando

Hecho todo esto, si la subida de archivos a FTP #2 ha acabado, tu WordPress ya debería funcionar en el servidor nuevo. Si no es así, revisa el tutorial, y ten en cuenta:

  • Si acabas de comprar tu dominio/servidor, es posible que aun las DNS no estén propagadas. Estos cambios suelen estar totalmente aplicados a nivel global unas 24/48 horas después de la compra.
  • Revisa el archivo wp-config.php que has subido, quizá has puesto mal los datos de la base de datos.
  • Revisa que has subido correctamente los archivos y la base de datos.

También hay que actualizar los enlaces permanente y con eso queda

actualizar tabla

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 actualizarñas “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’);

Fotos y links

principales-blogs

 

CAMBIE CARGA / IMPORT LÍMITE DE TAMAÑO EN PHPMYADMIN

Importación límite está dado por la configuración PHPComunidad, y para cambiar este límite tendrá que editar el archivo de configuración que responde PHP (php. Máquinas).

Dependiendo del sistema utilizado, php. Las máquinas pueden estar situados en «php.ini / etc /», «/ etc / php5 / apache2 / php.ini» o una ubicación diferente enServidor web. Lo más fácil es dar con su paradero que iniciar sesión en el servidor (a través de SSH) Y dar la línea de comandos «localizar php.ini. «Después de localizar el archivo php.ini, vaya a editar.

max_execution_time = 60 , El tiempo máximo de ejecución de cada script, en segundos (Dead 30)
max_input_time = 90 , La cantidad máxima de tiempo que cada script puede pasar fecha de solicitud de análisis (Dead 60)
memory_limit = 128M , La cantidad máxima de memoria que un script puede consumir (128mb Dead)
upload_max_filesize = 200M , El tamaño máximo permitido para los archivos subidos. (Dead 2mb)
post_max_size = 180M , El tamaño máximo de la POST PHP Data que aceptará.

En nuestro caso, establecer el tamaño máximo del archivo que desea importar no es más que 180MB. Esto significa que puede importar a través de bases de datos phpMyAdmin para 180MB.

 

Otra de las cosas que es funcional para mi fue bajar la versión de WordPress, copiar la base de datos en el nuevo servidor e intentar utilizar la base de datos utilizada.

Esto solo cuando tras la migración las imágenes no se ven aunque si existen.

Una vez instalado de esa manera, recomiendo subir la carpeta uploads, después subir los temas instalados en el server viejo y finalmente subir los plugins.

Todo esto si se cambio de nombre el servidor y la url, que fue el caso que tuve que hacer.

 

Facebook Comments

Acerca de Anibal

Ingeniero Industrial egresado en 2007, Viajero de corazón y trabajador de hobbie. Soy Instructor certificado de la Secretaria de Trabajo y Previsión Social. Mi frase, "Sin prisa pero sin pausa" y como viajero coincido en el hecho de "Viajar es la única cosa que puedes comprar, que te hace mas rico"