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

Cómo arreglar el error '403 Forbidden' en WordPress desde DirectAdmin

Actualizado el 19 de septiembre de 2025

¡Hola! Si estás leyendo esto, es muy probable que te hayas encontrado con el temido error 403 Forbidden en tu sitio WordPress y no sepas muy bien por dónde empezar. No te preocupes, es uno de los problemas más comunes en el hosting y, afortunadamente, en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto.

En esta guía completa, vamos a desglosar paso a paso cómo diagnosticar y arreglar este error cuando tu panel de control es DirectAdmin. Hablaremos de permisos, archivos de configuración y algunas malas prácticas que suelen provocar este bloqueo. Al final, serás capaz de solucionarlo con confianza.

¿Qué significa exactamente el error 403 Forbidden?

Antes de ponernos manos a la obra, es fundamental entender qué nos está diciendo el servidor. El error 403 Forbidden (Prohibido) es un código de estado HTTP que indica que el servidor ha entendido tu solicitud, pero se niega a autorizarla. Es decir, el servidor sabe que quieres ver tu página web, pero las reglas de seguridad o los permisos de los archivos le impiden mostrártela.

A diferencia del error 404 (No encontrado), aquí el archivo sí existe en el servidor. El problema es que el servidor web (Apache o LiteSpeed, normalmente) no tiene permiso para leerlo o ejecutarlo. Esto es una medida de seguridad, pero a veces se vuelve en nuestra contra.

Causas más comunes del bloqueo

Existen varios escenarios que pueden desencadenar este problema. Identificar la causa es el primer paso para solucionarlo:

  • Permisos de archivos incorrectos: Es la causa más frecuente. Si un archivo tiene permisos demasiado restrictivos (por ejemplo, 600 en lugar de 644), el servidor no podrá leerlo.
  • Permisos de carpetas incorrectos: Similar al anterior, pero con directorios. Las carpetas necesitan permisos de ejecución (755) para que el servidor pueda entrar en ellas.
  • Archivo .htaccess corrupto o con reglas erróneas: Este pequeño archivo es el "libro de reglas" de Apache. Una regla mal escrita puede bloquear el acceso a todo el sitio.
  • Configuración del firewall o de seguridad: A veces, un plugin de seguridad o el propio firewall del servidor bloquea tu dirección IP, pero esto es menos común que los anteriores.
  • Protección de directorios: Si tienes una carpeta protegida con contraseña y los datos son incorrectos o el archivo .htpasswd está mal configurado.

Paso 1: Acceder a tu panel de DirectAdmin

Para empezar a solucionar el error 403 WordPress, necesitas acceder a tu panel de control de hosting. Si tu proveedor usa DirectAdmin, la forma típica es a través de una URL como https://tudominio.com:2222 o https://tuip:2222. Si no estás seguro, revisa el correo de bienvenida de tu hosting.

Una vez dentro, necesitarás el Administrador de Archivos. Búscalo en el menú principal. Es una herramienta que te permite navegar por los archivos de tu sitio web directamente desde el navegador, sin necesidad de usar un cliente FTP.


Paso 2: La solución rápida: Revisar los permisos de archivos WordPress

Esta es la solución más común y la que deberías probar primero. Vamos a asegurarnos de que los archivos y carpetas de WordPress tienen los permisos estándar que el servidor necesita.

¿Qué permisos son los correctos?

La regla de oro para WordPress es:

  • Directorios (carpetas): Permisos 755. Esto permite al servidor leer y ejecutar, y a ti (el propietario) escribir.
  • Archivos: Permisos 644. Esto permite al servidor leer y a ti escribir.

Cómo cambiarlos en DirectAdmin

  1. Dentro del Administrador de Archivos, navega hasta la carpeta donde está instalado WordPress (normalmente public_html).
  2. Selecciona todos los archivos y carpetas. Puedes usar el botón "Seleccionar todo" si existe, o marcar la casilla superior.
  3. En la barra superior o en el menú de acciones, busca un botón que diga "Cambiar permisos" o "Chmod".
  4. Se abrirá una ventana. Deberás establecer los permisos en 755 para las carpetas y 644 para los archivos. La forma más fácil es marcar las casillas para que queden así:
    • Propietario (Owner): Lectura, Escritura y Ejecución.
    • Grupo (Group): Lectura y Ejecución.
    • Público (Public): Lectura y Ejecución.
  5. Aplica los cambios.

[TIP]: Si tu WordPress está en la raíz de public_html, también puedes hacerlo desde la línea de comandos si tienes acceso SSH, pero el método gráfico es más seguro para principiantes.

Un atajo útil: El script de permisos

Si tienes muchos archivos, hacerlo manualmente puede ser tedioso. Una forma rápida es crear un archivo PHP temporal. Sin embargo, para mantenerlo simple y seguro, te recomiendo que si el problema persiste, hagas lo siguiente:

  1. Sube un archivo llamado permisos.php a tu carpeta public_html con el siguiente código:
<?php
// Script para arreglar permisos de WordPress
$dir = __DIR__;
exec("find $dir -type d -exec chmod 755 {} \;");
exec("find $dir -type f -exec chmod 644 {} \;");
echo "Permisos actualizados correctamente.";
?>
  1. Accede a tudominio.com/permisos.php en tu navegador.
  2. ¡IMPORTANTE! Borra este archivo inmediatamente después de usarlo. Es un riesgo de seguridad.

Paso 3: Revisar y reparar el archivo .htaccess

Si los permisos no han solucionado el problema, el siguiente sospechoso es el archivo .htaccess. Este archivo controla el enrutamiento de las URLs y las reglas de acceso. Una línea mal escrita puede provocar un DirectAdmin 403 Forbidden en todo el sitio.

Cómo comprobarlo

  1. En el Administrador de Archivos, asegúrate de tener activada la opción "Mostrar archivos ocultos". Suele ser un botón en la esquina superior derecha.
  2. Busca el archivo .htaccess en la raíz de tu instalación de WordPress.
  3. Puedes descargarlo para hacer una copia de seguridad y luego editarlo o, si no lo ves claro, renombrarlo a .htaccess.bak. ¡Ojo! Al renombrarlo, los enlaces permanentes de tu web dejarán de funcionar, pero es una forma rápida de ver si el error desaparece.
  4. Si al renombrarlo el error 403 desaparece, el problema estaba en ese archivo. Ahora ve a Ajustes > Enlaces permanentes en tu panel de WordPress y pulsa "Guardar cambios". Esto regenerará un .htaccess limpio y funcional.

El contenido estándar para WordPress

Si quieres editarlo manualmente, este es el contenido que debería tener un .htaccess de WordPress estándar:

# 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

[WARNING]: Si tu sitio está en una subcarpeta (ej: tudominio.com/blog), la línea RewriteBase / debería ser RewriteBase /blog/.


Paso 4: La causa oculta: El plugin de seguridad o WAF

A veces, el problema no está en los archivos de WordPress en sí, sino en un plugin de seguridad que es demasiado estricto. Plugins como Wordfence, iThemes Security o All In One WP Security tienen firewalls que pueden bloquear el acceso.

Cómo descartarlo

  1. Accede a tu panel de administración de WordPress (tudominio.com/wp-admin). Si puedes entrar, ve a la sección de plugins.
  2. Desactiva temporalmente el plugin de seguridad que tengas instalado.
  3. Si el error desaparece, el plugin es el culpable. Revisa su configuración de firewall o reglas de bloqueo.

¿Y si no puedo acceder al panel de administración?

Si el bloqueo es total y no puedes entrar ni a wp-admin, tendrás que desactivar los plugins por FTP o por el Administrador de Archivos de DirectAdmin:

  1. Ve a la carpeta wp-content.
  2. Renombra la carpeta plugins a plugins_backup. Esto desactivará todos los plugins a la vez.
  3. Intenta acceder a tu web. Si funciona, el problema es uno de los plugins.
  4. Para encontrarlo, renombra la carpeta de nuevo a plugins y ve renombrando los plugins uno a uno (dentro de la carpeta) para identificar al culpable.

Paso 5: Revisar la configuración de PHP y el modo suEXEC

En entornos de hosting compartido con DirectAdmin, es crucial que los archivos te pertenezcan a ti (tu usuario de hosting). Si por alguna razón los archivos fueron creados por otro usuario (por ejemplo, al descomprimir un archivo subido desde otro sistema), puede dar lugar a conflictos de permisos.

Verificar el propietario

En el Administrador de Archivos, no siempre es fácil ver el propietario. Sin embargo, si tu hosting tiene la opción de "Cambiar propietario" o si usas FTP, asegúrate de que todos los archivos de public_html pertenecen a tu usuario principal.

[INFO]: En la mayoría de los casos, al usar el Administrador de Archivos de DirectAdmin, los archivos se crean con el propietario correcto automáticamente. Este paso es más relevante si has subido un backup completo o has usado un script de instalación manual.

Cambiar la versión de PHP

A veces, una configuración de PHP demasiado restrictiva (como open_basedir mal configurado) puede causar un 403. Prueba a cambiar la versión de PHP de tu dominio. En DirectAdmin, esto se hace en la sección "Administrador de PHP" o "Selector de versión de PHP". Cambia a una versión diferente (ej: de PHP 7.4 a PHP 8.1) y guarda los cambios. A veces, esto fuerza la reescritura de la configuración y resuelve el bloqueo.


Paso 6: Comprobar la protección de directorios

DirectAdmin tiene una función para proteger directorios con contraseña. Es posible que, sin darte cuenta, hayas activado esta opción en una carpeta y ahora te esté pidiendo credenciales que no reconoces, o que el archivo de contraseñas esté corrupto.

Cómo desactivarlo

  1. En DirectAdmin, busca la sección "Protección de directorios" (Directory Protection).
  2. Verás una lista de tus carpetas. Si alguna tiene un candado o aparece como "Protegida", haz clic en ella.
  3. Selecciona la opción de "Desproteger" o "Deshabilitar" y guarda los cambios.

Paso 7: Verificar los logs de error del servidor

Si has llegado hasta aquí y el error 403 WordPress persiste, es hora de mirar los registros del servidor. Ellos te dirán exactamente qué archivo está causando el bloqueo.

Dónde encontrar los logs

  1. En DirectAdmin, busca la sección "Registros" o "Logs".
  2. Busca el "Error Log" de tu dominio.
  3. Ábrelo y busca las últimas entradas con la fecha de hoy. Verás líneas como:
    [error] [client IP] ... /home/usuario/public_html/wp-config.php ... 403

Esa línea te dirá el archivo exacto. Si dice wp-config.php, sabrás que el problema está en los permisos de ese archivo concreto. Si dice .htaccess, ya sabes por dónde tirar.


Guía de solución rápida (Resumen)

Para que te quede claro, este es el orden de actuación que te recomiendo:

  1. Permisos: Asegúrate de que carpetas (755) y archivos (644) tienen los permisos correctos.
  2. .htaccess: Renómbralo para descartar que esté corrupto.
  3. Plugins: Desactiva todos los plugins renombrando la carpeta plugins.
  4. Protección: Comprueba que no hay protección de directorio activada.
  5. Logs: Si todo lo demás falla, consulta los logs para obtener la pista definitiva.

Preguntas Frecuentes (FAQ)

¿Por qué mi web da error 403 solo en una página?

Esto suele indicar que el problema está en un archivo específico (como wp-admin/admin-ajax.php) o en una regla de .htaccess que bloquea una URL concreta. Revisa los permisos de ese archivo o intenta desactivar plugins que modifiquen las cabeceras HTTP.

¿El error 403 tiene relación con mi dirección IP?

Sí, aunque es menos común. Si el servidor tiene un firewall como ConfigServer Security & Firewall (CSF), podría haber bloqueado tu IP temporalmente por demasiados intentos de acceso fallidos. Prueba a acceder desde otro dispositivo o red (por ejemplo, desde el móvil con datos). Si funciona, contacta con tu proveedor de hosting para que desbloqueen tu IP.

¿Puede un CDN (como Cloudflare) causar un error 403?

Sí. Si usas Cloudflare y tienes reglas de firewall activas, podrían estar bloqueando tu tráfico. Prueba a pausar temporalmente Cloudflare o a acceder directamente a tu servidor (si conoces la IP) para descartarlo.

¿Qué pasa si nada de esto funciona?

Si has agotado todas las opciones y el error persiste, lo más probable es que el problema esté en la configuración del servidor a nivel de Apache o LiteSpeed. En ese caso, deberás contactar con el soporte técnico de tu proveedor de hosting y proporcionarles la información de los logs de error. Ellos podrán revisar la configuración global del servidor.

[WARNING]: No edites archivos de configuración del servidor (como httpd.conf) a menos que sepas exactamente lo que estás haciendo. Un error aquí puede tumbar todo tu sitio.


Conclusión

El error 403 Forbidden puede parecer un muro infranqueable, pero como has visto, es un problema muy común con soluciones claras y definidas. La clave está en ir descartando causas de forma metódica: primero los permisos, luego la configuración, y finalmente los plugins.

Espero que esta guía te haya sido de gran ayuda y que hayas podido resolver el problema. Recuerda que la paciencia y el método son tus mejores aliados. Si has llegado al final, ¡enhorabuena! Ya tienes el conocimiento para enfrentarte a este error con seguridad.

¿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