Migrar WordPress de Servidor y Dominio

Una de las tareas menos agradables y divertidas que nos topamos los desarrolladores y diseñadores de páginas web es el de tener que migrar una web de un dominio y hosting a otro. Un ejemplo puede ser cuando realizamos un trabajo en nuestro dominio y deseamos migrar luego esta web al de una empresa determinada.

En Internet podemos encontrar varios tutoriales de migración de WordPress de un servidor y de un dominio a otro, sin embargo no todos cuentan con exactitud algunos detalles. Para empezar, necesitamos:

  1. Acceso a la FTP antigua.
  2. Acceso a la FTP nueva.
  3. Acceso al phpMyAdmin o área de Base de Datos (BBDD) antigua.
  4. Acceso al phpMyAdmin o área de Base de Datos (BBDD) nueva.
  5. Datos de la nueva BBDD. Es probable que la tengamos que crear.

*Aseguraros que el nuevo hosting permite cargar archivos PHP y WordPress.

A continuación, paso a detallaros una pequeña guía para realizar la migración de WordPress de hosting y dominio.

Debemos obtener los archivos que tenemos en el hosting donde tenemos alojada la página web. Para ello tenemos 2 opciones:

– Descargamos todos los archivos de nuestra web de la FTP donde tenemos actualmente la página.

 

carpeta wordpress

 

– También podemos descargarlos gracias al plugin Duplicator, de WordPress, que sirve para clonar, duplicar y hacer copias de seguridad de tu página web. El único requisito para usarlo es tener una versión compatible de WordPress y una versión PHP 5.3 o superior.Si utilizamos este sistema, debemos descargarlo previamente en el área de plugins, de forma gratuita y activarlo. Una vez descargado, lo activamos y veremos como en el lado izquierdo de la administración de nuestro WordPress aparece el panel de Duplicator. Lo abrimos y veremos una imagen similar a esta:

 

Duplicator WordPress

 

Deberemos realizar un backup de nuestra web y posteriormente descargarlo. El funcionamiento de Duplicator en sí no presenta gran dificultad, pero siempre podéis acudir a algún manual o mirar el siguiente vídeo:

 

 

Una vez tenemos los archivos de la web descargados, debemos realizar una copia de nuestra base de datos SQL. Pero para ello, antes debemos realizar una serie de acciones en nuestra web para que cuando realicemos la migración de la página esta funcione correctamente en el nuevo alojamiento.

Debemos poner los enlaces permanentes predeterminados. ¿Por qué? WordPress crea rutas absolutas, por tanto cuando migremos nuestra web, si no reestablecemos este valor a los originales previamente a hacer el backup de la BBDD, es probable que nos cargue únicamente la página principal y no nos funcionen los menús y links de la web.

Debemos desactivar los plugins de WordPress en nuestra página de origen. En algunas webs crea un conflicto que provoca que cuando realicemos la migración nos encontremos que en el backend (área de administración o escritorio), los submenús no funcionen correctamente.

Una vez hemos dado estos 2 pasos, podemos realizar la copia de seguridad de la base de datos SQL. Para ello tenemos 2 formas:

– Podemos ir al área de BBDD de nuestro Panel, el phpMyAdmin y exportar la base de datos, marcando todas las tablas. Debajo hay que etiquetar la opción de enviar, que genera automáticamente un archivo SQL de nuestra base de datos. Podemos comprimir la base de datos en otro tipo de archivo si lo deseamos.

 

migrar sql

 

– El otro método para realizar copias de base de datos y que recomiendo es utilizar el plugin WP Migrate DB, que permite guardar la base de datos para la nueva web.

 

WP-Migrate-DB-form

 

El funcionamiento es sencillo, permite modificar las rutas que estan en la web de origen a la de destino así como indicar la carpeta de la web origen a la de destino. Una vez indicado, exportamos el archivo y tendremos una copia de la nueva base de datos.

 

 

El siguiente paso es subir la copia de seguridad de nuestro WordPress a la carpeta raíz del nuevo hosting por FTP, posiblemente sea una carpeta /www, /httpdocs, o /public_html. Se recomienda no agregar el archivo de la copia de seguridad y temporales, ya que la carga tardará más tiempo del deseado. Una vez subidos los archivos, ya tendremos la mitad del trabajo hecho.

Ahora deberemos crear una nueva base de datos en el Panel de Control o phpMyAdmin del hosting de destino con un nombre, usuario y contraseña, que si queremos puede ser el mismo que teníamos. Se puede editar la línea 5 del SQL exportado con el nombre del hostname de origen. Una vez creada la Base de Datos, vamos a la pestaña de importar y añadimos la base de datos que hemos guardado con el WP Migrate DB.

 

06-Import-database

 

Ahora, una vez creada la base de datos con todas sus tablas, deberemos hacer un paso más consultando que las rutas en el nuevo hosting son correctas. Para ello iremos a la pestaña SQL dentro del phpMyAdmin y añadiremos lo siguiente:

 

UPDATE wp_options SET option_value = REPLACE ( option_value, 'http://dominioantiguo.com', 'http://www.dominionuevo.com' );

UPDATE wp_posts SET guid = REPLACE ( guid, 'http://www.dominioantiguo.com', 'http://www.dominionuevo.com' );

UPDATE wp_posts SET post_content = REPLACE ( post_content, 'http://www.dominioantiguo.com', 'http://www.dominionuevo.com' );

UPDATE wp_postmeta SET meta_value = REPLACE ( meta_value, 'http://www.dominioantiguo.com', 'http://www.dominionuevo.com' );

 

Si quedaba alguna ruta con el dominio antiguo en la base de datos, ésta será sustituida por las del dominio nuevo. Por último, queda modificar el archivo wp-config.php como hacemos siempre, pero poniendo los datos nuevos, es decir, nombre de la nueva base de datos, usuario, contraseña…

 

// ** 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');

 

Añadir también que debemos dar permisos de escritura 777 a los archivos, para que podamos subir fotografias y modificar cosas de la web.

RESOLUCIÓN

Si hemos seguido los pasos indicados, ahora podremos ver la web en la nueva dirección que le hayamos indicado. Accedemos al backend y activamos de nuevo los plugins y los enlaces permanentes. Para que estos funcionen correctamente se le deberá dar permisos de escritura 777 al archivo .htaccess previamente, si no nos encontraremos que no funcionan los links de los menús. Otra forma para añadir permisos de escritura para actualizar los links será editar el archivo .htaccess con los siguientes parámetros:

 

<IfModule mod_rewrite.c>
RewriteEngine On RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 

Si el dominio al que traspasáis la web es nuevo puede que los cambios tarden un poco más en actualizar pero si ya tiene tiempo los cambios deberían actualizarse al momento.

¡Espero que os haya servido! ¿Conocéis algún otro método para realizar este proceso?

Share This Story!

About Author

You may also like