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

Cómo restringir el acceso a wp-admin por IP en cPanel y DirectAdmin

Actualizado el 21 de marzo de 2026

¿Por qué deberías restringir wp-admin por IP?

WordPress es el gestor de contenidos más utilizado del mundo, y precisamente por eso, el directorio wp-admin se convierte en uno de los objetivos favoritos de ataques automatizados y bots maliciosos. Cada pocos segundos, millones de intentos de acceso se lanzan contra paneles de administración de WordPress en todo el planeta.

Restringir el acceso a wp-admin por dirección IP es una de las medidas de seguridad más efectivas y sencillas que puedes implementar. Si solo permites que tu IP concreta pueda acceder al panel de administración, cualquier intento de acceso desde otra ubicación será bloqueado automáticamente, antes incluso de que llegue a la pantalla de login.

Esta práctica no solo reduce drásticamente los ataques de fuerza bruta, sino que también evita que exploits conocidos puedan ejecutarse en tu panel. Es una capa de protección adicional que, combinada con otras medidas como autenticación en dos pasos o limitación de intentos de acceso, hace que tu WordPress sea considerablemente más seguro.

En esta guía aprenderás paso a paso cómo configurar esta restricción tanto en cPanel como en DirectAdmin, los dos paneles de control de hosting más habituales. No necesitas conocimientos avanzados, solo seguir las instrucciones con calma y tener a mano tu dirección IP actual.


Antes de empezar: preparativos necesarios

Antes de lanzarte a modificar archivos o configuraciones, es importante que prepares un par de cosas para evitar quedarte fuera de tu propio panel.

Averigua tu dirección IP actual

Para restringir el acceso, necesitas saber cuál es tu dirección IP pública. Puedes descubrirla fácilmente visitando sitios web como https://www.cual-es-mi-ip.net o buscando "cuál es mi IP" en Google. Tu IP aparecerá como un número del tipo 84.120.34.152.

Ten en cuenta que tu IP puede cambiar

Si tienes una conexión doméstica normal, tu proveedor de internet puede asignarte una IP dinámica que cambia periódicamente. Si esto ocurre, tendrás que actualizar la regla de restricción cada vez que cambie tu dirección. Para evitar dolores de cabeza, puedes contratar una IP fija con tu proveedor o utilizar un servicio de DNS dinámico que te permita acceder siempre, aunque tu IP cambie.

[WARNING] Si te equivocas con la IP o esta cambia sin que te des cuenta, podrías quedarte fuera de wp-admin. En ese caso, tendrás que acceder al panel de control de tu hosting (cPanel o DirectAdmin) y eliminar o corregir la regla de restricción para recuperar el acceso.

Haz una copia de seguridad del archivo que vas a modificar

Ya sea .htaccess o el archivo de configuración de Apache, es recomendable hacer una copia antes de editarlo. Así, si algo sale mal, podrás restaurar el archivo original sin problemas.


Cómo restringir wp-admin por IP en cPanel

cPanel es uno de los paneles de control más populares en el hosting compartido y semidedicado. La buena noticia es que puedes restringir wp-admin por IP de dos maneras: mediante el administrador de archivos del propio cPanel o directamente editando el archivo .htaccess.

Método 1: Usando el Administrador de Archivos de cPanel

Este es el método más visual y recomendado para usuarios sin experiencia técnica.

  1. Accede a tu cPanel con tus credenciales de hosting.

  2. Busca la sección Archivos y haz clic en Administrador de Archivos.

  3. En la ventana que se abre, navega hasta la carpeta donde está instalado WordPress. Normalmente será public_html o una subcarpeta dentro de ella.

  4. Dentro de esa carpeta, busca la subcarpeta wp-admin. Haz clic derecho sobre ella y selecciona Editar o entra en ella y busca el archivo .htaccess.

  5. Si no ves el archivo .htaccess dentro de wp-admin, es posible que esté oculto. Activa la opción Mostrar archivos ocultos en la esquina superior derecha del Administrador de Archivos.

  6. Una vez que tengas el archivo .htaccess abierto en el editor, añade el siguiente código al final:

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

<Directory "/wp-admin">
Order Deny,Allow
Deny from all
Allow from TU_IP_AQUI
</Directory>
  1. Sustituye TU_IP_AQUI por tu dirección IP real.

  2. Guarda los cambios y cierra el editor.

  3. Si no existía el archivo .htaccess, WordPress lo creará automáticamente. Si no es así, puedes crearlo manualmente desde el Administrador de Archivos haciendo clic en + Archivo y nombrándolo .htaccess.

[TIP] Si tu IP es dinámica, puedes usar un rango de IPs o una máscara de red para cubrir un conjunto de direcciones. Por ejemplo, Allow from 84.120. permitiría cualquier IP que empiece por esos números. Sin embargo, esto reduce la seguridad, así que úsalo con precaución.

Método 2: Editando el archivo .htaccess desde el editor de texto

Si prefieres trabajar directamente con el archivo, puedes hacerlo desde la opción Editor de cPanel.

  1. En cPanel, busca la sección Archivos y haz clic en Editor.

  2. Elige el directorio donde está WordPress y selecciona el archivo .htaccess.

  3. Añade el mismo código que en el método anterior, pero esta vez también puedes proteger el acceso al archivo wp-login.php que es la puerta de entrada al login.

  4. Añade también una regla para bloquear el acceso directo a wp-admin:

# RESTRINGIR WP-ADMIN
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin [NC]
RewriteCond %{REMOTE_ADDR} !^TU_IP_AQUI$
RewriteRule ^(.*)$ - [F,L]
</IfModule>
  1. Guarda los cambios y verifica que el sitio sigue funcionando correctamente.

[INFO] Este segundo método es más robusto porque bloquea cualquier intento de acceso a wp-admin, incluso si se hace desde una URL alternativa. Es recomendable usar ambos códigos para una protección completa.


Cómo restringir wp-admin por IP en DirectAdmin

DirectAdmin es otro panel de control muy extendido, especialmente en servidores dedicados y VPS. El proceso es similar, aunque la interfaz cambia.

Paso 1: Accede al administrador de archivos de DirectAdmin

  1. Inicia sesión en tu panel de DirectAdmin.

  2. En el menú principal, busca el icono Administrador de Archivos dentro de la sección Administración de Archivos.

  3. Navega hasta el directorio donde está instalado WordPress. Normalmente será domains/tudominio.com/public_html.

Paso 2: Localiza o crea el archivo .htaccess en wp-admin

  1. Dentro de public_html, entra en la carpeta wp-admin.

  2. Busca el archivo .htaccess. Si no existe, créalo pulsando en + Crear archivo y nombrándolo .htaccess.

  3. Haz clic en el archivo y selecciona Editar.

Paso 3: Añade el código de restricción

Dentro del archivo .htaccess de wp-admin, añade el siguiente bloque:

<IfModule mod_authz_core.c>
Require ip TU_IP_AQUI
</IfModule>
<IfModule !mod_authz_core.c>
Order Deny,Allow
Deny from all
Allow from TU_IP_AQUI
</IfModule>

Sustituye TU_IP_AQUI por tu dirección IP real.

Paso 4: Protege también el archivo wp-login.php

Para una protección completa, también debes crear o editar el archivo .htaccess en la raíz de WordPress (public_html). Añade:

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

Paso 5: Guarda y verifica

Guarda los cambios en ambos archivos. Ahora intenta acceder a /wp-admin desde tu IP habitual. Deberías poder hacerlo sin problemas. Si intentas acceder desde otra IP (por ejemplo, desde el móvil con datos), verás un error 403 Forbidden.

[WARNING] En DirectAdmin, la configuración de Apache puede variar según el servidor. Si el código no funciona, es posible que necesites usar la sintaxis de Apache 2.4 o posterior. En ese caso, usa la variante con Require ip que se muestra arriba.


Cómo proteger wp-admin en Syspanel (antes HestiaCP)

Si tu hosting utiliza Syspanel (el panel que antes se llamaba HestiaCP), el proceso es similar a los anteriores, pero con algunas particularidades.

Syspanel es un panel de control gratuito y muy potente, muy popular en VPS. Su puerto de acceso es el 2106, y puedes acceder escribiendo https://tu-dominio.com:2106 en tu navegador.

  1. Accede a Syspanel con tu usuario y contraseña.

  2. Ve a la sección Web y selecciona tu dominio.

  3. Haz clic en Abrir Administrador de Archivos o usa el acceso por FTP/SFTP.

  4. Navega hasta public_html y busca la carpeta wp-admin.

  5. Crea o edita el archivo .htaccess dentro de wp-admin con el mismo código que usamos en DirectAdmin:

<IfModule mod_authz_core.c>
Require ip TU_IP_AQUI
</IfModule>
<IfModule !mod_authz_core.c>
Order Deny,Allow
Deny from all
Allow from TU_IP_AQUI
</IfModule>
  1. No olvides crear también la regla para wp-login.php en la raíz.

[TIP] En Syspanel, la estructura de archivos es muy similar a la de cualquier hosting Linux, así que no tendrás problemas para encontrar las carpetas. El puerto 2106 es solo para acceder al panel de control, no afecta al funcionamiento de tu web.


Verificación y solución de problemas

Después de aplicar cualquiera de los métodos anteriores, es fundamental verificar que todo funciona correctamente.

Comprueba el acceso desde tu IP

  • Abre una ventana de incógnito en tu navegador y visita https://tudominio.com/wp-admin. Deberías poder ver la pantalla de login.
  • Si accedes desde tu IP normal, todo debería ir bien.

Comprueba el bloqueo desde otra IP

  • Usa el navegador del móvil (con datos móviles, no con WiFi, para tener IP distinta) o una VPN.
  • Intenta acceder a https://tudominio.com/wp-admin. Deberías recibir un error 403 Forbidden o un mensaje de "Acceso denegado".

Si algo falla

  • Error 500 (Internal Server Error): Esto suele indicar un fallo en la sintaxis del .htaccess. Revisa que no haya espacios extra o caracteres raros. También puedes probar con la otra variante de código (Apache 2.2 vs 2.4).
  • No me deja entrar ni desde mi IP: Revisa que has escrito bien tu IP y que no ha cambiado. Si es así, accede al panel de control de tu hosting y elimina temporalmente el archivo .htaccess que has modificado para recuperar el acceso.
  • El sitio entero da error: Si el error afecta a todo el sitio, no solo a wp-admin, es que has modificado el .htaccess incorrecto o has añadido el código en la raíz sin querer. Restaura la copia de seguridad que hiciste al principio.

Preguntas frecuentes sobre la restricción de wp-admin por IP

¿Puedo restringir el acceso solo a wp-admin sin afectar a wp-login.php?

Sí, puedes. De hecho, es recomendable. Si solo proteges wp-admin, los atacantes podrían intentar acceder directamente a wp-login.php. Por eso, en esta guía hemos protegido ambos. Puedes aplicar solo una de las reglas, pero lo ideal es proteger las dos.

¿Qué pasa si tengo varios usuarios que necesitan acceder a wp-admin desde distintas IPs?

Puedes añadir varias direcciones IP en el archivo .htaccess separándolas con espacios o usando varias líneas Allow from. En Apache 2.4, puedes usar varias líneas Require ip.

¿Esta restricción afecta al rendimiento de mi web?

No, en absoluto. La restricción se aplica antes de cargar WordPress, a nivel de servidor. Es una regla muy ligera que no añade ninguna carga apreciable.

¿Es suficiente solo con restringir wp-admin por IP para proteger mi WordPress?

No. Es una medida muy eficaz, pero no es la única que debes aplicar. Combínala con contraseñas seguras, autenticación en dos pasos, mantener WordPress y sus plugins actualizados, y un buen plugin de seguridad como Wordfence o Sucuri.

¿Qué hago si mi IP cambia muy a menudo?

Si tu IP es dinámica y cambia con frecuencia, esta medida puede resultar molesta. Puedes usar un servicio de DNS dinámico que te asigne un nombre de dominio (como tunombre.ddns.net) y configurar el servidor para que resuelva ese nombre en lugar de una IP fija. Sin embargo, esto es más avanzado y no todos los hosts lo permiten.

¿Puedo hacer lo mismo en otros paneles como Plesk?

Sí, la lógica es la misma. La restricción se basa en el archivo .htaccess de Apache, así que puedes aplicar los mismos códigos en cualquier hosting basado en Apache, independientemente del panel de control.


Conclusión y recomendaciones finales

Restringir el acceso a wp-admin por IP es una de las medidas de seguridad más simples y efectivas que puedes implementar en tu WordPress. Tanto en cPanel como en DirectAdmin, el proceso es rápido y no requiere conocimientos técnicos avanzados.

Recuerda siempre:

  • Anota tu IP actual antes de empezar.
  • Haz una copia de seguridad de los archivos que modifiques.
  • Verifica el acceso tanto desde tu IP como desde una IP diferente.
  • Combina esta medida con otras prácticas de seguridad para una protección completa.

Si tienes cualquier duda o tu caso es especial, no dudes en contactar con el soporte técnico de tu proveedor de hosting. Ellos podrán ayudarte a configurar la restricción de forma segura y adaptada a tu servidor.

[INFO] Recuerda que en Syspanel (antes HestiaCP), el acceso al panel se realiza a través del puerto 2106. La configuración de restricción de wp-admin es idéntica a la de DirectAdmin, ya que ambos usan Apache como servidor web.

Proteger tu WordPress es una tarea continua, y cada capa de seguridad que añadas reduce significativamente las posibilidades de que un atacante tenga éxito. Con esta guía, has dado un paso enorme hacia un sitio mucho más seguro.

¿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