En esta ocasión vamos a explicar brevemente como se cambia de hosting y de dominio una web que tenemos en marcha con WordPress.
1. Compramos el hosting y el dominio.
Evidentemente lo primero es comprar el dominio y el hosting que deseemos. Una vez hecho esto con el proveedor que queramos, nos llegaran todos los datos que necesitamos por correo.
2. Base de datos
Desde el panel de control de nuestro hosting, creamos una base de datos que se llame igual que la anterior y ponemos el mismo usuario y password.
Hecho esto, exportamos la base de datos del hosting viejo mediante phpMyAdmin o cualquier otro gestor de base de datos a un fichero sql. (Con la opción de ‘completar los inserts’)
Abrimos el fichero con un editor (p.e. Notepad++) y hacemos el reemplazo de la cadena del dominio antiguo por el dominio nuevo. Por ejemplo: “subdominio.dominioviejo.com” o “www.dominioviejo.com” por “www.dominionuevo.com”.
Entonces, abrimos el gestor de base de datos del hosting nuevo e importamos el fichero en la base de datos que habíamos creado.
3. Archivos
Pasamos todos los archivos y carpetas del servidor antiguo al nuevo. Es interesante ver si podemos comprimir en zip antes de descargar y descomprimir después de subir al nuevo para ahorrar tiempo, o si el hosting viejo tiene algún tipo de ‘file manager’ que te permita ‘copiar’ archivos y carpetas en otro servidor por ftp directamente y te ahorras el bajar y subir por ftp.
4. Configuración
Por último, solo nos queda hacer los cambios que corresponda en el fichero “wp-config.php” del servidor nuevo.
En caso de haber hecho el paso 2 tal cual lo hemos dicho, solo tenemos que cambiar la línea “define(‘DB_HOST’, ‘#new.sql.server#’);” y poner la dirección del nuevo servidor de base de datos. En algunos casos es posible que no haya que modificarlo si pone ‘localhost’.
Si el nombre de la base de datos, o el usuario, o el password no es el mismo que el anterior, también tendremos que cambiar las líneas que indican su configuración.
Con esto ya debemos tener el wordpress funcionando en el nuevo dominio.
Ahora solo faltaría redirigir todo el tráfico del dominio antiguo al nuevo.
5. Redirección 301
Para hacerlo, la mejor formar es modificar el .htacces del dominio antiguo (vale la pena que guardéis una copia del de ese momento por si acaso) para que quede con el siguiente código:
# Redireccion 301 al nuevo dominio
<IfModule mod_rewrite.c>
RewriteEngine On
redirectMatch 301 ^(.*)$ http://www.nuevodominio.com$1
</IfModule>
Y ya está todo.
Podemos hacer la prueba de entrar en el dominio viejo, y ver cómo nos redirige al nuevo dominio, he incluso si vamos a una url concreta del dominio viejo, iremos a la url equivalente del dominio nuevo.
De esta forma, San Google nos debería respetar todo nuestro posicionamiento y no perderemos ni una sola visita. xD
Amigo muy buen post, gracias. Sólo una cosa, en el nuevo panel de control de mi hosting puedo crear una base de datos pero no puedo hacerlo con el mismo nombre de mi base de datos antigua ya que me pone el prefijo «quintana» y pues no coincide. ¿Cómo puedo solucionar esto?
Gracias.
Hola, gracias por el comentario. Para solucionar ese problema lo tienes en el cuarto punto configuración, modificando el archivo wp-config.php. Tienes que modificar los define DB_NAME (nombre_base_datos), DB_USER(nuevo usuario de base de datos) y DB_PASSWORD (contraseña). Estos valores los pones cuando creas la base de datos en tu nuevo hosting.
Creo que te refieres a esto.
Un saludo
Gracias por responder amigo. Mi base de datos antigua se llama u75879_grafico. La exporté desde el panel de control de mi antigua hosting. En el panel de control/ myphpadmin de mi nuevo hosting quiero crear una base de datos nueva para luego importarle la antigua y que queden con el mismo nombre pero, sólo me deja crear bases de datos con el prefijo quintana, o sea que no puedo llamarla u75879_grafico como mi anterior BD. O cómo ves no es necesario que se llamen igual?
Además, yo recomendaría instalar luego el plugin para WordPress «Search & Replace» y sustituir en la BD cualquier referencia del dominio viejo y cambiarla por el dominio nuevo.
Nosotros hemos preferido poner el paso de realizar el reemplazo con el Notepad++ o similar sobre el dump de la base de datos, porque así podemos hacer una preview de los resultados que vamos a cambiar, y tenerlo todo un poco más controlado.
El plugin está muy bien, pero puede ser un poco arriesgado.
Estaría bien que funcionara en dos pasos. El primero de ‘Search’, y el segundo de confirmar de ‘Replace’.
Pero vamos…
Que muy buen apunte.
Gracias!
hola, me funciono perfecto, salvo un detalle, cuando trato de entrar al admin, solo veo una pagina en blanco, hay alguna solución para eso?
Saludos!
Pingback: Seo en Castellano - Migración de wordpress a nuevo dominio y hosting -
Yo he seguido tus pasos y he tenido un problema que de momento no he podido solucionar. Mira el blog original http://www.elescobillon.com y mira dónde está el migrado según tus instrucciones http://www.latintaroja.es/_blogs/elescobillon La diferencia es que éste se instaló en una carpeta. Cada vez que intento acceder a un artículo en concreto, me dice que no existe, aunque la página principal y todos los componentes (fotos, etc) están en su sitio.
Tiene pinta de ser porque algo falla al hacer el paso en el que debes obtener el archivo de texto con tu base de datos y hacer el replace de la ruta original por la nueva, y entonces subir la base de datos.
Así a botepronto es lo único que se me ocurre.
Un saludo!!
Hola muy interesante tu post lo he seguido para migrar mi wordpress con el mismo dominio pero al ingresar usuario y contraseña en http://www.pateamoselperchero.com.ar/wp-login.php me devuelve una pagina en blanco podras ayudarme?? muchas gracias de antemano
Me suena que eso nos pasó alguna vez y el problema era que nos habíamos dejado algún reemplazo que hacer en el paso 3.
Vuelve a exportar tu BD a un archivo sql y busca si queda rastro del dominio viejo, o alguna ruta mal montada.
Espero que vayan por ahí los tiros.
Saludos!
Excelente! Muy simple y efectivo. Muchas Gracias
El punto 2 está ultra mal explicado
No se si mal explicado, pero lo que es seguro es que está poco detallado.
La verdad es que está explicado para gente que acostumbra a hacer este tipo de operaciones.
Tal vez estaría bien poner algún enlace a otro post donde explique bien como exportar e importar bases de datos con phpMyAdmin o mejor incluso un video tutorial como este: http://www.youtube.com/watch?v=9xGLP1HbmHM
Bueno,
Gracias por tu aportación!