El error 403 Forbidden significa que el servidor entiende tu petición pero rechaza darte acceso. En WordPress, esto puede ocurrir al intentar acceder al admin, subir archivos, o navegar por tu web. Esta guía te muestra cómo solucionarlo.

¿Qué Significa el Error 403 Forbidden?

El código HTTP 403 indica que el servidor recibió y entendió tu solicitud, pero no tiene permiso para completarla. A diferencia del error 404 (no encontrado), el recurso existe pero no puedes acceder.

Mensajes típicos del error 403:

  • "403 Forbidden"
  • "Access Denied"
  • "You don't have permission to access this resource"
  • "Forbidden: You don't have permission to access / on this server"

Causas Comunes del Error 403

CausaProbabilidadDificultad
Permisos de archivos incorrectosAltaFácil
.htaccess corrupto o mal configuradoAltaFácil
Plugin de seguridad bloqueandoMediaFácil
ModSecurity del servidorMediaMedia
Falta archivo index.phpBajaFácil
Propiedad de archivos incorrectaMediaMedia
Hotlink protectionBajaFácil
IP bloqueada por el servidorBajaContactar hosting

Solución 1: Verificar Permisos de Archivos

Los permisos incorrectos son la causa más común del error 403 en WordPress.

Permisos correctos

Carpetas755 o 750
Archivos644 o 640
wp-config.php600 o 640

Corregir por FTP

  1. Conecta por FTP (FileZilla, etc.)
  2. Navega a tu instalación WordPress
  3. Clic derecho en carpeta raíz → Atributos de archivo
  4. Escribe 755 para carpetas
  5. Marca "Aplicar a subdirectorios"
  6. Repite con 644 para archivos

Corregir por SSH

# Permisos de carpetas
find /path/to/wordpress -type d -exec chmod 755 {} \;

# Permisos de archivos
find /path/to/wordpress -type f -exec chmod 644 {} \;

# wp-config.php más restrictivo
chmod 600 /path/to/wordpress/wp-config.php

Solución 2: Regenerar .htaccess

Un archivo .htaccess corrupto o con reglas incorrectas puede causar error 403.

Método 1: Renombrar por FTP

  1. Conecta por FTP
  2. Busca el archivo .htaccess en la raíz
  3. Renómbralo a .htaccess_backup
  4. Intenta acceder a tu web
  5. Si funciona, ve a Ajustes → Enlaces permanentes y guarda
  6. WordPress regenerará un .htaccess limpio

Método 2: Crear .htaccess nuevo

Si no tienes .htaccess, crea uno con el contenido por defecto:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
⚠️ Importante: Guarda el .htaccess anterior antes de borrarlo. Puede contener reglas de plugins o configuraciones importantes.

Solución 3: Desactivar Plugins

Plugins de seguridad como Wordfence, Sucuri o iThemes Security pueden bloquear accesos legítimos.

Desactivar por FTP

  1. Conecta por FTP
  2. Ve a /wp-content/plugins/
  3. Renombra la carpeta plugins a plugins_desactivados
  4. Intenta acceder a tu web
  5. Si funciona, renombra de vuelta a plugins
  6. Activa plugins uno a uno hasta encontrar el culpable

Plugins que suelen causar 403

  • Wordfence Security
  • Sucuri Security
  • iThemes Security
  • All In One WP Security
  • BulletProof Security

Solución 4: Revisar ModSecurity

ModSecurity es un firewall que muchos hostings tienen activado. Puede bloquear peticiones legítimas.

Cómo identificar si es ModSecurity

  • El error 403 aparece al enviar formularios
  • Ocurre al guardar posts largos o con código
  • Afecta a acciones específicas, no a toda la web

Soluciones

  1. cPanel: Seguridad → ModSecurity → Desactivar para tu dominio
  2. Plesk: Dominios → Tu dominio → Web Application Firewall → Off
  3. Hostinger: Seguridad → ModSecurity → Desactivar
  4. Si no tienes acceso: Contacta a tu hosting
💡 Alternativa: En lugar de desactivar ModSecurity completamente, pide al hosting que añada excepciones para las URLs afectadas.

Solución 5: Comprobar Archivo Index

Si falta el archivo index.php y la configuración del servidor no permite listar directorios, obtendrás error 403.

Verificar

  1. Conecta por FTP
  2. Verifica que existe index.php en la raíz
  3. Si no existe, descárgalo de wordpress.org y súbelo

Contenido de index.php 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.
 */

define( 'WP_USE_THEMES', true );
require __DIR__ . '/wp-blog-header.php';

Solución 6: Verificar Propiedad de Archivos

En servidores Linux, los archivos deben pertenecer al usuario correcto del servidor web.

Por SSH (si tienes acceso)

# Ver propietario actual
ls -la /path/to/wordpress

# Cambiar propietario (usuario típico: www-data, apache, nginx)
chown -R www-data:www-data /path/to/wordpress

Sin acceso SSH

Contacta a tu hosting y pide que verifiquen la propiedad de archivos de tu instalación WordPress.

Solución 7: Desactivar Hotlink Protection

La protección hotlink evita que otros sitios usen tus imágenes. Si está mal configurada, puede bloquear tu propia web.

Desactivar en cPanel

  1. Accede a cPanel
  2. Busca "Hotlink Protection"
  3. Desactiva o añade tu dominio a la lista permitida

Verificar en .htaccess

Busca y comenta (o elimina) reglas como:

# Hotlink protection - COMENTAR ESTAS LÍNEAS
# RewriteCond %{HTTP_REFERER} !^$
# RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tudominio\.com [NC]
# RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

Solución 8: Contactar Hosting

Si ninguna solución anterior funciona, el problema puede estar en el servidor:

  • Tu IP está bloqueada: Por intentos de login fallidos o actividad sospechosa
  • Firewall del servidor: Reglas que no puedes controlar
  • Límites de recursos: CPU/RAM excedidos
  • Configuración del servidor: Apache/Nginx mal configurado

Qué decir al soporte

"Tengo un error 403 Forbidden en mi WordPress. Ya he verificado permisos (755/644), regenerado .htaccess, desactivado plugins y no es ModSecurity. ¿Pueden revisar si hay algún bloqueo en el servidor o firewall que esté afectando a mi sitio?"

Preguntas Frecuentes

¿El error 403 afecta al SEO?

Sí, si Google no puede acceder a páginas de tu sitio durante un tiempo prolongado, puede afectar negativamente a tu posicionamiento. Soluciona el error lo antes posible.

¿Por qué solo me da error 403 en wp-admin?

Probablemente un plugin de seguridad está bloqueando el acceso al admin, o hay reglas en .htaccess que protegen /wp-admin/. Desactiva plugins por FTP o revisa las reglas del .htaccess.

¿Puede un plugin causar error 403 en todo el sitio?

Sí, plugins de seguridad mal configurados o con conflictos pueden bloquear todo el sitio. Desactiva plugins por FTP para verificar.

¿Diferencia entre error 403 y 401?

El 401 (Unauthorized) significa que necesitas autenticarte (login). El 403 (Forbidden) significa que aunque estés autenticado, no tienes permiso para ese recurso.

Artículos Relacionados

Compartir: