Cómo migrar WordPress de Localhost a un Hosting real paso a paso

Desarrollar y maquetar una página web en tu propio ordenador es la mejor práctica para probar temas, programar funcionalidades y optimizar diseños sin costes de mantenimiento. Sin embargo, cuando el proyecto está listo para recibir visitas, posicionar en buscadores y monetizar, llega el momento decisivo: migrar WordPress de Localhost a un Hosting real. En esta guía técnica paso a paso aprenderás los dos métodos definitivos para completar la transferencia sin errores 404, sin perder datos y garantizando que tu dominio funcione con HTTPS desde el primer minuto.
📋 Checklist antes de iniciar la migración:
- Tener acceso a tu entorno local activo (Localhost en XAMPP o WAMP).
- Poder entrar a tu panel de administración local (wp-admin en Localhost).
- Un dominio registrado con sus DNS apuntando a tu nuevo proveedor.
- Un plan de hosting web con panel cPanel, Plesk o panel nativo con soporte PHP y base de datos MySQL/MariaDB.
Consejo: Haz siempre una copia de seguridad comprimida en archivo .ZIP de tu carpeta local antes de tocar cualquier archivo.
¿Qué método elegir: Plugin automatizado o Migración manual?
Dependiendo del tamaño de tu página web, del número de imágenes y de las restricciones de memoria de tu servidor, dispones de dos alternativas fiables:
| Criterio | Método 1: Plugin (Duplicator / All-in-One) | Método 2: Manual (FTP + phpMyAdmin) |
|---|---|---|
| Dificultad técnica | Baja - Automatizada | Media - Control total de código y tablas |
| Límite de tamaño | Sujeto a límites de subida de PHP (512 MB aprox.) | Sin límites (gestiona webs de varios Gigabytes) |
| Reemplazo de URLs locales | Automático durante la instalación | Mediante scripts de búsqueda y reemplazo serializado |
| Ideal para... | Blogs, webs corporativas y páginas de servicios | Tiendas WooCommerce grandes o proyectos complejos |
🚀 ¿Aún no has contratado el servidor para publicar tu web?
Al pasar de un entorno de pruebas a producción en internet, la velocidad de carga (Core Web Vitals) y la seguridad son determinantes para posicionar en Google. Un servidor con discos mecánicos o saturado de cuentas compartidas multiplicará los tiempos de respuesta y disparará la tasa de rebote.
Para proyectos serios en WordPress, te recomendamos trabajar con un proveedor que ofrezca discos ultrarrápidos NVMe, certificados SSL gratuitos de instalación automática, copias diarias en la nube y soporte en español:
Si no quieres complicarte con la parte técnica, muchos planes incluyen el traslado gratuito de tu web realizado directamente por sus técnicos.
Método 1: Migración con Plugin (El sistema más rápido y seguro)
El estándar del sector para empaquetar una web local y volcarla en internet sin tocar bases de datos a mano es el plugin Duplicator (o en su defecto, All-in-One WP Migration). Este sistema empaqueta tus archivos y tu base de datos en un único archivo comprimido junto a un instalador ejecutable.
Paso 1: Crear el paquete de instalación en Localhost
- Accede a tu panel local en
http://localhost/tu-sitio/wp-admin. - Ve a Plugins > Añadir nuevo, busca Duplicator e instálalo.
- En el menú lateral de WordPress, entra a Duplicator > Paquetes y pulsa sobre Crear nuevo.
- Asigna un nombre descriptivo al paquete y haz clic en Siguiente. El plugin analizará el peso de tus archivos, la versión de PHP y la base de datos.
- Verifica que todas las comprobaciones marquen "Bueno" (*Good*) y haz clic en Crear.
- Al finalizar, descarga ambos archivos a tu ordenador:
- El archivo Installer (un script en formato
installer.php). - El archivo Archivo (un fichero comprimido
.zipcon todo tu contenido).
- El archivo Installer (un script en formato
Paso 2: Crear la Base de Datos vacía en tu Hosting real
Antes de subir los archivos a tu servidor web, necesitas crear el contenedor donde se guardará la información:
- Entra al panel de gestión de tu proveedor de hosting (cPanel, Plesk o similar).
- Busca la sección Bases de datos MySQL (o el Asistente de bases de datos).
- Crea una base de datos nueva (ejemplo:
usuario_wpdb). - Crea un nuevo usuario de base de datos y genera una contraseña segura (ejemplo:
usuario_wpusr). - Asigna el usuario a la base de datos y asegúrate de marcar la casilla "TODOS LOS PRIVILEGIOS".
- Apunta en un bloc de notas: el nombre de la BD, el nombre de usuario, la contraseña y el servidor de base de datos (habitualmente
localhost).
Paso 3: Subir los dos archivos por FTP a la raíz pública
Ahora debes transferir el script installer.php y el fichero comprimido a tu hosting:
- Conéctate a tu hosting mediante un cliente como FileZilla o consulta nuestra guía para conectar a un Servidor FTP desde el Explorador de Windows.
- Navega hasta la carpeta raíz donde debe mostrarse tu dominio (habitualmente
public_html,httpdocsowww). - Asegúrate de que esa carpeta esté completamente vacía (borra archivos predeterminados como
index.htmlque crea el hosting por defecto). - Sube a esa carpeta raíz únicamente los dos archivos descargados:
installer.phpy el archivo.zip.
Paso 4: Ejecutar el asistente de instalación de Duplicator
- Abre tu navegador de cabecera y escribe la URL de tu dominio apuntando al instalador:
https://tudominio.com/installer.php - Aparecerá el asistente de Duplicator en pantalla. Acepta los términos y pulsa Next.
- En la pestaña de base de datos, introduce los datos que creaste en el Paso 2:
- Host:
localhost(en la inmensa mayoría de alojamientos compartidos). - Database: El nombre de la base de datos de tu hosting.
- User: El usuario MySQL que creaste.
- Password: La contraseña asignada.
- Host:
- Pulsa en Test Database. Si todo está correcto, el texto mostrará éxito en verde. Haz clic en Next.
- Reemplazo automático de URLs: Duplicator detectará que tu web venía de
http://localhost/tu-sitioy la transformará automáticamente ahttps://tudominio.comen todas las entradas, imágenes y menús. - Pulsa en Admin Login, entra con tu usuario y contraseña habituales de local, y el propio plugin eliminará los archivos temporales de instalación por seguridad.
Método 2: Migración Manual (Archivos vía FTP y Base de Datos por phpMyAdmin)
Si la web supera los límites de procesamiento de tu hosting o prefieres no utilizar plugins de migración, el método manual es el estándar de los desarrolladores profesionales para mantener un control absoluto sobre cada archivo.
Paso 1: Exportar la base de datos desde phpMyAdmin en Localhost
- Abre tu servidor local (XAMPP o WAMP) e ingresa en tu navegador a:
http://localhost/phpmyadmin/ - En la columna izquierda, pulsa sobre la base de datos de tu WordPress local.
- Haz clic en la pestaña superior Exportar.
- Selecciona el método Rápido y formato SQL.
- Haz clic en Exportar para descargar el archivo
.sqla tu ordenador.
Paso 2: Subir todos los archivos locales mediante FTP
- Abre el explorador de archivos de tu ordenador y localiza la carpeta donde está instalado tu WordPress (ejemplo:
C:\xampp\htdocs\misitio\). - Conéctate a tu hosting real mediante tu cliente FTP (como FileZilla o WinSCP).
- Entra al directorio
public_htmlde tu hosting. - Copia y sube todos los archivos y carpetas internas (las carpetas
wp-admin,wp-content,wp-includesy todos los archivos comowp-config.php). Nota: Esta subida puede tardar entre 10 y 30 minutos según tu velocidad de subida.
Paso 3: Importar la base de datos en el phpMyAdmin del Hosting
- Accede al cPanel o panel de gestión de tu proveedor de hosting y abre la herramienta phpMyAdmin.
- Crea la base de datos vacía y su usuario correspondiente (igual que explicamos en el Método 1).
- En el phpMyAdmin del hosting, selecciona en el menú izquierdo esa base de datos recién creada.
- Haz clic en la pestaña superior Importar.
- En la opción Seleccionar archivo, sube el archivo
.sqlque descargaste de tu equipo local. - Baja al final de la página y pulsa en Importar.
Paso 4: Actualizar el archivo wp-config.php en el servidor
Tus archivos en el hosting intentarán conectarse a la base de datos con los datos de tu ordenador local (donde habitualmente el usuario era root y la clave estaba en blanco). Debes actualizarlos con los datos de tu hosting:
- Desde tu cliente FTP o desde el Administrador de Archivos de cPanel, busca el archivo
wp-config.phpen la raíz de tu web. - Edítalo y localiza las siguientes líneas:
// Sustituye estos datos con los de tu hosting real: define( 'DB_NAME', 'nombre_de_tu_bd_hosting' ); define( 'DB_USER', 'nombre_de_tu_usuario_hosting' ); define( 'DB_PASSWORD', 'tu_contraseña_segura' ); define( 'DB_HOST', 'localhost' ); - Guarda los cambios y sube el archivo modificado al servidor.
Paso 5: Cambiar las URLs de Localhost por tu Dominio Real
Si intentas entrar ahora a tu página, verás que el diseño aparece roto o que el navegador te devuelve a localhost. Esto sucede porque dentro de la base de datos todas las URLs siguen apuntando a tu máquina.
El cambio crítico en la tabla wp_options:
- Dentro del phpMyAdmin de tu hosting, abre la base de datos y pulsa sobre la tabla
wp_options. - Localiza las dos primeras filas:
siteurlyhome. - Haz doble clic sobre ellas y sustituye
http://localhost/misitiopor tu dirección final en internet con protocolo seguro:https://tudominio.com
Reemplazo masivo dentro de los contenidos:
Para corregir las rutas de las imágenes, menús y enlaces internos que aún apunten a local, entra a tu panel de administración en https://tudominio.com/wp-admin, instala el plugin gratuito Better Search Replace y ejecuta un reemplazo seguro:
- Buscar:
http://localhost/misitio - Sustituir por:
https://tudominio.com - Selecciona todas las tablas y desmarca la casilla "¿Quieres hacer un simulacro?" para ejecutar la sustitución definitiva.
Comprobaciones obligatorias después de la migración
Una vez completada la transferencia, realiza estas cuatro verificaciones técnicas para certificar que tu web está lista para competir en Google:
- Regenerar la estructura de enlaces permanentes: Entra en tu panel de WordPress a Ajustes > Enlaces permanentes y, sin modificar nada, pulsa en el botón azul Guardar cambios. Esto regenerará el archivo
.htaccessdel servidor y eliminará cualquier posible error 404 al navegar entre entradas y páginas. - Forzar el certificado SSL (HTTPS): Comprueba en el panel de tu hosting que el certificado Let's Encrypt o SSL gratuito esté activado. Instala un plugin como Really Simple SSL o configura la redirección 301 en tu
.htaccesspara evitar advertencias de "Sitio no seguro". - Comprobar el archivo robots.txt y la visibilidad para buscadores: Muchos desarrolladores marcan en local la casilla de disuadir a los motores de búsqueda. Ve a Ajustes > Lectura y asegúrate de que la casilla "Disuadir a los motores de búsqueda de indexar este sitio" esté completamente DESMARCADA.
- Limpiar la memoria caché: Si cuentas con plugins como LiteSpeed Cache o WP Rocket, vacía toda la caché para servir las versiones de CSS y JavaScript con las rutas absolutas de tu nuevo dominio.
📚 Artículos relacionados de nuestra serie técnica:
Preguntas frecuentes sobre migración de WordPress
¿Por qué mi web migrada no muestra las imágenes?
Esto se debe casi siempre a que las rutas de los archivos multimedia siguen apuntando a http://localhost/... en la base de datos. Para solucionarlo, utiliza el plugin Better Search Replace como explicamos en el paso 5 del método manual para sustituir la URL local por la URL de tu dominio definitivo.
¿Qué ocurre con los plugins y licencias premium al cambiar de dominio?
Muchos temas y constructores visuales (como Elementor Pro, Divi o plugins de maquetación) asocian sus licencias a una URL única. Tras migrar, deberás entrar en las opciones del plugin y hacer clic en "Reactivar licencia" o asignar el nuevo dominio desde tu cuenta de cliente en la web del desarrollador.
¿Puedo migrar mi WordPress si mi base de datos pesa más de 50 MB?
Sí. Si la herramienta phpMyAdmin de tu hosting tiene un límite de subida bajo (por ejemplo, 16 MB o 32 MB), puedes comprimir tu archivo SQL en un contenedor .zip o .gzip antes de subirlo, o solicitar al soporte técnico de tu hosting que importe el archivo directamente mediante la consola SSH del servidor.
Si quieres conocer otros artículos parecidos a Cómo migrar WordPress de Localhost a un Hosting real paso a paso puedes visitar la categoría Desarrollo y Programación.
