🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo restringir el acceso a wp-admin en WordPress (por IP)

Actualizado el 26 de septiembre de 2025

¿Por qué deberías restringir el acceso a wp-admin?

El panel de administración de WordPress, conocido como wp-admin, es el corazón de tu sitio web. Es la puerta de entrada a todo tu contenido, configuración, plugins y usuarios. Si un atacante logra acceder a esta área, podría instalar malware, robar datos, modificar tu diseño o incluso borrar todo el sitio. Por eso, proteger esta ruta es una de las medidas de seguridad más importantes que puedes implementar.

Restringir el acceso a wp-admin por IP significa que solo las direcciones IP que tú autorices podrán intentar iniciar sesión. Todos los demás visitantes, bots o atacantes recibirán un error de "Acceso denegado" antes siquiera de ver la pantalla de login. Es como poner una cerradura adicional en la puerta principal de tu casa, pero que solo se abre con una llave específica (tu IP).

Esta medida es especialmente útil si eres la única persona que administra el sitio, o si trabajas con un equipo pequeño desde ubicaciones fijas. Sin embargo, si tienes muchos colaboradores remotos o tus clientes pueden registrarse, necesitarás un enfoque más flexible que también veremos más adelante.

Requisitos previos antes de empezar

Antes de lanzarnos a modificar archivos, necesitas tener dos cosas claras:

  1. Tu dirección IP actual: Puedes descubrirla visitando sitios como whatismyip.com o ipinfo.io. Anótala, la necesitarás para no quedarte fuera de tu propio sitio. Es importante que sepas si tu IP es dinámica (cambia cada cierto tiempo) o estática (fija). Si es dinámica, tendrás que actualizar la configuración periódicamente o usar una alternativa que veremos más adelante.

  2. Acceso a tu hosting: Necesitarás poder editar archivos del servidor, ya sea a través del administrador de archivos de tu panel de control (cPanel, Syspanel, etc.) o mediante un cliente FTP como FileZilla. Si usas Syspanel, recuerda que el acceso a su panel se realiza a través del puerto 2106.

[WARNING] Si configuras mal la restricción, podrías bloquearte a ti mismo. Asegúrate de tener una copia de seguridad del archivo .htaccess antes de editarlo y ten a mano el acceso a tu hosting por si necesitas revertir los cambios.

Método 1: Restricción básica por IP en el archivo .htaccess

Este es el método más común y directo para servidores Apache, que son los más utilizados en el hosting compartido. El archivo .htaccess es un archivo de configuración que controla el comportamiento del servidor en el directorio donde se encuentra y sus subdirectorios.

Paso 1: Localiza y respalda tu archivo .htaccess

Accede a la raíz de tu instalación de WordPress (normalmente donde están las carpetas wp-admin, wp-content y wp-includes). Busca el archivo .htaccess. Si no lo ves, activa la opción de "mostrar archivos ocultos" en tu administrador de archivos o cliente FTP.

Antes de tocarlo, descárgalo a tu ordenador o haz una copia en el mismo servidor con un nombre como .htaccess.backup. Esto es crucial para poder revertir cualquier error.

[INFO] El archivo .htaccess puede tener otros usos importantes, como la optimización de caché o la reescritura de URLs. Modificarlo con cuidado es esencial para no romper tu sitio.

Paso 2: Añade el bloque de código

Abre el archivo .htaccess con un editor de texto plano (como el Bloc de notas o Visual Studio Code) y añade el siguiente bloque de código al principio del archivo, justo antes de la línea # BEGIN WordPress:

<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 123.456.789.000
Allow from 98.765.432.100
</Files>

<Directory wp-admin>
Order Deny,Allow
Deny from all
Allow from 123.456.789.000
Allow from 98.765.432.100
</Directory>

Explicación línea por línea:

  • <Files wp-login.php>: Aplica las reglas al archivo de inicio de sesión.
  • Order Deny,Allow: Primero se aplican las reglas de denegación y luego las de permiso.
  • Deny from all: Bloquea a todos los visitantes.
  • Allow from X.X.X.X: Permite el acceso solo a las IP que especifiques. Reemplaza las IP de ejemplo por las tuyas. Puedes añadir tantas líneas Allow from como necesites.
  • <Directory wp-admin>: Aplica las mismas reglas a toda la carpeta de administración.
  • Las etiquetas de cierre </Files> y </Directory> finalizan los bloques.

Paso 3: Guarda y comprueba

Guarda el archivo y súbelo al servidor si lo estabas editando localmente. Ahora, intenta acceder a tudominio.com/wp-admin. Si tu IP es la correcta, deberías ver la pantalla de inicio de sesión. Si pruebas desde otra red o con el móvil (con datos, no con el Wi-Fi), deberías ver un error "403 Forbidden".

[TIP] Si tu IP es dinámica, este método puede ser un dolor de cabeza. Una alternativa es usar un servicio de DNS dinámico (como No-IP o DuckDNS) y permitir el acceso por nombre de host, pero la configuración es más avanzada y no la cubriremos en detalle aquí.

Método 2: Protección con contraseña adicional (doble autenticación)

Otra opción muy efectiva es añadir una capa extra de contraseña a nivel de servidor para la carpeta wp-admin. Esto se hace mediante un archivo .htpasswd. Aunque no es una restricción por IP, es una alternativa excelente si tus colaboradores tienen IPs dinámicas o si quieres una barrera adicional incluso para tu propia IP.

Paso 1: Crear el archivo .htpasswd

Este archivo contiene los usuarios y contraseñas cifradas. Puedes generarlo en herramientas online como https://hostingcanada.org/htpasswd-generator/. Introduce un usuario y una contraseña fuerte. La herramienta te dará una línea con el formato usuario:hash.

Crea un archivo llamado .htpasswd y pega esa línea dentro. Puedes añadir más usuarios en líneas separadas. Guarda este archivo en un directorio fuera de la raíz pública de tu sitio, por ejemplo, en /home/tuusuario/ o en una carpeta privada de tu hosting. Si no es posible, puedes ponerlo en la raíz, pero es menos seguro.

Paso 2: Modificar el .htaccess

Añade este código al archivo .htaccess, también al principio:

<Files wp-login.php>
AuthName "Acceso Restringido"
AuthType Basic
AuthUserFile /ruta/completa/a/tu/.htpasswd
Require valid-user
</Files>

<Directory wp-admin>
AuthName "Acceso Restringido"
AuthType Basic
AuthUserFile /ruta/completa/a/tu/.htpasswd
Require valid-user
</Directory>

Puntos clave:

  • AuthName: Es el mensaje que verá el navegador en la ventana de solicitud de credenciales.
  • AuthUserFile: Debes poner la ruta absoluta a tu archivo .htpasswd. Si no sabes cuál es, puedes crearla desde el administrador de archivos de tu hosting o preguntar al soporte.
  • Require valid-user: Solo los usuarios listados en el archivo .htpasswd podrán pasar.

Ahora, al acceder a wp-admin, el navegador te pedirá un usuario y contraseña adicionales. Después de ingresarlos, verás el login normal de WordPress.

[TIP] Puedes combinar ambos métodos: primero la autenticación por contraseña y luego, si quieres, añadir la restricción por IP. Esto crea una barrera de seguridad muy sólida.

Método 3: Plugins de seguridad como alternativa

Si no te sientes cómodo editando archivos de configuración, la opción más amigable es usar un plugin de seguridad. Plugins como Wordfence, iThemes Security o All In One WP Security ofrecen funcionalidades muy avanzadas para restringir el acceso a wp-admin desde su interfaz gráfica.

Ventajas de usar un plugin

  • Facilidad de uso: No necesitas tocar código. Todo se configura desde el panel de administración.
  • Gestión de IPs dinámicas: Muchos plugins te permiten añadir tu IP actual con un solo clic y pueden manejar rangos de IPs de forma más intuitiva.
  • Funciones adicionales: Incluyen protección contra fuerza bruta, registro de intentos de acceso, alertas por correo electrónico, etc.

Desventajas a considerar

  • Consumo de recursos: Un plugin de seguridad puede ralentizar ligeramente tu sitio si no está bien configurado.
  • Riesgo de conflictos: A veces, los plugins pueden entrar en conflicto con otros o con el tema. Es importante elegir uno con buena reputación y mantenerlo actualizado.

[INFO] Si tu sitio es muy simple y quieres una solución ligera, el método del .htaccess es ideal. Si buscas una suite de seguridad completa y no te importa el pequeño coste de rendimiento, un plugin es una gran elección.

Consideraciones importantes y resolución de problemas

¿Qué pasa si me bloqueo a mí mismo?

Es el error más común. Si al aplicar las reglas te quedas fuera, no entres en pánico. Tienes dos opciones:

  1. Accede por FTP o al administrador de archivos de tu hosting: Localiza el archivo .htaccess y elimina o revierte los cambios que hiciste. Guarda el archivo original que respaldaste.
  2. Usa una VPN: Si tu IP cambió, conéctate a una VPN que use una de las IPs que permitiste y podrás acceder.

¿Qué pasa si uso Syspanel?

Si tu hosting se gestiona con Syspanel, el proceso de edición de archivos es similar. Accede a tu panel de control en el puerto 2106, abre el administrador de archivos, navega a la raíz de tu WordPress y edita el .htaccess. La estructura del archivo es exactamente la misma.

[WARNING] Algunos servidores usan NGINX en lugar de Apache. En ese caso, el archivo .htaccess no funciona. Deberás usar otros métodos, como la configuración a nivel de servidor o plugins de seguridad. Si no estás seguro, pregunta a tu proveedor de hosting.

¿Y si tengo una IP dinámica?

Como mencionamos, la restricción por IP puede ser un problema. Algunas soluciones:

  • Actualizar manualmente: Cada vez que tu IP cambie, deberás editar el .htaccess y poner la nueva.
  • Rango de IPs: Si tu proveedor de internet te da un rango de IPs, puedes permitir un rango completo (ej. Allow from 123.456.). Es menos seguro, pero más práctico.
  • Usar un plugin: Los plugins suelen tener la función de "agregar mi IP actual" con un clic, lo que facilita la actualización.

¿Es seguro bloquear todo wp-admin?

No del todo. A veces, los plugins o el sistema de WordPress necesitan acceder a archivos dentro de wp-admin para funcionar correctamente, especialmente durante las actualizaciones automáticas. Bloquear el directorio completo puede causar errores.

[TIP] Una práctica más segura es proteger solo el archivo wp-login.php y, si es posible, la carpeta wp-admin excepto ciertos archivos necesarios para AJAX. Sin embargo, para la mayoría de los usuarios, bloquear wp-login.php es suficiente para detener el 99% de los ataques de fuerza bruta.

Preguntas frecuentes (FAQ)

¿Puedo restringir el acceso solo al login y no a todo el panel?

Sí, es muy recomendable. El código que te mostramos para wp-login.php es el más importante. Puedes omitir el bloque <Directory wp-admin> y solo proteger el archivo de login. Esto reduce el riesgo de romper funciones internas.

¿Qué es un ataque de fuerza bruta?

Es un intento de adivinar tu contraseña probando miles de combinaciones por segundo. Restringir el acceso por IP lo detiene de inmediato, ya que el atacante ni siquiera puede llegar a la pantalla de login.

¿Necesito conocimientos avanzados para hacer esto?

No, con seguir los pasos de este artículo es suficiente. Si entiendes qué es una IP y sabes usar un editor de texto, puedes hacerlo. Si tienes dudas, siempre puedes pedir ayuda al soporte de tu hosting.

¿Qué hago si mi sitio usa un CDN como Cloudflare?

Si usas un CDN, la IP que verá tu servidor será la del CDN, no la del visitante real. Deberás configurar la restricción para permitir las IPs de Cloudflare o usar métodos más avanzados como la autenticación por contraseña o plugins que se integren con estos servicios.

¿Esta medida es infalible?

Ninguna medida de seguridad es 100% infalible, pero esta es una barrera muy efectiva que disuade a la gran mayoría de los atacantes. Debe ser parte de una estrategia de seguridad más amplia que incluya contraseñas fuertes, actualizaciones regulares y un buen plugin de seguridad.

En resumen, restringir el acceso a wp-admin por IP es una de las mejores decisiones que puedes tomar para proteger tu WordPress. Es un proceso sencillo que, con un poco de cuidado, te dará una tranquilidad enorme. Si te ha quedado alguna duda, revisa los pasos de nuevo o consulta con tu proveedor de hosting. ¡Tu sitio te lo agradecerá!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel