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

Cómo arreglar el error 403 Forbidden en WordPress (DirectAdmin)

Actualizado el 9 de septiembre de 2025

El error 403 Forbidden es uno de los avisos más frustrantes que puedes encontrar en tu sitio web WordPress. De repente, en lugar de ver tu página principal, te topas con un texto blanco y frío que dice que no tienes permiso para acceder. Pero no te preocupes, respira hondo. En este artículo te voy a explicar, paso a paso y sin tecnicismos complicados, cómo arreglar el error 403 wordpress cuando tu hosting usa el panel de control DirectAdmin.

Vamos a ir desde lo más básico (como recargar la página) hasta revisar archivos de configuración, permisos y reglas de seguridad. Al final, tendrás un plan de acción completo para que tu web vuelva a la vida. Además, incluiremos consejos para evitar que esto vuelva a ocurrir en el futuro.

¿Qué significa exactamente el error 403 Forbidden?

Antes de empezar a tocar nada, es importante que entiendas qué está pasando. El código 403 es la respuesta del servidor cuando el servidor web (normalmente Apache o LiteSpeed) entiende tu petición, pero se niega a mostrarte el contenido. No es que el archivo no exista (eso sería un 404), sino que el servidor tiene órdenes estrictas de no dejarte entrar.

En WordPress, esto suele ocurrir por cuatro motivos principales:

  1. Permisos de archivos o carpetas incorrectos (los famosos permisos 644 y 755).
  2. Un archivo .htaccess corrupto o con reglas demasiado restrictivas.
  3. Un plugin de seguridad o un firewall (como Wordfence o iThemes Security) bloqueando tu IP o una acción concreta.
  4. El archivo index.php falta o está vacío en el directorio raíz.

Vamos a atacar cada uno de estos frentes usando las herramientas que nos da DirectAdmin, que es el panel de control que utiliza tu proveedor de hosting.

Antes de empezar: la prueba del "modo mantenimiento"

A veces, el error 403 no está en todo el sitio, sino solo en una parte (como el panel de administración /wp-admin). Para saber si el problema es general o localizado, haz esta prueba rápida:

  1. Abre tu navegador en modo incógnito (Ctrl+Shift+N en Chrome, Ctrl+Shift+P en Firefox).
  2. Escribe la URL de tu web y pulsa Enter.

Si el error persiste en modo incógnito, significa que no es un problema de caché de tu navegador. Si solo te falla al acceder a tudominio.com/wp-admin, el problema suele estar relacionado con un plugin de seguridad o con los permisos de la carpeta wp-admin.

Paso 1: Revisar el archivo .htaccess (el sospechoso habitual)

El archivo .htaccess es un pequeño archivo de texto que controla cómo Apache maneja las solicitudes de tu sitio. Si tiene una línea mal escrita, puede provocar un forbidden wordpress inmediato.

Cómo acceder y editarlo desde DirectAdmin

  1. Inicia sesión en tu panel de DirectAdmin.
  2. Busca la sección "Administrador de archivos" (suele estar en el menú principal, a veces bajo el nombre de "File Manager").
  3. Navega hasta la carpeta domains y luego dentro de tu dominio concreto (ej: tudominio.com). Si tu web está en la raíz, verás una carpeta llamada public_html. Entra en ella.
  4. Activa la opción "Mostrar archivos ocultos" (suele ser un botón arriba a la derecha). Esto es crucial porque el .htaccess empieza con un punto y por defecto está oculto.
  5. Localiza el archivo .htaccess. Haz clic derecho sobre él y selecciona "Editar" o "Edit".

La solución rápida: renombrarlo

El método más seguro para diagnosticar es renombrar el archivo para que WordPress lo regenere de cero.

  1. En el Administrador de archivos, haz clic derecho sobre .htaccess y elige "Renombrar".
  2. Cámbiale el nombre a algo como .htaccess_viejo.txt (esto lo desactiva).
  3. Vuelve a cargar tu web.

Si el error 403 desaparece, sabrás que el problema era el .htaccess. Ahora, ve a Ajustes > Enlaces permanentes en tu escritorio de WordPress y pulsa el botón "Guardar cambios". Esto generará un archivo .htaccess nuevo y limpio automáticamente.

[INFO] Si no tienes acceso al administrador de WordPress porque el error te bloquea todo, puedes crear un archivo .htaccess nuevo manualmente. Crea un archivo en blanco llamado .htaccess y pégalo dentro:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Guárdalo y sube el archivo a public_html con el Administrador de archivos.

Paso 2: Comprobar los permisos de archivos y carpetas

Si el archivo .htaccess no era el culpable, el siguiente paso es revisar los permisos. En un servidor Linux, cada archivo y carpeta tiene una "clave" de permisos. Si están mal configurados, el servidor interpreta que no puedes leerlos, dando como resultado un error 403 wordpress.

Los valores correctos que debes usar

  • Archivos (como .php, .jpg, .css): Deben tener el valor 644.
  • Carpetas (como wp-content, uploads): Deben tener el valor 755.

Cómo cambiarlos en DirectAdmin

  1. Entra de nuevo al Administrador de archivos y ve a public_html.
  2. Selecciona todos los archivos y carpetas (Ctrl+A o el botón de "Seleccionar todo").
  3. Arriba del todo, verás un botón que dice "Cambiar permisos" o "Permissions".
  4. En la ventana emergente, verás casillas. Para los archivos, asegúrate de que esté marcado solo lo necesario para que quede 644 (Lectura y Escritura para el dueño, y solo Lectura para el grupo y el resto). Para carpetas, debe quedar 755 (Lectura, Escritura y Ejecución para el dueño, y Lectura y Ejecución para el resto).

[WARNING] No marques nunca el valor 777 en archivos de WordPress. Eso da permiso total a cualquier usuario del servidor, lo que es un agujero de seguridad grave. Si tu hosting te sugiere usar 777 para subir archivos, es una mala práctica.

Si tienes miles de archivos, hacerlo uno a uno es tedioso. Puedes usar la opción de "Aplicar a subcarpetas" que suele aparecer en el mismo menú de permisos. Selecciona la carpeta public_html, cambia los permisos a 755 y marca la casilla de "recursivo" para que afecte a todo lo de dentro. Luego, repite la operación para archivos con 644.

Paso 3: Revisar los plugins de seguridad y caché

A veces, el problema no es del servidor, sino de un plugin muy "protector". Si has instalado recientemente un plugin de seguridad como Wordfence, o de caché como W3 Total Cache, es posible que estén bloqueando tu propia IP.

Cómo desactivarlos sin acceso al panel

Si no puedes entrar en wp-admin porque te da el error 403, puedes desactivar un plugin manualmente usando DirectAdmin.

  1. Ve al Administrador de archivos.
  2. Entra en la carpeta public_html/wp-content/plugins.
  3. Verás una lista de carpetas, una por cada plugin instalado.
  4. Busca el plugin sospechoso (el que instalaste justo antes de que empezara el problema).
  5. Haz clic derecho sobre la carpeta del plugin y selecciona "Renombrar". Cambia el nombre (ej: de wordfence a wordfence_DESACTIVADO).

Esto fuerza a WordPress a "no encontrar" el plugin y lo desactiva automáticamente. Intenta acceder de nuevo a tu web. Si funciona, ya sabes quién era el culpable. Puedes reactivarlo desde el escritorio de WordPress y ajustar su configuración para que no bloquee tu acceso.

[TIP] Los plugins de caché a veces guardan versiones "viejas" de las páginas con errores. Si el 403 apareció tras actualizar un plugin, borra la caché del servidor. En DirectAdmin, busca la opción "Gestor de caché de LiteSpeed" o "LS Cache" en el panel y pulsa el botón de "Purge All".

Paso 4: Verificar si es un bloqueo por IP del firewall

Algunos servidores usan un firewall llamado ConfigServer Security & Firewall (CSF). Este puede bloquear tu IP si detectó demasiados intentos fallidos de inicio de sesión o si tu IP está en una lista negra global.

Cómo comprobar si tu IP está bloqueada

  1. En tu navegador, busca en Google "cuál es mi IP". Anota la dirección IP que te dé.
  2. Accede a DirectAdmin y busca la sección "Firewall" o "ConfigServer Security & Firewall" (a veces está en "Gestión de servidor" o "Extra Features").
  3. Dentro, verás una pestaña de "Blocked IPs" (IPs bloqueadas).
  4. Busca tu IP en la lista. Si aparece, tienes dos opciones: desbloquearla manualmente o pedir a tu proveedor que lo haga.

[WARNING] Si no encuentras la sección del firewall en tu panel, significa que tu plan de hosting no te da acceso a esa configuración. En ese caso, contacta con el soporte técnico de tu hosting y diles: "Me da error 403 Forbidden y creo que mi IP está bloqueada en el firewall. ¿Pueden revisar la lista de bloqueos?".

Paso 5: Revisar el archivo index.php

Un caso menos común, pero que he visto en soporte, es que el archivo index.php de la raíz esté vacío o haya sido modificado por un malware. Sin este archivo, Apache no sabe qué ejecutar y lanza el error.

Cómo restaurarlo

  1. Ve a public_html en el Administrador de archivos.
  2. Busca el archivo index.php.
  3. Haz clic derecho y selecciona "Editar".
  4. Borra todo el contenido y pega esto (es el código estándar de WordPress):
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );

/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';

Guarda el archivo y recarga tu web.

Paso 6: Comprobar si el bloqueo viene del servidor (mod_security)

Mod_Security es un módulo de Apache que actúa como un guardia de seguridad. A veces, da "falsos positivos" y bloquea peticiones legítimas de WordPress, sobre todo si intentas iniciar sesión o subir una imagen con ciertos metadatos.

Cómo desactivarlo temporalmente desde DirectAdmin

Dentro de tu panel, busca la sección "Seguridad" o "Mod Security". En muchos paneles de DirectAdmin modernos, hay un icono específico.

  1. Haz clic en "Mod Security".
  2. Verás una lista de dominios. Al lado del tuyo, hay un botón de "Deshabilitar" o un interruptor.
  3. Desactívalo y prueba a cargar la web.

[INFO] Si al desactivarlo el error desaparece, tienes dos caminos: dejarlo desactivado (no recomendado a largo plazo) o añadir una regla de excepción para tu dominio. Si no sabes cómo hacer esto, contacta con soporte y diles que Mod_Security está bloqueando tu panel de administración. Ellos pueden ajustar las reglas.

Paso 7: Revisar la configuración de PHP (FPM)

En DirectAdmin, a veces el error 403 viene de un fallo al ejecutar PHP-FPM. Si cambiaste la versión de PHP recientemente, puede que los sockets de conexión estén rotos.

Cómo reiniciar PHP

  1. En DirectAdmin, busca la sección "Configuración de PHP" o "PHP Version Selector".
  2. Cambia la versión de PHP a otra (ej: si tienes 8.1, cambia a 8.0).
  3. Guarda los cambios.
  4. Espera un minuto y vuelve a cambiarla a la versión que tenías.
  5. Guarda de nuevo.

Esto fuerza a que se regeneren los archivos de configuración de PHP-FPM y suele resolver bloqueos extraños.

¿Y si uso Syspanel en lugar de DirectAdmin?

Si tu hosting te ha migrado a Syspanel (el antiguo HestiaCP), los pasos son muy similares, pero el acceso es diferente. Recuerda que Syspanel se gestiona a través del puerto 2106 (ej: https://tudominio.com:2106).

Dentro de Syspanel, la estructura de carpetas es la misma (public_html), pero el Administrador de archivos está en el menú lateral izquierdo. Los permisos se cambian igual, haciendo clic derecho sobre el archivo o carpeta. La lógica de arreglar el .htaccess y los plugins es idéntica a lo que hemos visto.

Resumen: Plan de acción rápido

Si estás desesperado y no quieres leer todo, sigue este orden:

  1. Renombra el .htaccess a .htaccess_viejo.txt.
  2. Cambia los permisos de public_html a 755 y de los archivos a 644 (de forma recursiva).
  3. Renombra la carpeta del último plugin que instalaste.
  4. Desactiva Mod_Security desde el panel.
  5. Cambia la versión de PHP y vuelve a cambiarla.

En el 90% de los casos, uno de estos cuatro pasos arregla el forbidden wordpress.

Preguntas frecuentes (FAQ)

¿Por qué mi web da error 403 y la de mi amigo que usa el mismo hosting no?

Porque los permisos de tus archivos o la configuración de tu .htaccess son diferentes. También puede ser que tu IP esté bloqueada por un intento de fuerza bruta en tu propio sitio.

¿El error 403 tiene que ver con mi dominio vencido?

No. Un dominio vencido suele mostrar un error de "parking" o una página del registrador. El 403 es un problema de configuración del servidor web.

¿Puedo arreglar el error 403 desde el móvil?

Sí, si puedes acceder a la interfaz web de DirectAdmin desde el navegador móvil. Es incómodo, pero puedes renombrar archivos y cambiar permisos desde el Administrador de archivos móvil.

¿Perderé mis datos si borro el archivo .htaccess?

No. El .htaccess solo contiene reglas de redirección y configuración. Al guardar los enlaces permanentes en WordPress, se regenera automáticamente. Tus entradas, páginas y medios están en la base de datos.

¿Qué hago si después de todo sigo viendo el error 403?

Es momento de contactar con el soporte técnico de tu hosting. Diles claramente que ya has revisado permisos, .htaccess, plugins y firewall. Pídeles que revisen los logs de error de Apache (o LiteSpeed) en la carpeta domains/tudominio.com/logs/. Ellos verán la línea exacta del error y te dirán si es un problema de mod_security o de open_basedir.

Espero que esta guía te haya sido de ayuda. Recuerda que la paciencia es clave, y que casi todos los errores 403 tienen solución en menos de 30 minutos si sabes dónde mirar. ¡Mucha suerte!

¿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