Migración de WordPress a nuevo dominio y servidor

La migración (traslado) de un sitio web NO se puede efectuar únicamente moviendo todos los archivos que hay en un servidor hacia el directorio de instalación del nuevo alojamiento. Para que el blog vuelva a funcionar correctamente hay que realizar adicionalmente cambios en la configuración de varios de sus elementos.

La migración de un blog (y, en general, de cualquier página web) que tenemos en funcionamiento con WordPress se convierte en un proceso laborioso y elaborado debido a que su casuística depende de la variación (o no) de  tres posibles elementos y de sus combinaciones. En general, se puede decir que es necesario llevar a cabo un proceso de migración del sitio cuando se produce alguna o varias de las siguientes situaciones:

– Cambio del servidor (empresa) de alojamiento.
– Cambio del dominio (nombre del dominio).
– Cambio de la ruta (dirección url) desde la que se accede dentro de un mismo dominio.

Nota: estos dos últimos están tan relacionados que podrían considerarse uno solo en sentido amplio (dominio como ruta o dirección desde la que se accede, ya sea por cambio de denominación o por cambio del directorio de ubicación) puesto que ambos modifican la url de acceso al sitio.

Las múltiples combinaciones sobre estas tres posibles circunstancias hacen que la casuística sea extensa. Las situaciones de cambios más habituales que producen una migración son las siguientes:

– Cambio de alojamiento (no de dominio, ni de ruta): mover tu web a otro servidor (empresa) de alojamiento. Se mantiene el nombre de dominio (www.miblog.com) y su dirección de acceso, pero el blog va a cambiar su dirección IP.
– Cambio de dominio (no de alojamiento, ni de ruta): cambio de nombre del dominio.
– Cambio de ruta (ni de alojamiento, ni de dominio): directorio después del nombre del dominio (url).
– Cambio de servidor y dominio, o de servidor, dominio y ruta (en la práctica tienen el mismo efecto y requieren las mismas actuaciones en el proceso de migración).

Las otras dos posibilidades (combinaciones), quizás menos habituales, serían:

– Cambio de alojamiento y de ruta (no de nombre de dominio).
– Cambio de dominio y de ruta (pero no del servidor de alojamiento).

A la hora de realizar la migración habrá que tener en cuenta en cuál de las seis circunstancias nos encontramos.

El procedimiento que voy a describir a continuación trata de explicar de forma genérica los pasos que son necesarios para llevar a cabo la migración de una web que tenemos en funcionamiento con WP cuando se cambia de servidor de alojamiento (hosting) y de dominio (en sentido amplio: dominio y/o ruta). En algunos puntos haré referencia mediante notas a las particularidades que se deriven de la casuística a la que me he referido.

Hay multitud de páginas en las que se desarrolla este mismo tema. Lo que considero novedoso respecto a otros excelentes artículos es que en este se estructuran las actuaciones de forma ordenada, correlativa y completa (ocho puntos) según afecten al servidor de alojamiento antiguo, al nuevo servidor o al dominio de la página, además de una breve referencia final al refinamiento del proceso de migración. Por una cuestión de extensión no desarrollo de forma pormenorizada cada proceso pero la información adicional necesaria está ampliamente disponible en Internet.

Y ahora, comencemos…


ACTUACIONES RELACIONADAS CON EL ANTIGUO SERVIDOR (Copia de seguridad de nuestra instalación)

Lo primero que tendremos que realizar es una copia de seguridad de todos los archivos y la base de datos que forman parte del sitio que queremos migrar (fuera del espacio del servidor) para poder replicarlos [y para que en caso de ocurrir algún problema, podamos volver al punto de partida ;-) ].

1. Hacer backup de la base de datos a un fichero sql. Es recomendable desactivar los plugins antes de hacer la copia de seguridad. Varias formas:

– Mediante la aplicación de gestión de BD phpMyAdmin (acceso desde el panel de control del servidor-cPanel, seleccionar la base de datos del menú izquierdo y luego la pestaña ‘exportar’, en formato SQL).

http://img110.xooimage.com/files/b/e/6/pma_export_3-4dfb78c.png– Mediante la herramienta de respaldo disponible en cPanel (la más sencilla).
– Mediante un plugin de copia de seguridad desde el espacio de administración de WordPress.

2.- Hacer backup de los archivos y carpetas (contenido) del sitio. Tres posibles formas:

– Mediante descarga directa vía FTP (cliente FTP).
– Mediante la herramienta de administración de archivos (file manager) en cPanel.
– Mediante un plugin de copia de seguridad desde el espacio de administración.


ACTUACIONES RELACIONADAS CON EL NUEVO SERVIDOR (Instalación del nuevo sitio)

3.- Instalación de la nueva base de datos.

Crear una base de datos MySQL, nueva y vacía, en el servidor (se le asignará un nuevo nombre de BD, nombre de usuario y contraseña) utilizando las herramientas de administración de bases de datos del cPanel (lo más sencillo es utilizar el creador de bases de datos MySQL, aunque también se puede usar phpMyAdmin. En este último caso, dar al usuario suficientes permisos o privilegios en la base de datos).
http://img110.xooimage.com/files/7/9/3/4-300x270-4dfb778.png

Importar los datos del fichero de BD antiguo (se importarán todas las tablas) en la nueva BD. Entrar en phpMyAdmin, seleccionar la base de datos creada en el apartado anterior haciendo clic en el nombre listado en el panel lateral y luego la pestaña “Importar” > Se selecciona el fichero DB antiguo > Seguir.

http://img110.xooimage.com/files/d/2/5/63-4dfb796.png4.- Restaurar los archivos y carpetas en el nuevo servidor (traslado de contenidos) desde la copia de seguridad realizada en el punto 2 anterior. Sube tu directorio completo de WordPress al nuevo servidor (en el directorio raiz o en la ruta que hayas decido).

> Mediante FTP (cliente FTP) o
> Mediante cPanel (file manager).

Asegúrate de que se mantienen los permisos de los archivos y carpetas que se mueven.

Nota: Realizar la copia de seguridad indicada en el punto 2 es conveniente para evitar las pérdidas del contenido de la página o accidentes. No obstante, si el administrador de archivos del hosting antiguo lo permite, se pueden copiar los archivos y carpetas en el nuevo alojamiento por ftp directamente.

5.- Modificar los datos de configuración de WP: configuración de la información de la base de datos de modo que el blog completo se acomode totalmente a su nueva url.

Para que WordPress sea completamente independiente se deben cambiar algunos parámetros en la base de datos, ya que WordPress guarda las direcciones (como páginas y links internos) de forma absoluta.

Para tener acceso a la nueva base de datos:

Modificar los datos relativos a la identificación de la nueva BD en el fichero wp-config.php que se encuentra en el directorio raíz de la instalación en el servidor. Para ello, utilizando el administrador de archvos de cPanel o un cliente FTP, abre el archivo con un editor de texto plano (notepad, jEdit, etc.), busca las líneas donde se encuentran los datos a cambiar (nombre, usuario y contraseña de la base de datos, y dirección del nuevo servidor de la base de datos) e introduces los referidos a la nueva base de datos.

define(‘DB_NAME’, ‘nombre_nueva_BD‘);
/** Tu nombre de usuario de MySQL */
define(‘DB_USER’, ‘usuario_nueva_BD‘);
/** Tu contraseña de MySQL */
define(‘DB_PASSWORD’, ‘contraseña_nueva_BD‘);
/** Host de MySQL (es muy probable que no necesites cambiarlo) */
define(‘DB_HOST’, ‘direccion_nuevo_servidor_BD‘);

Nota: El proceso indicado será necesario si, al menos, se realiza un cambio de servidor de alojamiento. No hará falta si la migración se produce únicamente por una modificación del dominio y/o la ruta de acceso.

Para tener acceso al Panel de administración:

Nota: Esto siempre que cambie también el dominio y/o la ruta de acceso. Si sólo cambia el servidor de alojamiento no hace falta hacer este paso.

Modificación (configuración) de la URL donde están ubicados los archivos del sitio, que tendrá efecto actualizando el nombre de dominio y/o ruta en la base de datos (estas características son las que vienen reflejadas en el campo “Dirección de WordPress (URL)” del apartado Ajustes-Generales del panel de administración de WP cuyos parámetros de configuración se encuentran en el fichero /wp-admin/options-general.php).

http://img110.xooimage.com/files/f/4/3/cambiar-url-wordpress-4dfb79e.png

Para realizarlo, desde la herramienta phpMyAdmin del cPanel, seleccionamos la base de datos y luego la tabla “wp_options, que es la que almacena todas las opciones que se pueden configurar desde el administrador.

http://img110.xooimage.com/files/e/d/f/phpmyadmin-wp-options-4dfb7a4.pngDentro de esta tabla tendremos que buscar el registro ‘options‘ (podría denominarse también ‘siteurl’ o ‘home’, según versiones) y editarlo para actualizar la ruta (url) de nuestra nueva ubicación: http://www.nuevodominio.com/subdirectorio_si_lo_hay/

http://img110.xooimage.com/files/c/0/1/wordpress-siteurl...yadmin-3-4dfb7ae.png

 

Observación: Una forma de automatizar esta actualización es ejecutar la siguiente función sobre la base de datos (ejecutar consulta SQL -pestaña SQL en phpMyAdmin- sobre la base de datos):

UPDATE wp_options
SET option_value =
replace(option_value, ’http://viejodominio.com/subdirectorio_si_lo_hay’, ‘http://www.nuevodominio.com/subdirectorio_si_lo_hay’)

Para tener acceso a la parte pública (página web):

Nota: Esto siempre que cambie también el dominio y/o la ruta de acceso. Si sólo cambia el servidor de alojamiento no hace falta hacer este paso.

Una vez realizado el paso anterior, ya podremos volver a acceder a la administración de nuestro blog por medio de la url ‘http://nombredetusitio.com/…/wp-admin’.

Si se ha cambiado la dirección de acceso del blog (la ruta y/o el nombre de dominio) no podremos acceder a la parte pública ya que habremos cambiado la ubicación donde estaba instalado WP. Esto es debido, como he dicho antes, a que WordPress guarda las direcciones de forma absoluta.

En primer lugar hay que modificar el campo “Dirección del sitio (URL)” de la sección “Generales” dentro de “Ajustes“, estableciendo la nueva URL desde la que se carga el sitio y que establecerá el inicio de las rutas relativas. Normalmente coincidirá con la del campo “Dirección de WordPress (URL)”.

http://img110.xooimage.com/files/6/3/1/ajustes-generales...-hosting-4dfb79a.jpg

A continuación, para hacerlo funcionar es necesario cambiar los permalink (enlaces permanentes), acción que modificará el fichero ’.htaccess’ que se crea con la instalación inicial.

Para hacer este cambio bastará con  entrar en el área de administración de WP e ir a la sección “Enlaces permanentes” que está dentro de “Ajustes”.

http://img110.xooimage.com/files/a/1/3/enlaces-permanent...-hosting-4dfb7b8.jpg

Una vez dentro de esa sección, pulsamos en el botón Guardar cambios para que WP actualice nuestro fichero ‘.htaccess’. Si por falta de permisos no se pudiese hacer, nos mostraría el código que habría que pegar dentro de ese fichero, que se encuentra situado en el directorio raíz de la instalación.

http://img110.xooimage.com/files/1/9/0/codigo-htaccess-b...-hosting-4dfb7ba.jpg


ACTUACIONES RELACIONADAS CON EL DOMINIO

6.- Cambiar los DNS que tenemos en nuestro dominio para agregar los del nuevo servidor. Se trata de hacer que los nuevos DNS apunten al nuevo alojamiento (Este proceso puede tardar un tiempo hasta que el cambio sea efectivo). Esto se hace desde el panel de configuración de la empresa donde registraste el dominio.

Nota: Este punto se realizará siempre que, al menos, se cambie de servidor de alojamiento.

7.- Redirigir todo el tráfico del dominio antiguo al nuevo (redirección 301 o redirección permanente):

Si cambiaste la dirección de tu blog (la ruta y/o el nombre de dominio) deberás hacer un desvío de servidor 301 del antiguo al nuevo para hacer que la vieja dirección haga redirecciones permanentes a la nueva dirección. De esta forma, los visitantes que vayan hacia cualquier post de la antigua URL serán redireccionados a la nueva.

Es importante que tanto los lectores como los motores de búsqueda que accedan al antiguo sitio sean redirigidos al nuevo. Habrá que hacer que las redirecciones se dirijan a las páginas reales correspondientes. Por ejemplo, si tenías un post en http://viejadireccion.com/archivo/mi-post/, la redirección debería ir directamente a http://nuevadireccion.com/archivo/mi-post/ en lugar de redirigir a la página principal de tu blog.

De este modo mantendremos nuestro posicionamiento SEO adquirido durante el tiempo que haya estado en funcionamiento.

Hay varias formas de hacerlo:

Modificar la configuración del fichero .htacces del dominio antiguo que se encuentra en la raíz del sitio (vale la pena guardar una copia del de ese momento por si acaso) añadiendo el siguiente código:

# Redireccion 301 al nuevo dominio
<IfModule mod_rewrite.c>
RewriteEngine On
redirectMatch 301 ^(.*)$ http://www.nuevodominio.com$1
</IfModule>

o  este otro:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.dominio.com$
RewriteRule ^.*$ http://www.nuevodominio.com%{REQUEST_URI}
[R=permanent,L]

– Dejar un solo archivo en el árbol del servidor antiguo, llamarlo ‘index.php’ y escribir en él el siguiente código fuente:

<?php
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://nombre_del_nuevo_dominio.com/”);
?>

– Otra posibilidad es utilizar la ayuda de un plugin como alguno de los siguientes:

» Permalink Redirect WordPress Plugin.
» Redirection.

Se puede hacer la prueba de entrar en el dominio viejo y ver como nos redirige al nuevo dominio, e incluso si vamos a una url concreta del dominio viejo, iremos a la url equivalente del nuevo.


ACTUACIONES FINALES

8.- Para completar y refinar el proceso de migración:

– Creamos el nuevo sitemap en el nuevo servidor,
– Cambiamos el código de Analytics por el del nuevo dominio y
– Damos de alta al nuevo dominio en las Webmaster Tools de Google y Bing Webmasters.


Por último decir que hay otras formas o procedimientos para mover un sito, como mediante un plugin de copia de seguridad que automatiza el proceso o a partir de una instalación normal de WordPress, cuya información está disponible en la red para cualquier interesado.

AQUÍ podéis ver un ejemplo práctico.


 

WEB REFERENCES:

Además de contar con la experiencia propia, para la elaboración de este post se han consultado artículos de los siguientes sitios sobre el mismo tema, que por su interés recomiendo visitar:

» ayudawordpress.com
» jepser.com
» raiolanetworks.es
» microteching.com
» blog.hostalia.com
» infoseo.comercialseo.es
» stmblog.com

Espero que os sirva de ayuda. Gracias por la lectura y hasta la próxima.


 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *