Paso a paso: Subir tu web de localhost a un hosting real con FileZilla en 10 minutos
Migrar tu proyecto de XAMPP o WAMP a un servidor real no requiere ser experto en redes, solo seguir un protocolo estricto de archivos y bases de datos para asegurar la continuidad del servicio.


Escribir código en local es seguro; nadie ve tus errores y los tiempos de carga son instantáneos. Sin embargo, el verdadero desafío llega en el momento de la verdad: llevar ese proyecto a un entorno de producción. El miedo a "romper" la base de datos o perder configuraciones paraliza a muchos desarrolladores junior. La realidad es que la migración manual es una habilidad fundamental que te permite entender qué sucede bajo el capó de tu CMS o aplicación PHP. Si eliges bien tu plan, sabrás si tu infraestructura soportará el cambio; es vital distinguir entre un entorno compartido y recursos dedicados para evitar cuellos de botella desde el día uno Hosting Compartido vs. VPS en la Nube: El punto de quiebre exacto para tu blog.
A continuación, desgloso el proceso exacto para migrar un sitio web típico (basado en PHP/MySQL como WordPress) desde XAMPP o WAMP a un hosting real.
1. Exportación de la base de datos local sin corrupción de caracteres
El error más común en las migraciones de 2026 sigue siendo la codificación de caracteres. Un símbolo à en lugar de una ñ arruina la experiencia de usuario y el SEO.
- Abre tu navegador y accede a
http://localhost/phpmyadmin. - Selecciona tu base de datos local en el panel izquierdo.
- Haz clic en la pestaña Exportar situada en la parte superior.
- Elige el método Rápido, pero asegúrate de marcar Personalizado si quieres ver detalles críticos.
- Baja hasta el apartado "Formato específico" y verifica que Codificación del archivo esté en
utf8mb4. - Dale a Continuar. Guarda el archivo
.sqlen una carpeta accesible de tu escritorio.
Este respaldo contiene toda tu información vital. No subestimes el tamaño de este archivo; si tu base de datos local pesa más de 50MB, es probable que necesites configurar PHP en tu servidor remoto para permitir subidas más grandes (editando php.ini o upload_max_filesize en el panel de control del hosting), aunque la mayoría de hosts modernos manejan hasta 256MB por defecto.
2. Preparación del entorno remoto y creación de la base de datos
Antes de mover un solo archivo, el destino debe estar listo para recibir los datos. Piensa en esto como preparar la cama antes de traer al paciente de urgencias. Un fallo aquí often se manifiesta como un "Error establishing a database connection", el terror de todo webmaster.
- Accede al panel de control de tu proveedor de hosting (cPanel, Plesk o un panel personalizado).
- Busca el icono Bases de Datos MySQL o similar.
- Crea una nueva base de datos. Asigna un nombre que sea fácil de identificar (por ejemplo,
usuario_pro2026). - Crea un nuevo usuario de base de datos con una contraseña fuerte. Genera una clave de al menos 16 caracteres usando un gestor de contraseñas.
- Asocia el usuario a la base de datos y otórgale Todos los privilegios (ALL PRIVILEGES).
Es vital que no reutilices contraseñas viejas. Si bien muchas caídas de servicio se atribuyen al tráfico excesivo, una configuración incorrecta de permisos en la base de datos puede provocar bloqueos que simulen una caída por tráfico ¿Por qué se cae tu web si tienes pocas visitas? (No siempre es culpa del tráfico). La seguridad de este paso impacta directamente en la estabilidad de tu web.
3. Importación de datos y ajuste de prefijos
Con la casa vacía lista, es hora de mudar los muebles.
- En el panel de hosting, busca nuevamente phpMyAdmin.
- Selecciona la base de datos que acabas de crear del menú lateral.
- Ve a Importar.
- Haz clic en Elegir archivo y selecciona el
.sqlque exportaste en el paso 1. - Asegúrate de que el juego de caracteres sea
utf8mb4(o el que hayas definido en la exportación). - Pulsa Continuar.
Si tu sitio local tenía un prefijo de tabla diferente (por ejemplo, wp_local_), deberás ejecutar una consulta SQL rápida para renombrarlo o editar el archivo .sql en un editor de texto antes de subirlo. Dejar prefijos inconsistentes causará que el CMS no encuentre las tablas.
4. Configuración del archivo de conexión
Aquí es donde conectamos el software con los datos. La mayoría de los sistemas usan un archivo de configuración (en WordPress es wp-config.php).
- Abre la carpeta de tu proyecto local en tu ordenador.
- Localiza el archivo de configuración (
wp-config.php,configuration.php, etc.). - Abrelo con un editor de código como VS Code.
- Busca las siguientes líneas y modifícalas con los datos reales del paso 2:
DB_NAME: El nombre de la BD remota.DB_USER: El usuario creado.DB_PASSWORD: La contraseña generada.DB_HOST: Generalmente eslocalhost, pero algunos hosts usan direcciones IP específicas (revisa el email de bienvenida de tu hosting).
- Guarda los cambios.

Este archivo es la llave maestra. Un error tipográfico aquí impedirá que el sitio funcione, pero no romperá nada en el servidor; el fallo será aislado y fácil de corregir editando el archivo en el lado remoto.
5. Instalación y configuración de FileZilla con SFTP
Usar FTP (File Transfer Protocol) es arcaico e inseguro. En 2026, el estándar de la industria es SFTP (SSH File Transfer Protocol), que encripta tus credenciales. FileZilla sigue siendo el cliente estándar por su robustez y curva de aprendizaje casi nula, ideal para esta tarea.
- Descarga e instala FileZilla Client si no lo tienes.
- Abre el Gestor de sitios (Archivo > Gestor de sitios o
Ctrl+S). - Crea un Nuevo sitio y ponle el nombre de tu web.
- En Protocolo, selecciona
SFTP - SSH File Transfer Protocol. - En Servidor, introduce tu dominio (ej.
midominio.com) o la IP proporcionada por el hosting. - En Usuario, introduce tu usuario de cPanel o el usuario FTP específico del hosting.
- En Contraseña, introduce la clave correspondiente.
- En Puerto, si seleccionaste SFTP, el puerto
22debería autocompletarse. Si usas FTP normal (no recomendado), usa el21. - Haz clic en Conectar.
Una vez conectado, verás dos columnas. La izquierda es tu ordenador local, la derecha es el servidor remoto. La conexión debe establecerse en menos de 5 segundos si los datos son correctos; si tarda más, verifica tu firewall o si la IP de tu hogar está bloqueada en el servidor.
6. Subida de archivos al directorio raíz (public_html)
La estructura de carpetas puede variar, pero public_html o www son el estándar para la carpeta pública.
- En el panel remoto (derecha), navega hasta la carpeta
public_html. - Borra cualquier archivo
default.phpoindex.htmlde prueba que el hosting haya puesto ahí. - En el panel local (izquierda), selecciona todos los archivos de tu proyecto local. No subas la carpeta entera si contiene carpetas de sistema o backups que no necesitas; sube solo el contenido raíz del CMS (archivos como
wp-admin,wp-content,index.php, etc.). - Arrastra los archivos desde la izquierda hacia la derecha.
FileZilla te mostrará la cola de transferencia. Si tu conexión a internet es de fibra óptica estándar (300Mbps) y el hosting tiene buena entrada, subir un sitio de 200MB debería tomar menos de 2 minutos. Durante la transferencia, evita suspender tu ordenador o cerrar la aplicación.
7. Corrección de URLs y verificación final
Si has movido WordPress u otro CMS con enlaces absolutos en la base de datos, tu sitio intentará cargar recursos de localhost y se verá roto (sin estilos ni imágenes).
- Accede al
phpMyAdminremoto nuevamente. - Entra en la tabla
wp_options(o la tabla de opciones de tu CMS). - Busca las filas
siteurlyhome. - Edita manualmente el valor de
http://localhost/tu-proyectoahttps://tu-dominio-real.com.
Alternativamente, si usas WordPress, puedes añadir estas líneas a tu archivo wp-config.php temporalmente para forzar la nueva dirección:
define('WP_HOME','https://tu-dominio-real.com');
define('WP_SITEURL','https://tu-dominio-real.com');
Luego, accede a tu dominio en el navegador. Haz clic en varios enlaces, prueba el formulario de contacto y verifica las imágenes. Si ves un mensaje de error 500 Internal Server Error, revisa el archivo error_log en tu hosting (suele estar en la raíz, oculto) para ver si falta una extensión de PHP.
Conclusión: Más allá de la publicación
Una vez que tu web está viva, el trabajo de mantenimiento real comienza. Ya has superado la barrera técnica del "miedo a subir archivos", lo cual te pone por delante del 90% de los que prueban a crear un sitio. Sin embargo, la seguridad de tus datos no debe depender de un único disco duro ni del servidor del hosting. He visto perder proyectos enteros por fallos simultáneos.
Por eso, después de la migración, mi consejo profesional es automatizar las copias de seguridad fuera del servidor. Yo solía confiar ciegamente en servicios de almacenamiento genéricos en la nube para mis datos pesados, pero con el tiempo me di cuenta de la necesidad de redundancia y acceso rápido sin bloqueos de cuenta Por qué abandoné Google Drive como almacenamiento principal para mis backups de vídeo. Integra un sistema de backup remoto (S3 o FTP externo) desde el día uno; es el seguro de vida más barato que comprarás para tu negocio digital.

