Migrar WordPress a DreamHost manualmente

 

Generalidades

Este artículo describe cómo migrar tu sitio WordPress desde tu alojamiento actual a DreamHost. Estas instrucciones se pueden utilizar para cualquier tipo de sitio WordPress y DreamPress, así como para migrar a un nombre de dominio diferente

Si tienes problemas para migrar tu sitio web desde otro alojamiento o simplemente no tienes tiempo, DreamHost ofrece un servicio que se encarga de eso por ti. Revisa el artículo de Servicios de migración de sitios web para obtener más información.

Para opciones adicionales de migración Automatizada y Profesional, consulta el artículo Generalidades de las migraciones de WordPress.

Respaldar tu sitio web en el alojamiento actual

Antes de hacer cambios en tu sitio web, DreamHost recomienda hacer una copia de seguridad de los archivos de tu sitio web y la base de datos en la compañía de alojamiento actual.

Archivos del sitio web

Contacta a tu alojador actual para saber cómo exportar los archivos de tu sitio web. Ellos deberían tener instrucciones de cómo iniciar sesión en tu servidor vía FTP para descargar los archivos y guardárlos en un archivo .zip.

En los pasos a continuación, solo necesitas cargar la carpeta wp-content.

Cargar los archivos .htaccess y wp-config.php solo es necesario si tienes código personalizado dentro de los mismos.

Archivo de la base de datos

Contacta a tu alojador actual para que te den instrucciones de cómo exportar la base de datos de tu sitio web. Necesitarás descargar un archivo que termina con la extensión .sql.

Instalar WordPress

Asegúrate de que tu dominio está completamente alojado en el panel de DreamHost y que WordPress ya esté instalado.

DreamHost recomienda usar el instalador de WordPress de DreamHost o comprar un plan de DreamPress para que los archivos principales de WordPress se instalen automáticamente.

 

Paso 1 — Limpiar la base de datos de DreamHost

Cuando instalas WordPress en el panel, se te crea una base de datos automáticamente. Tu debes limpiar todas sus tablas para que quede limpia. Luego puedes importar tu archivo SQL a la misma.

phpMyAdmin

Revisa los siguientes artículos para ver instrucciones de cómo iniciar sesión en tu base de datos vía phpMyAdmin:

También puedes obtener las credenciales de la base de datos abriendo el archivo wp-config.php. Verás las siguientes líneas:

define('DB_NAME', ‘exampledatabase’);
define('DB_USER', 'exampledbuser');
define('DB_PASSWORD', ‘database password here’);
define('DB_HOST', 'mysql.example.com');
  1. Selecciona el nombre de tu base de datos en el menú izquierda.
  2. Haz clic en Seleccionar todo para que todas las tablas se seleccionen.
    ES phpmyadmin drop tables
  3. En el menú desplegable Para los elementos que están marcados: de la parte inferior, selecciona la opción Vaciar.

    Luego de seleccionar la opción Vaciar del menú desplegable, la página se recarga con toda la información que se vaciará. Un botón que dice aparece en la parte inferior derecha.

  4. Haz clic en .
    Se eliminan todas las tablas.

Paso 2 — Importar el archivo de tu base de datos

Existen dos métodos para importar tu base de datos:

  • Usando phpMyAdmin (simple, limitado a 200MB)
  • Usando SSH a través de los comandos wp-cli (más avanzado)

phpMyAdmin

  1. Inicia sesión en phpMyAdmin.
    phpmyadmin import tab
  2. Da clic en la pestaña Importar en el menú superior.
    ES upload mysql file button
  3. Haz clic en el botón Seleccionar archivo.
  4. Ubica y carga tu archivo SQL de tu computador.
    La base de datos muestra los archivos subidos.

SSH

  1. Inicia sesión en tu servidor vía FTP.
  2. Sube el archivo de tu base de datos en el directorio home de tu usuario.
  3. Inicia sesión a través de SSH.
  4. Corre el siguiente comando en el directorio home de tu usuario para importar el archivo en tu base de datos.

    Asegúrate de reemplazar filename.sql con el nombre de tu archivo del respaldo de la base de datos y 'path/to/wordpress' con el directorio de tu sitio web:

    [server]$ wp db import filename.sql --path='path/to/wordpress'
    Success: Imported from 'example-backup.sql'.
    

    Los archivos grandes pueden tomar más tiempo pero recibirás una confirmación cuando la importación se complete.

    Si subiste un archivo wp-config.php personalizado, este comando va a fallar. Primero debes actualizar este archivo para que use las nuevas credenciales de la base de datos de DreamHost.

Paso 3 — Subir la carpeta wp-content

Si creaste un archivo .zip de los archivos de tu sitio en el alojamiento anterior, primero debes extraer los archivos.

Da clic derecho en el archivo y selecciona la opción Extract.

Todos tus archivos y directorios anteriores de WordPress se extraen en una nueva carpeta con el mismo nombre que el nombre de dominio. En esta, encontrarás la carpeta wp-content.

  1. Inicia sesión en tu servidor vía FTP.
  2. Navega al directorio de tu sitio web.
  3. Elimina la carpeta wp-content pues no hay contanido dentro de la misma.
  4. Ubica los archivos de WordPress respaldados en tu computador.
  5. Sube solamente la carpeta wp-content.

Extraer en el servidor a través de SSH

También puedes subir el archivo .zip en tu servidor y extraerlo a través de SSH. Esta puede ser una mejor opción si tu carpeta wp-content es muy grande.

  1. Inicia sesión en tu servidor vía FTP.
  2. Carga la carpeta .zip en el directorio de tu sitio web.
  3. Inicia sesión en tu servidor a través de SSH.
  4. Navega al directorio de tu sitio web.

    Reemplaza example.com con el nombre de tu sitio.

    [server]$ cd ~/example.com
    
  5. Corre el siguiente comando.

    Reemplaza wp-content.zip con el nombre de tu archivo.

    [server]$ unzip  wp-content.zip
    
    Esto extrae todos los archivos dentro de un nuevo directorio, el cual se nombra de la misma manera que tu dominio.
  6. Mueve la carpeta wp-content del directorio que se acaba de extraer al directorio de tu sitio web.

    Cambia example.com en este ejemplo a tu sitio web.

    [server]$ mv example.com/wp-content .
    
  7. Corre lo siguiente para ver todos los archivos:
    [server]$ ls -la
    
    Debes ver tu carpeta wp-content juto con todos los otros archivos de WordPress.
  8. Elimina el directorio extraído nuevo:
    [server]$ rm example.com

Paso 4 — Actualizar el archivo wp-config.php

Actualizar el prefijo de la tabla

Actualiza el archivo wp-config.php para usar el prefijo de la tabla de la nueva base de datos que acabas de cargar, puedes ver su el prefijo en phpMyAdmin que es el primer texto de cada tabla. Por ejemplo, si phpMyAdmin muestra esto para la tabla options:

wp_3zby173r_options

Luego, el prefijo de la tabla es: wp_3zby173r_. Actualiza este valor en el archivo wp-config.php.

¿Qué pasa si migro mi dominio a una URL diferente?

El ejemplo de arriba muestra un dominio usando la misma URL de un alojamiento antiguo que es importado a DreamHost. Si estás moviendo tu sitio a un nuevo nombre de dominio durante la migración, los pasos de arriba son los mismos, pero incluyen un paso extra. Debes actualizar tu 'Home' y 'Site URL' y las URL de la base de datos que vas a importar.

Hay muchas formas de hacer esto, las cuales se describen abajo. Si planeas usar un plugin para reemplazar las URL de tu base de datos, puedes usar un plugin llamado "Better Search Replace" (descrito abajo) o "Velvet Blues". Si plaeas usar SSH en vez, wp-cli incluye la funcionadidad de Better Search Replace.

Actualizar tu 'Home' y 'Site URL' a través de wp-admin

Asegúrate de tener una copia de seguridad de tu archivo SQL. Si cometes un error en los siguientes pasos, puede ser difícil corregirlos en un sitio en línea.

Puedes actualizar tu Home (Wordpress Address URL) y Site URL (Site Address URL) a través de la página wp-admin. Dirígete a Ajustes > General:

ES manually-migrate-wp-05.png

Lo siguiente muestra como actualizar las URL de la base de datos usando el plugin "Better Search Replace”:

ES manually-migrate-wp-06.png

En este ejemplo, se hace el siguiente cambio:

  • URL anterior: http://www.example.com/
  • URL nueva: https://example.com/

Corre la herramienta de search-replace, el cual reemplaza las URL viejas por la nueva.

Actualizar 'Home' y 'Site URL' a través de SSH

Asegúrate de que tienes una copia de seguridad del archivo SQL. Si cometes un error en los siguientes pasos, puede ser difícil corregirlos en un sitio en línea.

También puedes usar comandos wp-cli vía SSH para actualizar los valores de las URL. Asegúrate de estar en el directorio del dominio de WordPress:

[server]$ pwd
/home/wp/example

Corre el siguiente comando, el cual crea una copia de seguridad al directorio del usuario:

[server]$ wp db export ~/backup`date +"%d-%m-%Y"-%T`.sql

Corre el siguiente comando antes de actualizar tu Home/SiteURL para asegurarte de que están apuntados correctamente:

[server]$ wp option get home
http://www.example
[server]$ wp option get siteurl
http://www.example.com/

Puedes ver del ejemplo URL de arriba que la ubicación vieja es usada (http://www.example.com). Ahora puedes actualizar las URL para que apunten a 'https://example.com' en vez.

  • URL anterior: http://www.example.com
  • URL nueva: https://example.com

Corre los siguientes comandos para actualizar el (home) y Site Address (siteurl) de WordPress:

[server]$ wp option update home 'https://example.com'
Success: Updated 'home' option.
[server]$ wp option update siteurl 'https://example.com'
Success: Updated 'siteurl' option.

Corre el siguiente comando luego de actualizar tu Home/SiteURL para actualizar las URL restantes de las bases de datos:

[server]$ wp search-replace 'oldurl.tld/' 'newurl.tld/'

Como paso extra de verificación, puedes agregar la banderilla dry-run. Asegúrate de que hayan dos guiones pequeños (--) cuando uses esta banderilla, es decir, --dry-run, la cual corre el comando sin hacer ningún cambio. Verifica que está reemplazando las URL viejas por la nueva.

Otra herramienta que puedes usar es la banderilla --all-tables-with-prefix, la cual asegura de que el cambio es aplicado a todas las tablas.

Por ejemplo:

[server]$ wp search-replace 'http://www.example/' 'https://example/' --all-tables-with-prefix --dry-run
Success: 5 replacements to be made.

La respuesta de arriba confirma que hay reemplazos que hacer. Cuando estés listo para correr el comando, asegúrate de eliminar la banderilla --dry-run:

[server]$ wp search-replace 'http://www.example/' 'https://example/' --all-tables-with-prefix
Success: Made 5 replacements.

Después de que completes la funcionalidad search-replace, asegúrate de correr el siguiente comando para limpiar cualquier caché:

[server]$ wp cache flush
Success: The cache was flushed.
El comando wp cache flush limpia cualquier caché que resulte de las funciones search-replace.

Ver tu sitio y actualizar el DNS

Si tu DNS no está apuntando a DreamHost, revisa el siguiente artículo para ver tu sitio usando un archivo hosts.

Si el sitio aparece como debería, estás listo para apuntar tu DNS a Dreamhost.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?