La mayoría de las personas no piensan en asegurar su área de administrador de WordPress hasta que es demasiado tarde. Hemos ayudado a usuarios a recuperarse de ataques en los que el área de administrador de WordPress quedó completamente expuesta.
Es por eso que recomendamos restringir el acceso al área de administrador por IP. Es una técnica que hemos utilizado en sitios de clientes que solo necesitan que una o dos personas inicien sesión desde redes conocidas.
En este tutorial, te mostraremos cómo bloquear el acceso al administrador de WordPress mediante una edición rápida del archivo .htaccess. Es una forma simple pero muy efectiva de proteger tu sitio web de WordPress contra amenazas comunes.

¿Por qué restringir el acceso de administrador de WordPress por dirección IP?
Si tienes un sitio web de WordPress, entonces debes tomar la seguridad de tu sitio web en serio. Si bien el software principal de WordPress es muy seguro, hay más que puedes hacer para protegerte de hackers y ataques de fuerza bruta.
Los hackers pueden derribar tu sitio web, así como dañar tus ingresos y reputación. Pueden robar datos o incluso distribuir malware a los visitantes de tu sitio web y hacer que tu dominio sea incluido en listas negras por Google y otros.
Una forma inteligente de bloquear hackers y mejorar la seguridad de WordPress es protegiendo tu área de administrador de WordPress del acceso no autorizado.
Si solo tú o unos pocos usuarios de confianza necesitan acceso al área de administrador, una buena manera de hacerlo es limitar el acceso a wp-admin y a la página de inicio de sesión de WordPress a las direcciones IP de tu equipo.
Cada miembro del equipo se conectará a tu sitio de WordPress usando una dirección IP específica para cada ubicación. Si bloqueas el acceso a todas las demás direcciones IP, un hacker no podrá acceder a tu sitio web, incluso si ha descubierto tu nombre de usuario y contraseña.
En su lugar, verán el mensaje de error: 'Prohibido. No tienes permiso para acceder a este recurso.'
Veamos cómo restringir el acceso de administrador de WordPress por dirección IP.
Cómo restringir el acceso de administrador de WordPress por dirección IP
Lo primero que debes hacer es hacer una lista de las direcciones IP utilizadas por todos en tu equipo que necesiten acceso al área de administración de WordPress.
Necesitas pedir a los miembros de tu equipo que te envíen sus direcciones IP desde las ubicaciones desde las que suelen trabajar. Si alguien trabaja desde varias ubicaciones, deberás recopilar la dirección IP de cada una.
También necesitarás agregar tu dirección IP a la lista.
¿Cómo encontrar tu dirección IP?
La forma más fácil de encontrar tu dirección IP es visitando un sitio como SupportAlly o WhatisMyIPAddress.com.

Estos sitios web te mostrarán tu dirección IP, que luego puedes agregar a tu lista. También puedes pedir a los miembros de tu equipo que visiten estos sitios para encontrar su dirección IP y enviártela.
Una vez que hayas hecho tu lista, puedes proceder a limitar el acceso por direcciones IP. Te mostraremos dos enfoques para que puedas elegir el que mejor te funcione.
🚨 Nota importante: En las siguientes secciones, te mostraremos cómo modificar archivos importantes para restringir el acceso de administrador. Esto puede ser arriesgado, incluso para usuarios avanzados, ya que el más mínimo error puede hacer que tu sitio web falle o afectar su funcionalidad. Por eso, siempre recomendamos crear una copia de seguridad primero.
1. Restringe el acceso por dirección IP usando el archivo .htaccess (Recomendado)
Para este método, usaremos el archivo .htaccess. Es un archivo de configuración a nivel de servidor que puedes editar para configurar diferentes cosas.
Se ejecuta antes de que tu sitio web de WordPress se cargue, por eso agregar instrucciones de seguridad allí te brinda una protección mucho mejor.
Tendrás que usar un cliente FTP o la aplicación de administrador de archivos de tu proveedor de hosting. Si no has usado FTP antes, quizás quieras ver nuestra guía sobre cómo usar FTP para subir archivos a WordPress.
Necesitarás usar el software para navegar a la carpeta /wp-admin/ de tu sitio web. Una vez que estés allí, deberías buscar el archivo .htaccess. Este es un archivo oculto, así que si no puedes verlo, es posible que necesites habilitar la opción de mostrar archivos ocultos en tu software.

Si ese archivo no existe en la carpeta, deberías crear un nuevo archivo y guardarlo con el nombre .htaccess en tu carpeta /wp-admin/.
Advertencia ⚠️: No edites el archivo .htaccess de tu raíz, o bloquearás a los visitantes del front-end de tu sitio web. Asegúrate de que estás editando /wp-admin/.htaccess.
Primero deberías descargar una copia del archivo a tu computadora como respaldo.
Una vez que hayas hecho eso, necesitarás editar .htaccess y pegar el siguiente código en el archivo:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<Limit GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
# whitelist Amanda's IP address
allow from xx.xx.xx.xxx
# whitelist Muhammad's IP address
allow from xx.xx.xx.xxx
# whitelist Work IP address
allow from xx.xx.xx.xxx
</LIMIT>
Continúa y edita el archivo para que coincida con los nombres de los miembros de tu propio equipo, y luego pega las direcciones IP que recopilaste anteriormente para reemplazar donde dice xx.xx.xx.xxx.
Una vez que guardes el archivo, solo esas direcciones IP podrán acceder al administrador de WordPress.
Recuerda que si tu dirección IP cambia o intentas acceder a tu sitio web desde una nueva ubicación, serás bloqueado del área de administración de WordPress. Necesitarás agregar tu nueva dirección IP al archivo /wp-admin/.htaccess .
2. Restringe el acceso usando wp-config.php (método alternativo)
Si tu servidor no admite reglas .htaccess o estás ejecutando WordPress en un servidor que no es Apache, como NGINX o LiteSpeed, entonces usar el archivo wp-config.php es una buena alternativa.
Editar wp-config.php puede ser más seguro que modificar .htaccess porque es menos probable que cause errores a nivel de servidor y es fácil de revertir si es necesario. Dicho esto, aún necesitarás hacer cambios con cuidado, ya que incluso errores menores pueden bloquear tu sitio.
El archivo wp-config.php se carga temprano durante el proceso de arranque de WordPress, lo que lo convierte en un lugar seguro para aplicar restricciones. Es especialmente útil para desarrolladores o usuarios avanzados que administran sitios en diferentes entornos de servidor.
Para usar este método, abre tu archivo wp-config.php usando un cliente FTP o el administrador de archivos del panel de control de tu hosting. Luego, justo encima de la línea que dice /* ¡Eso es todo, deja de editar! Feliz blogging. */, agrega el siguiente código:
if (strpos($_SERVER['REQUEST_URI'], '/wp-admin') !== false ||
strpos($_SERVER['REQUEST_URI'], '/wp-login.php') !== false) {
if ($_SERVER['REMOTE_ADDR'] !== '123.456.78.90') {
header('HTTP/1.0 403 Forbidden');
exit;
}
}
Reemplaza 123.456.78.90 con tu dirección IP actual. Este código bloqueará todo acceso a tus páginas de administración e inicio de sesión de WordPress, excepto desde tu IP permitida.
Agregar múltiples direcciones IP:
Para agregar a otros miembros del equipo, necesitará usar un código diferente en su lugar. En este código, usará una matriz de direcciones IP para diferentes miembros del equipo separadas por comas. Así:
$allowed_ips = array('123.456.789.000', '987.654.321.000', '200.200.255.168'); // Add more IPs as necessary
if ( !in_array($_SERVER['REMOTE_ADDR'], $allowed_ips) ) {
wp_die('Unauthorized access. Your IP address is not permitted.');
}
Precaución⚠️: Si su dirección IP cambia con frecuencia o trabaja desde varias redes, este método podría bloquearlo. Siempre haga una copia de seguridad antes de realizar cambios en wp-config.php.
Manejo de IPs dinámicas o múltiples miembros del equipo
Si su dirección IP cambia con frecuencia o su equipo trabaja desde diferentes redes, las restricciones basadas en IP en .htaccess o wp-config.php pueden no ser prácticas. Estos métodos funcionan mejor cuando el acceso se limita a una IP o ubicación fija.
Para una seguridad más flexible, puede usar enfoques alternativos que se enumeran a continuación:
1. Agregar autenticación de dos factores (2FA)
Agregar autenticación de dos factores significa que los usuarios necesitan ingresar tanto su contraseña como un código de un solo uso de su teléfono para iniciar sesión. Esto evita que los atacantes accedan a su sitio incluso si conocen su contraseña.
Para obtener más información, consulte nuestra guía paso a paso sobre cómo agregar autenticación de dos factores en WordPress.

2. Proteger con contraseña su carpeta de administrador
Este enfoque agrega otra capa de seguridad antes de que los usuarios puedan siquiera acceder a la pantalla de inicio de sesión de WordPress. Cuando alguien intente visitar /wp-admin/, primero deberá ingresar un nombre de usuario y contraseña a nivel de servidor que usted establezca.

Esto ayuda a bloquear bots y atacantes que intentan adivinar sus credenciales de inicio de sesión de WordPress. Para obtener más detalles, consulte nuestro tutorial sobre cómo proteger con contraseña su carpeta de administrador de WordPress.
Preguntas Frecuentes
¿Qué sucede si mi dirección IP cambia?
Si está utilizando restricciones de IP en .htaccess o wp-config.php y su IP cambia, se le bloqueará el acceso a su área de administrador. Para recuperar el acceso, deberá actualizar la dirección IP permitida a través de FTP o su panel de control de hosting.
¿Puedo permitir el acceso desde múltiples direcciones IP?
Sí. Puede enumerar varias direcciones IP en sus reglas de .htaccess o wp-config.php. Cada una debe agregarse como una línea Allow from separada o una condición if, dependiendo del método que esté utilizando.
¿Qué pasa si uso un punto de acceso móvil o una VPN?
Los puntos de acceso móviles y las VPN a menudo usan IPs dinámicas, que pueden cambiar con frecuencia. En este caso, recomendamos habilitar la autenticación de dos factores o proteger con contraseña su carpeta de administrador para una protección más flexible.
Más consejos de seguridad para WordPress
Restringir el acceso a su área de administrador es una buena medida, pero es solo una parte del rompecabezas. Aquí hay tutoriales más útiles para fortalecer la seguridad de su sitio y aprender sobre las funciones de .htaccess.
- Cómo y por qué deberías limitar los intentos de inicio de sesión en WordPress
- Consejos de seguridad para comercio electrónico: cómo asegurar tu tienda de WordPress
- Los trucos .htaccess más útiles para WordPress
- Consejos para proteger tu área de administración de WordPress (Actualizado)
- Cómo realizar una auditoría de seguridad de WordPress (Lista de verificación completa)
Esperamos que este tutorial te haya ayudado a aprender cómo restringir el acceso a la administración de WordPress por dirección IP. También puedes consultar nuestro tutorial de WordPress sobre cómo limitar a los autores a sus propias publicaciones en el administrador de WordPress, o qué hacer cuando te bloquean el acceso al administrador de WordPress.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Kzain
esto es útil, pero solo quiero saber sobre la dirección IP dinámica y la dirección IP estática para un sitio web de WordPress. ¿Cuál es la forma preferida de configurar la dirección IP si WordPress se administra en una red doméstica la mayor parte del tiempo? ¿Y si uso un plugin de seguridad, veo que la dirección IP cambia?
Soporte de WPBeginner
Si te refieres a que administras tu sitio desde una red doméstica, usarías uno de los muchos sitios para encontrar tu IP pública para encontrar la IP desde la que tu sitio debería verte acceder.
¡Tenemos más información sobre IPs en nuestra página a continuación!
https://www.wpbeginner.com/glossary/ip-address/
Administrador
Kzain
gracias por la respuesta, definitivamente leeré ese artículo.
Jiří Vaněk
¿Es posible permitir el acceso al área de administración desde un rango de red completo usando el archivo htaccess? Es decir, no solo desde direcciones IP individuales, sino desde todo el rango de una red. Sería complicado para mí enumerar todas las direcciones IP, y sería mucho más fácil para mí configurar toda la red, pero no estoy seguro de si esto es posible con htaccess.
Soporte de WPBeginner
Si todas las direcciones IP están en una red, puedes usar una dirección IP parcial, pero aún así recomendaríamos una dirección IP completa para cada usuario.
Administrador
Jiří Vaněk
Gracias por confirmar y por el consejo. Habrá múltiples direcciones IP involucradas, así que no estoy seguro si el mantenimiento se volverá complicado, pero aun así, aprecio tu recomendación y la consideraré seriamente porque creo que tu consejo está justificado. Como puedes ver, a veces es bueno consultar con profesionales.
John
Mi carpeta wp-admin no contiene un archivo .htaccess. ¿Qué me falta?
Soporte de WPBeginner
Necesitarías tener tu FTP o administrador de archivos mostrando archivos ocultos si no lo ves.
Administrador
Mukund
¿Cómo encontrar mi dirección IP para ocultar la carpeta wp-admin?
Soporte de WPBeginner
Hay varios métodos para encontrar tu IP, uno de los más sencillos sería usar un sitio como supportally.com
Administrador
Chris
Tienes que habilitar
el módulo authz_groupfile
“sudo a2enmod authz_groupfile”
y reiniciar apache
Rajat Shankhdhar
No me funciona. El código restringe el acceso al administrador incluso si pongo la IP en una lista blanca.
Rostyslav
Después de esta línea, debes poner una condición para permitir que los archivos php eviten conflictos:
allow from all
Solace
Probé el método de protección con contraseña .htaccess.
Funciona, pero lo probé en un sitio con Woocommerce, y luego mis clientes no pudieron iniciar sesión.
¡Solo lo digo porque parece que nadie ha mencionado que no funciona con sitios que requieren que los clientes inicien sesión!
Miguel
Hola, gracias por el tutorial. Desafortunadamente, no he podido hacer que este archivo .htaccess funcione correctamente porque está denegando el acceso a la única dirección IP que incluí, la mía… Estoy seguro de que copié tu código exactamente y escribí mi IP correctamente. El archivo .htaccess se guardó en: /wp-admin/.htaccess
¿Me falta algo? Gracias
Miguel
Debo añadir que estoy trabajando en una instalación local.
Soporte de WPBeginner
Hola Miguel,
En lugar de tu dirección IP, intenta agregar 127.0.0.1
Esa es la dirección IP de tu localhost. Si agregar solo la IP no funciona, entonces agrega la siguiente línea antes del código anterior:
Requerir localAdministrador
Pankaj Murthalia
¿cómo bloquear el acceso a wp admin???
Emaan Ali
Hola a todos,
He bloqueado el wp-admin con .htaccess como se menciona en este artículo. Pero tengo un problema: mi archivo admin-ajax.php también está siendo restringido en el sitio público.
Mi tema de WordPress utiliza gran parte de la funcionalidad de admin-ajax y he puesto la limitación de acceso por IP en la carpeta wp-admin, por lo que no es accesible para todas las IPs.
¿Alguien ha encontrado una solución para esto? Si es así, por favor compártanla.
Gracias de antemano
Emaan
Len
Hola, esto parece realmente útil. ¿Quizás podrías ayudarme? En lugar de permitir el acceso a una IP específica, ¿podemos permitir el acceso a países específicos en el archivo .htaccess? Espero que puedas ayudarme. Muchas gracias.
Bridget
Thanks! This was the only solution that worked for me after trying so many
Scotty
Hola, esto sí funciona. Verifiqué y estoy "prohibido" de iniciar sesión en cualquier otra computadora. Ni siquiera puedo ver el panel de inicio de sesión. Sin embargo, todavía tengo alrededor de 24 intentos de inicio de sesión fallidos por día desde diferentes direcciones IP. ¿Alguna idea de cómo se están saliendo con la suya? ¿Es algún tipo de ataque de fuerza bruta? Gracias, Scott.
Soporte de WPBeginner
Sí, es muy posible. Asegúrate de que tu contraseña de .htaccess sea difícil de adivinar.
Administrador
Scotty
Gracias. Tu sitio ha sido de gran ayuda. Si tienes un momento, ¿quizás podrías responder una pregunta más? Seguí tus tutoriales y funcionaron. Bloqueé el acceso a mi carpeta de administrador con htaccess y agregué una contraseña encima de eso. Probé y, aunque la gente lograra descifrar la contraseña, lo cual no ha sucedido, no tendrían acceso a la carpeta desde ninguna dirección IP excepto la mía. Sin embargo, todavía tengo alrededor de 12 inicios de sesión fallidos por día. ¿Alguna idea de qué está pasando y a dónde ir para solucionarlo? Una vez fui hackeado, pero limpié los archivos de mi carpeta de subidas.
Scotty
NVM: Esta página respondió mi pregunta por ahora. Gran información
https://www.wpbeginner.com/wp-tutorials/11-vital-tips-and-hacks-to-protect-your-wordpress-admin-area/
Sehrish
¿Y cómo permitir el acceso solo al administrador de WordPress? ¿Qué código escribiré sin ninguna IP? Solo necesito saber una función genérica que obtenga información relacionada con el administrador. Porque tengo que restringir las cargas de mi plugin a otros usuarios. Y quienquiera que use este plugin, necesito obtener su información de administrador para restringir el contenido de otros y permitir solo al administrador del sitio web.
Praveen
Muchas, muchas gracias señor, probé esto en mi sistema local y funciona muy bien.
Kim
Intenté esto (después de haber protegido con contraseña mi directorio wp-admin y haber corregido el error de redirección según tu otro artículo), pero luego aparece una ventana emergente que pide un nombre de usuario y una contraseña para el "Control de Acceso de Administración de WordPress". ¿Qué nombre de usuario y contraseña debo usar para esta nueva ventana emergente? Ni el inicio de sesión de administrador de WordPress ni el inicio de sesión del directorio wp-admin funcionan para ello.
¡Gracias!
Kim
Oh, creo que descubrí el problema; parece que funciona siempre y cuando me asegure de tener el código agregado al principio.
Jordyn
I have a big problem
I did what you said about creating the .htaccess and putting in the code snippet. It didn’t work so I deleted the .htaccess file and now I can’t login to my dashboard! It’s just a white screen
Please help!!!
Gracias
Personal editorial
Ese es un resultado bastante improbable. ¿Borraste el archivo .htaccess en tu carpeta /wp-admin/ correcto?
Administrador
Jordyn
Lo único que hice fue crear el archivo en mi carpeta wp-admin y cuando no funcionó, lo borré de la carpeta wp-admin. No estoy seguro de qué pasó, pero después de un loco camino de conejos y muchos intentos a ciegas, pude corregir el problema agregando al principio de mi archivo login.php. Todavía no sé qué salió mal ni por qué lo que hice lo arregló... pero al menos está arreglado. Puede que lo intente de nuevo cuando me sienta valiente.
Jordyn
it erased the code snippet
it was supposed to say “…by adding “” to the top…”
Jordyn
signo de menor que ? ob_start(); ? signo de mayor que
Peter
Primero no logré que tu protección con contraseña funcionara
https://www.wpbeginner.com/wp-tutorials/how-to-password-protect-your-wordpress-admin-wp-admin-directory
al menos este funciona.
Es interesante que la página wp-admin entre en una redirección infinita cuando ingreso una dirección IP incorrecta, no la mía.
La redirección infinita parece ser, por lo tanto, un problema de autorización.
Raheem Khan
Hola WPB, no creo que funcione en Pakistán porque cada vez que reiniciamos o apagamos nuestro módem DSL, la dirección IP cambia automáticamente. Si tienes algún otro consejo, por favor responde.
Gracias
Personal editorial
Deberías ver nuestro consejo para proteger con contraseña el directorio wp-admin.
Administrador
awan
sí se puede hacer en https, es solo .htaccess
wpbeginnerfan
¿Se puede hacer esto en sitios https? No logro que funcione.
andrew
hola, cómo hacer .htaccess con ip dinámica (ip no estática)
mi ip siempre cambia xxx.xxx.xxx.12 xxx.xxx.xxx.453 xxx.xxx.xxx.076
por favor ayuden…
Personal editorial
Entonces esta solución no es para ti.
Administrador
Joe
Puedes fortalecer tu instalación de WordPress a través de la lista blanca de .htaccess incluso si tienes una dirección IP dinámica. Puedes poner en lista blanca un rango de direcciones IP usando un rango /24 o /16. Si bien esto permite más acceso que si siempre supieras la IP que quieres permitir, aún prohíbe el acceso a casi todo Internet.
Simplemente agrega /24 al final de la línea 'allow from' para permitir toda la subred de clase C (256 IPs), o agrega /16 para permitir todo el rango de 65,536. es decir,
allow from xxx.xxx.xxx.0/24
permitirá el acceso a direcciones IP de xxx.xxx.xxx.0 – xxx.xxx.xxx.255. y
allow from xxx.xxx.0.0/16
permitirá el acceso desde direcciones IP de xxx.xxx.0.0 – xxx.xxx.255.255
Kyle
Dices que no ponga el archivo .htaccess del sitio raíz... ¿por qué es eso? ¿Porque solo quieres limitar el acceso a la carpeta /wp-admin?
Entonces... si quisiera tener un sitio de WordPress alojado externamente pero usado como un recurso interno de la empresa para que solo las personas que usan las IPs de nuestra empresa puedan acceder a él... si editara la carpeta .htaccess de la carpeta raíz para permitir solo las IPs de nuestro dominio... eso funcionaría de la misma manera que tu arreglo de /wp-admin, pero para todo el sitio, ¿correcto?
Personal editorial
Sí Kyle, la razón por la que dijimos que no pongas este código en el archivo raíz es porque entonces limitará el acceso a tu sitio solo a estas IPs también. Pero si estás tratando de hacer un sitio al que solo el personal de tu empresa pueda acceder desde el trabajo, entonces querrás poner el archivo .htaccess en la carpeta raíz.
Administrador
Kyle
Fantastic…thank you for the quick reply!
Bill
¿Por qué limitar solo los GET? ¡Quizás quieras limitar también los POST!
Darrin
Buen consejo. Lo haré.
Alim Bolar
¿Puedo limitar el acceso basándome en otros criterios? Por ejemplo, necesito que solo mi laptop acceda a una carpeta en particular. Podría acceder desde cualquier lugar, por lo que sería difícil especificar una IP ya que mi acceso a internet se basaría en DHCP. ¿Existe un identificador único para cada máquina o algo así que pueda usarse como criterio?