Cómo proteger el directorio de administración de WordPress con contraseña
¿Por qué deberías proteger el directorio de administración de WordPress?
WordPress es el gestor de contenidos más utilizado del mundo, y precisamente por eso, es el objetivo número uno de los ataques automatizados. Los bots no descansan y escanean constantemente millones de sitios web en busca de rutas conocidas. La más atacada es, sin duda, /wp-admin. Este es el acceso a tu panel de control, la puerta principal de tu negocio online.
Si un atacante consigue entrar, podría instalar malware, secuestrar tu web, robar datos de clientes o usarla para enviar spam. Aunque puedas tener una contraseña robusta para tu usuario, la realidad es que los ataques de fuerza bruta son cada vez más sofisticados. Por eso, una de las mejores prácticas de seguridad WordPress es añadir una capa extra de autenticación a nivel de servidor. Es decir, proteger wp-admin con una contraseña adicional independiente de la de tu usuario.
Esta medida es como poner un segundo candado en la puerta. Aunque un bot adivine tu usuario y contraseña de WordPress, todavía tendrá que superar esta barrera que tú has configurado directamente en el servidor. Es una solución simple, efectiva y que disuade a la gran mayoría de ataques automáticos.
La buena noticia es que no necesitas ser un experto en servidores para hacerlo. Existen dos métodos principales: usar el panel de control de tu hosting (cPanel o DirectAdmin) o editar manualmente los archivos de configuración. Vamos a ver ambos paso a paso.
Método 1: Proteger la carpeta wp-admin con cPanel
cPanel es uno de los paneles de control más populares en el hosting compartido. Si tu proveedor lo usa, este método es el más sencillo. Básicamente, vamos a crear un archivo llamado .htaccess dentro de la carpeta wp-admin que le dirá al servidor que exija un usuario y una contraseña.
Paso 1: Localiza la carpeta pública de tu web
Primero, entra en tu cPanel y busca la sección "Administrador de archivos" (File Manager). Normalmente, tu sitio web se encuentra en una carpeta llamada public_html o htdocs. Dentro de esa carpeta, verás la estructura de tu WordPress. Busca la carpeta llamada wp-admin. No entres todavía, solo anota su ruta exacta.
Paso 2: Crea el archivo .htpasswd (el que guarda las contraseñas)
Necesitamos crear un archivo que almacene el usuario y la contraseña cifrada. Este archivo se puede llamar .htpasswd y lo vamos a colocar un nivel por encima de la carpeta pública, por seguridad. Es decir, dentro de tu carpeta de usuario en el servidor, pero fuera de public_html.
- En el Administrador de archivos, navega hasta el directorio raíz de tu cuenta (el que contiene
public_html). - Haz clic en "+ Archivo" (o botón derecho -> "Nuevo archivo").
- Nombra el archivo como
.htpasswdy guárdalo. - Ahora, necesitamos generar un usuario y una contraseña cifrada. cPanel tiene una herramienta para esto. Busca la sección "Protección con contraseña" (o Password Protect Directories) en la página principal de cPanel.
Paso 3: Usa la herramienta "Protección con contraseña" de cPanel
Esta es la forma más gráfica y segura de hacerlo, ya que cPanel escribe el archivo por ti.
- En la herramienta, verás un listado de carpetas. Navega hasta la carpeta
public_htmly luego entra enwp-admin. - Haz clic en el botón "Proteger esta carpeta" (o Protect).
- Te pedirá un nombre para el directorio protegido. Ponle algo como "Admin Access".
- Configura un nombre de usuario y una contraseña. Guárdalos bien.
- Haz clic en "Guardar". cPanel creará automáticamente el archivo
.htaccessdentro dewp-adminy el.htpasswden la ubicación que eligió.
[INFO] Si haces esto con la herramienta de cPanel, no necesitas editar archivos manualmente. Es la opción más recomendada para evitar errores.
Paso 4: Verifica que funciona
Abre tu navegador en modo incógnito y visita tu web: tudominio.com/wp-admin. Debería aparecer una ventana emergente del navegador pidiéndote usuario y contraseña. Si la introduces correctamente, pasará a la pantalla de login normal de WordPress. Si fallas, no te dejará continuar.
Método 2: Proteger la carpeta wp-admin con DirectAdmin
Si tu hosting usa DirectAdmin, el proceso es igual de sencillo, aunque la interfaz es diferente. La idea es la misma: crear un archivo .htaccess en wp-admin y un .htpasswd fuera de la carpeta pública.
Paso 1: Accede al Administrador de archivos de DirectAdmin
En DirectAdmin, busca el icono "Administrador de archivos" en la sección de herramientas. La ruta de tu web suele ser domains/tudominio.com/public_html. Dentro, localiza la carpeta wp-admin.
Paso 2: Crea el archivo .htpasswd
- Ve a la carpeta principal de tu dominio, es decir,
domains/tudominio.com/. Ahí verás la carpetapublic_htmly otras carpetas de logs o estadísticas. - Haz clic en "Crear" o "Nuevo archivo" y nómbralo
.htpasswd. - Para generar la contraseña cifrada, DirectAdmin no tiene una herramienta tan visible como cPanel. Puedes usar un generador online de contraseñas para
.htpasswd. Busca "generador htpasswd" en Google y te aparecerán varios. Introduce tu contraseña y te dará una cadena de texto como$apr1$xxxxx.... - Edita el archivo
.htpasswdcon el editor de texto de DirectAdmin y escribe la línea con el formatousuario:contraseña_cifrada. Guarda y cierra.
Paso 3: Crea el archivo .htaccess en wp-admin
Ahora, entra en la carpeta public_html/wp-admin. Si no existe un archivo .htaccess, créalo. Si ya existe (por ejemplo, por un plugin de seguridad), ábrelo con el editor de texto para añadir las líneas al final.
Pega el siguiente código:
# BEGIN Protect wp-admin
AuthType Basic
AuthName "Acceso Restringido"
AuthUserFile /home/USUARIO/domains/TUDOMINIO.COM/.htpasswd
Require valid-user
# END Protect wp-admin
[WARNING] Es crítico que reemplaces /home/USUARIO/domains/TUDOMINIO.COM/.htpasswd con la ruta absoluta real de tu servidor. En DirectAdmin, la ruta suele ser /home/USUARIO/domains/TUDOMINIO.COM/.htpasswd. Si no sabes cuál es tu usuario, puedes verlo en la esquina superior derecha del panel. Un error en esta ruta hará que tu web dé un error 500.
Paso 4: Prueba el acceso
Igual que antes, visita tu web y comprueba que la ventana de autenticación aparece.
Método 3: Proteger manualmente con un archivo .htaccess (avanzado)
Este método es universal y sirve para cualquier servidor Apache, incluso si tu hosting no tiene un panel de control estándar. Es el método que usan los más técnicos. Necesitas acceso a un editor de texto y a un cliente FTP o al administrador de archivos de tu panel.
Paso 1: Genera el archivo .htpasswd
Puedes usar la herramienta online mencionada antes o, si tienes acceso a la terminal (SSH), puedes ejecutar el comando htpasswd -c /ruta/donde/quieras/.htpasswd usuario. Esto te pedirá la contraseña y creará el archivo.
Paso 2: Sube el archivo .htpasswd
Sube el archivo .htpasswd a una carpeta segura. La mejor opción es colocarlo en el directorio raíz de tu cuenta de hosting, fuera de la carpeta pública (public_html). Así no será accesible desde el navegador.
Paso 3: Crea o edita el .htaccess en wp-admin
Con un editor de texto, crea un archivo llamado .htaccess (si no existe) en tu carpeta wp-admin y pega el mismo código del ejemplo anterior, pero asegurándote de que la ruta AuthUserFile apunta a la ubicación exacta donde subiste el archivo .htpasswd.
Cómo proteger el directorio wp-admin en Syspanel
Si tu hosting utiliza Syspanel (anteriormente conocido como HestiaCP), el proceso es un poco diferente porque no tiene una herramienta gráfica para esto. La forma más fácil es hacerlo por SSH o usando el administrador de archivos de Syspanel.
Paso 1: Accede a Syspanel usando el puerto 2106. Por ejemplo: https://tudominio.com:2106.
Paso 2: Ve al administrador de archivos. La estructura es similar a DirectAdmin, con tu web en domains/tudominio.com/public_html.
Paso 3: Crea el archivo .htpasswd en domains/tudominio.com/ (fuera de public_html).
Paso 4: Para generar la contraseña cifrada, necesitarás usar la herramienta openssl en tu máquina local o un generador online. No hay una opción integrada.
Paso 5: Crea o edita el .htaccess en la carpeta wp-admin con el mismo código del método anterior, adaptando la ruta AuthUserFile a la estructura de Syspanel: AuthUserFile /home/USUARIO/web/TUDOMINIO/public_html/.htpasswd.
[TIP] Si no te sientes cómodo con la línea de comandos, usa un generador online de .htpasswd y copia el resultado. Es la forma más rápida.
Solución de problemas comunes (FAQ)
P: He activado la protección y ahora mi web da un error 500.
R: Esto casi siempre es por una ruta incorrecta en la línea AuthUserFile del archivo .htaccess. Revisa que la ruta absoluta sea correcta. Pide a tu proveedor de hosting la ruta exacta si no la sabes.
P: No me aparece la ventana de contraseña, solo me deja entrar directamente.
R: Asegúrate de que el archivo .htaccess que has editado está dentro de la carpeta wp-admin y no en la raíz de tu web. También verifica que el módulo mod_auth_basic de Apache esté activado en tu servidor (esto es cosa del hosting, pero es lo habitual).
P: ¿Es lo mismo que la autenticación de dos factores (2FA)?
R: No, son cosas diferentes. La protección de directorio es a nivel de servidor y se configura en el hosting. El 2FA es una capa extra que se añade en el propio login de WordPress, normalmente con un plugin. Es una buena práctica usar ambos para una seguridad WordPress máxima.
P: ¿Puedo proteger también la carpeta wp-includes?
R: Sí, pero es más complejo y puede dar problemas de compatibilidad con algunos plugins. La carpeta wp-admin es la más crítica y la que te recomendamos proteger primero.
P: ¿Esto evitará todos los ataques a mi WordPress?
R: No, ningún método es 100% infalible. Pero proteger wp-admin con una contraseña adicional reduce drásticamente el riesgo de ataques de fuerza bruta y accesos no autorizados. Es una capa de seguridad muy importante que debes combinar con otras medidas como mantener WordPress actualizado, usar plugins de seguridad y realizar copias de seguridad periódicas.
P: ¿Puedo cambiar la contraseña de la protección del directorio más adelante?
R: Sí. Si usaste cPanel, puedes hacerlo desde la misma herramienta de "Protección con contraseña". Si lo hiciste manualmente, solo tienes que editar el archivo .htpasswd y cambiar la línea del usuario, generando una nueva contraseña cifrada.
Consejos finales para una seguridad WordPress sólida
Proteger el directorio wp-admin es un excelente primer paso, pero no te quedes ahí. Aquí tienes un checklist rápido para blindar tu sitio:
- Cambia el prefijo de las tablas de la base de datos (de
wp_a algo personalizado). - Desactiva la edición de archivos desde el panel de administración añadiendo
define('DISALLOW_FILE_EDIT', true);a tu archivowp-config.php. - Mantén todo actualizado: WordPress, temas y plugins.
- Usa un plugin de seguridad como Wordfence, Sucuri o iThemes Security para monitorizar intentos de acceso y añadir reglas de firewall.
- Realiza copias de seguridad automáticas y guárdalas en un lugar remoto.
- Elimina los temas y plugins que no uses, ya que son puntos de entrada potenciales.
Siguiendo estos pasos, habrás elevado considerablemente la barrera de entrada para los atacantes. Proteger la carpeta wp-admin es una de las medidas más efectivas y rentables que puedes implementar hoy mismo, ya sea usando cPanel, DirectAdmin o Syspanel. No esperes a ser víctima de un ataque para actuar.
