Montar un WordPress local con XAMPP en 2026 sigue siendo la forma más rápida de trastear tu web sin miedo a romper nada en producción. Te lo cuento sin rodeos, con los pasos que yo mismo hago cuando quiero probar un plugin dudoso o un theme antes de subirlo al hosting real.
Por qué XAMPP y no Docker o LocalWP
XAMPP es un entorno de desarrollo local para WordPress que lleva más de 15 años funcionando y no te obliga a aprender contenedores. Docker mola, pero si solo quieres un WordPress local para hacer pruebas, montar Apache, MySQL y PHP a mano es perder el tiempo. LocalWP es más bonito, sí, pero XAMPP es gratis, ligero y lo entiende cualquiera.
Eso sí, XAMPP no está pensado para producción. Ni se te ocurra exponerlo a internet. Es un entorno de desarrollo local para WordPress y punto.
Paso 1: descargar e instalar XAMPP sin liarla
Vete a la web oficial de Apache Friends y baja la versión para tu sistema. En Windows, instálalo en C:xampp y no en Archivos de programa, porque los permisos de escritura te van a dar guerra con WordPress.
Cuando termine, abre el Panel de Control de XAMPP y arranca Apache y MySQL. Si Apache no arranca, casi siempre es el puerto 80 ocupado por Skype, IIS o algún servicio de Adobe. Cambia el puerto a 8080 en httpd.conf y listo.
Comprueba que todo va
Abre el navegador y escribe localhost. Si ves la pantalla de bienvenida de XAMPP, vas bien. Si no, revisa los logs en xampp/apache/logs/error.log.
Paso 2: descargar WordPress y colocarlo en htdocs
Baja la última versión de WordPress desde wordpress.org. Descomprime el ZIP dentro de C:xampphtdocs y renombra la carpeta a algo corto tipo miweb. Cuanto más corta la ruta, menos problemas con rutas largas en Windows.
Si vas a instalar WordPress en tu ordenador con XAMPP para varios proyectos, crea una carpeta por proyecto dentro de htdocs. Así no mezclas bases de datos ni archivos.
Paso 3: crear la base de datos en phpMyAdmin
Abre localhost/phpmyadmin. Pulsa «Nueva», ponle un nombre sin guiones ni espacios (mejor miweb_db que mi-web), y elige utf8mb4_general_ci. Sí, utf8mb4, no utf8_general_ci. El original se queda corto con emojis y caracteres especiales, y en 2026 eso ya no tiene excusa.
No hace falta crear usuario nuevo. Puedes tirar de root sin contraseña, que es lo que XAMPP trae por defecto. En local no pasa nada, pero no lo dejes así si algún día lo subes a un servidor.
Paso 4: configurar wp-config.php a mano
Renombra wp-config-sample.php a wp-config.php y edítalo con Notepad++ o VS Code. Rellena estos campos:
- DB_NAME: miweb_db
- DB_USER: root
- DB_PASSWORD: (déjalo vacío)
- DB_HOST: localhost
Aquí viene el truco que casi nadie menciona: los salts. Entra en la API oficial de WordPress para generar claves aleatorias y pégalas. Si te las saltas, tu instalación local es vulnerable a ataques de sesión, aunque estés en local.
Si trabajas con multisite o vas a migrar luego a producción, añade también WP_DEBUG a true para ver errores en pantalla.
Escribe localhost/miweb. Te saldrá el asistente de WordPress. Pon un nombre de sitio, un usuario admin (no lo llames «admin», por favor), una contraseña fuerte y un email. Pulsa instalar y en 10 segundos tienes tu WordPress local funcionando.
El panel de administración está en localhost/miweb/wp-admin. Guárdalo en marcadores porque lo vas a usar mucho.
Errores típicos y cómo salir del paso
El más común: «Error establishing a database connection». Suele ser que MySQL no está arrancado en XAMPP o que te has equivocado en el nombre de la base de datos. Revisa también que no tengas otra instancia de MySQL corriendo.
Otro clásico: no puedes subir temas o plugins porque el ZIP supera el límite de subida. Edita php.ini en XAMPP y sube upload_max_filesize a 64M y post_max_size a 64M. Reinicia Apache y listo.
Sobre plugins y temas en local
No todo funciona igual. Plugins de caché como WP Rocket o de seguridad como Wordfence dan guerra en local. Los que dependen de cron externo o de IPs reales, directamente no van. Pruébalos en un staging real antes de dar el salto a producción, no te fíes solo del local.
Copias de seguridad: no seas el típico que pierde todo
Haz un export de la base de datos desde phpMyAdmin cada vez que hagas cambios gordos. Y copia la carpeta htdocs/miweb a un pendrive o a la nube. En local la gente se relaja y luego llora cuando formatea el PC.
Si quieres algo más automático, el plugin UpdraftPlus funciona bien incluso en local para exportar la base de datos y los archivos.
Migrar de local a producción sin morir en el intento
Cuando tu WordPress local esté listo, exporta la base de datos con phpMyAdmin, súbela al hosting con phpMyAdmin del servidor, sube los archivos por FTP o por el gestor del hosting, y cambia las URLs en la tabla wp_options (siteurl y home) y en wp_posts con un search-replace. El plugin Better Search Replace te lo hace en un clic.
Ojo con las rutas absolutas. Si en local tenías localhost/miweb y en producción es tudominio.com,