Solucionar error 403 en WordPress por permisos
Guía completa para solucionar el error 403 Forbidden en WordPress causado por permisos de archivos, carpetas, plugins, .htaccess y hosting.
Índice
- ¿Qué es el error 403 en WordPress y por qué aparece?
- Causas más comunes del error 403 por permisos en WordPress
- Cómo comprobar los permisos de archivos y carpetas
- Ajustar los permisos correctos en WordPress paso a paso
- Solucionar error 403 causado por .htaccess
- Plugins de seguridad, firewall y reglas del servidor
- Cuando el error 403 lo provoca el proveedor de hosting
- Buenas prácticas de permisos y seguridad en WordPress
- Ejemplos y casos reales de error 403 por permisos
- Preguntas frecuentes sobre el error 403 en WordPress
¿Qué es el error 403 en WordPress y por qué aparece?
El error 403 Forbidden en WordPress indica que el servidor ha recibido la petición, pero se niega a permitir el acceso al recurso solicitado. En la práctica, significa que el servidor considera que no tienes permisos suficientes para ver una página, un archivo o una carpeta concreta. Es un error típico de configuración de permisos, reglas de seguridad o restricciones del servidor.
Aunque WordPress es el gestor de contenidos, el error 403 se genera a nivel de servidor web (Apache, Nginx, LiteSpeed, etc.). Por eso, para solucionarlo es necesario revisar tanto la configuración de permisos de archivos y carpetas como los archivos de configuración (.htaccess), los plugins de seguridad y las políticas del proveedor de hosting.
Mensajes típicos del error 403 en WordPress:
- 403 Forbidden
- You don’t have permission to access / on this server
- Access denied. You are not authorized to view this page
- Request forbidden by administrative rules
Causas más comunes del error 403 por permisos en WordPress
Cuando el error 403 está relacionado con permisos, suele deberse a una combinación de configuraciones incorrectas en el sistema de archivos y reglas de seguridad demasiado restrictivas. Identificar la causa exacta es clave para aplicar la solución adecuada sin comprometer la seguridad del sitio.
- Permisos de archivos y carpetas incorrectos: valores demasiado restrictivos (por ejemplo, 600 o 700) pueden impedir el acceso al servidor web.
- Propietario (owner) erróneo: si los archivos no pertenecen al usuario correcto del servidor, el proceso del servidor web no puede leerlos o ejecutarlos.
- Reglas de .htaccess mal configuradas: directivas como
deny from allo reglas de reescritura pueden bloquear el acceso a rutas completas. - Plugins de seguridad o firewall: algunos plugins bloquean IPs, países, user agents o rutas específicas, generando un 403.
- ModSecurity u otros WAF del hosting: reglas de seguridad a nivel de servidor que detectan falsos positivos y bloquean peticiones legítimas.
- Bloqueos por hotlinking o protección de directorios: configuraciones del panel de control (cPanel, Plesk, etc.) que restringen el acceso.
- Indexación de directorios deshabilitada: intentar acceder a una carpeta sin archivo index y con listado de directorios bloqueado.
Antes de cambiar permisos de forma masiva, es recomendable hacer una copia de seguridad completa (archivos y base de datos). Un ajuste agresivo puede solucionar el error 403, pero abrir brechas de seguridad si se aplican permisos demasiado permisivos.
Cómo comprobar los permisos de archivos y carpetas
El primer paso para solucionar un error 403 por permisos en WordPress es verificar qué permisos tienen actualmente los archivos y carpetas del sitio. Esto se puede hacer desde el panel de control del hosting (Administrador de archivos) o mediante un cliente FTP/SFTP como FileZilla, Cyberduck o WinSCP.
Comprobar permisos desde el Administrador de archivos
- Accede al panel de control de tu hosting (por ejemplo, cPanel o Plesk).
- Abre el Administrador de archivos y navega hasta la carpeta raíz de tu WordPress (normalmente
public_htmlohttpdocs). - Selecciona una carpeta (por ejemplo,
wp-content) y busca la opción Permisos o Change Permissions. - Verás un valor numérico (por ejemplo, 755) o casillas de lectura, escritura y ejecución para propietario, grupo y público.
Comprobar permisos con FTP/SFTP
- Conecta a tu servidor usando un cliente FTP/SFTP con las credenciales del hosting.
- Navega hasta la carpeta donde está instalado WordPress.
- Haz clic derecho sobre una carpeta o archivo y selecciona Permisos de archivo o File permissions.
- El cliente mostrará el valor numérico (por ejemplo, 644, 640, 755) y las casillas correspondientes.
Valores de referencia habituales en WordPress:
- Carpetas: 755 (en algunos casos 750, según el servidor).
- Archivos: 644 (en algunos casos 640).
- wp-config.php: 640 o 600 para mayor seguridad.
Ajustar los permisos correctos en WordPress paso a paso
Una vez comprobados los permisos actuales, el siguiente paso es corregirlos siguiendo las recomendaciones estándar de WordPress. Es importante aplicar los cambios de forma ordenada y probar el sitio tras cada ajuste para identificar qué acción resuelve el error 403.
1. Ajustar permisos de carpetas
Todas las carpetas de WordPress, incluyendo wp-admin, wp-includes y wp-content, deberían tener permisos 755 (o 750 si el hosting lo recomienda). Esto permite que el propietario tenga control total y que el servidor web pueda leer y ejecutar el contenido sin permitir escritura pública.
- Selecciona la carpeta raíz de WordPress.
- En el menú de permisos, establece el valor 755 para directorios.
- Marca la opción para aplicar de forma recursiva solo a directorios.
- Guarda los cambios y prueba de nuevo el acceso a la web.
2. Ajustar permisos de archivos
Los archivos PHP, CSS, JS, imágenes y otros recursos deben tener permisos 644 (o 640). Esto evita que otros usuarios del servidor puedan modificar tus archivos, pero permite que el servidor web los lea y ejecute cuando sea necesario.
- Selecciona de nuevo la carpeta raíz de WordPress.
- En el menú de permisos, establece el valor 644 para archivos.
- Aplica de forma recursiva solo a archivos.
- Comprueba si el error 403 desaparece al cargar la página afectada.
3. Revisar permisos especiales
Algunos archivos críticos, como wp-config.php, pueden requerir permisos más restrictivos (640 o 600). Sin embargo, si son demasiado restrictivos para la configuración de tu servidor, también pueden provocar errores 403 o 500.
- Revisa el permiso actual de
wp-config.php. - Si está en 400 o 440 y experimentas errores, prueba con 640 o 600.
- Evita usar 777 en cualquier archivo o carpeta, ya que supone un riesgo de seguridad grave.
Si tienes acceso SSH, puedes ajustar permisos con comandos como find y chmod. No obstante, si no estás familiarizado con la línea de comandos, es más seguro utilizar el administrador de archivos del hosting o un cliente FTP.
Solucionar error 403 causado por .htaccess
El archivo .htaccess controla muchas directivas del servidor Apache o LiteSpeed, como redirecciones, reglas de reescritura, protección de directorios y seguridad básica. Una regla mal escrita o un conflicto entre plugins puede provocar un error 403 en todo el sitio o en rutas específicas.
1. Hacer copia de seguridad de .htaccess
- Accede a la raíz de tu instalación de WordPress.
- Localiza el archivo
.htaccess(puede estar oculto; activa la vista de archivos ocultos). - Descarga una copia a tu ordenador o renómbralo a
.htaccess-backup.
2. Regenerar un .htaccess limpio
Para descartar problemas de configuración, puedes generar un .htaccess estándar de WordPress. Esto eliminará reglas personalizadas, pero te permitirá comprobar si el error 403 se debe a este archivo.
- Crea un nuevo archivo llamado
.htaccessen la raíz de WordPress. - Pega el contenido básico recomendado por WordPress:
# 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
- Guarda el archivo y prueba de nuevo el sitio.
- Si el error 403 desaparece, el problema estaba en alguna regla personalizada del
.htaccessanterior.
3. Revisar reglas de seguridad y bloqueos
Muchos snippets de seguridad para WordPress añaden reglas al .htaccess para bloquear accesos a archivos sensibles, limitar el acceso a wp-admin o restringir ciertas IPs. Si se aplican de forma demasiado agresiva, pueden bloquear también a usuarios legítimos.
- Busca directivas como
Deny from all,Require all deniedo listas deDeny fromcon IPs. - Revisa reglas que afecten a
/wp-admin/,/wp-includes/o/wp-content/. - Comenta temporalmente (añadiendo
#al inicio) las reglas sospechosas y prueba el sitio.
Plugins de seguridad, firewall y reglas del servidor
Además de los permisos de archivos y el archivo .htaccess, los plugins de seguridad y los firewalls a nivel de aplicación pueden generar errores 403 cuando detectan comportamientos que consideran sospechosos. En muchos casos se trata de falsos positivos que bloquean a usuarios legítimos o incluso al propio administrador.
1. Desactivar temporalmente plugins de seguridad
- Accede al directorio
wp-content/pluginsmediante FTP o el administrador de archivos. - Renombra la carpeta del plugin de seguridad (por ejemplo, de
wordfenceawordfence-disabled). - Vuelve a cargar la web y comprueba si el error 403 desaparece.
- Si se soluciona, revisa la configuración del plugin o contacta con su soporte.
2. Revisar listas de bloqueo e IPs baneadas
Muchos plugins de seguridad permiten bloquear IPs, rangos de IP, países o user agents. Si tu IP ha sido bloqueada, verás un error 403 al intentar acceder al sitio o al panel de administración.
- Conéctate desde otra red o usando una VPN para comprobar si el error persiste.
- Accede al panel de WordPress (si es posible) y revisa las listas de IPs bloqueadas.
- Elimina tu IP de la lista negra o añade tu IP a la lista blanca.
3. ModSecurity y WAF del hosting
Muchos proveedores de hosting utilizan ModSecurity u otros Web Application Firewalls (WAF) a nivel de servidor. Estas herramientas aplican reglas de seguridad que, en ocasiones, pueden bloquear peticiones legítimas de WordPress, generando errores 403 intermitentes o en acciones específicas (como guardar entradas, subir archivos o acceder a ciertas URLs).
- Revisa los registros de errores (error logs) desde el panel de control del hosting.
- Si ves referencias a ModSecurity o reglas WAF, contacta con el soporte del hosting.
- Solicita que revisen y, si es necesario, desactiven la regla concreta que está causando el bloqueo.
Evita desactivar completamente ModSecurity o el firewall del servidor salvo de forma temporal y bajo supervisión. Lo ideal es ajustar o excluir solo las reglas problemáticas para mantener un buen nivel de seguridad sin errores 403 injustificados.
Cuando el error 403 lo provoca el proveedor de hosting
En algunos casos, el error 403 en WordPress no se debe a una mala configuración de permisos o plugins, sino a políticas del propio proveedor de hosting. Estas políticas pueden incluir limitaciones de recursos, bloqueo de scripts considerados peligrosos o restricciones de seguridad adicionales.
Indicadores de que el 403 viene del hosting
- El error 403 aparece de forma repentina sin cambios recientes en WordPress.
- Solo se bloquean ciertas rutas (por ejemplo, scripts de importación, APIs o herramientas externas).
- Otros sitios en el mismo servidor presentan errores similares.
- Los registros de errores mencionan políticas internas del proveedor.
Cómo tratarlo con el soporte técnico
- Abre un ticket de soporte detallando la URL exacta que devuelve el error 403.
- Indica la fecha y hora aproximada en la que se produce el error.
- Solicita que revisen los logs del servidor y te indiquen la regla o política que está bloqueando la petición.
- Pide, si es posible, una excepción para tu dominio o script concreto.
Si tu proyecto requiere configuraciones específicas (por ejemplo, muchas peticiones a la API de WordPress, integraciones con terceros o scripts de importación masiva), valora utilizar un hosting especializado en WordPress que ofrezca mayor flexibilidad en las reglas de seguridad.
Buenas prácticas de permisos y seguridad en WordPress
Solucionar un error 403 por permisos en WordPress es importante, pero igual de relevante es evitar que vuelva a ocurrir. Aplicar buenas prácticas de seguridad y mantenimiento reduce la probabilidad de errores y mejora la estabilidad del sitio a largo plazo.
1. Mantener permisos coherentes
- Usa siempre 755 para carpetas y 644 para archivos, salvo indicación específica del hosting.
- Evita usar 777 incluso de forma temporal; es una invitación a ataques.
- Revisa permisos después de migraciones, restauraciones de copias de seguridad o cambios de hosting.
2. Controlar quién tiene acceso al servidor
- No compartas credenciales FTP, SFTP o SSH con terceros sin necesidad.
- Crea usuarios específicos con permisos limitados para colaboradores o agencias.
- Cambia las contraseñas cuando finalice un proyecto o colaboración.
3. Elegir y configurar bien los plugins de seguridad
- Instala solo los plugins de seguridad que realmente necesitas.
- Evita duplicar funcionalidades (por ejemplo, dos firewalls activos a la vez).
- Revisa periódicamente los registros de bloqueo para detectar falsos positivos.
4. Mantener WordPress y extensiones actualizados
- Actualiza WordPress, temas y plugins con regularidad.
- Elimina plugins y temas que no utilices; menos código implica menos superficie de ataque.
- Realiza copias de seguridad antes de grandes actualizaciones.
Documenta los cambios importantes que realices en el servidor, permisos, .htaccess y plugins de seguridad. Tener un historial te ayudará a identificar rápidamente qué modificación pudo desencadenar un nuevo error 403 en el futuro.
Ejemplos y casos reales de error 403 por permisos
Ver algunos escenarios típicos ayuda a reconocer más rápido el origen del error 403 en tu propio sitio WordPress. A continuación se describen varios casos frecuentes y cómo se resolvieron ajustando permisos y configuraciones relacionadas.
Caso 1: Error 403 solo en la página de inicio
Un sitio mostraba un error 403 únicamente en la página de inicio, mientras que el resto de URLs funcionaban correctamente. Tras revisar los permisos, se comprobó que el archivo index.php en la raíz tenía permisos 600 en lugar de 644.
- Se ajustó el permiso de
index.phpa 644. - Se regeneró el archivo
.htaccessdesde Ajustes > Enlaces permanentes en WordPress. - El error 403 desapareció inmediatamente.
Caso 2: Error 403 al acceder a /wp-admin/
En otro proyecto, el error 403 solo aparecía al intentar acceder al panel de administración (/wp-admin/). El frontend funcionaba sin problemas. El origen estaba en un snippet de seguridad añadido al .htaccess que restringía el acceso a wp-admin por IP.
- La IP del administrador había cambiado y ya no estaba en la lista permitida.
- Se actualizó la lista de IPs autorizadas en el
.htaccess. - Se añadió una regla de excepción para permitir el acceso desde una VPN segura.
Caso 3: Error 403 al subir imágenes a la biblioteca
Un sitio WordPress mostraba un error 403 al intentar subir imágenes a la biblioteca de medios. El resto de funcionalidades funcionaban correctamente. El problema estaba en los permisos de la carpeta wp-content/uploads, que se habían establecido accidentalmente en 700.
- Se cambiaron los permisos de
wp-content/uploadsy sus subcarpetas a 755. - Se ajustaron los permisos de los archivos de imagen a 644.
- Las subidas de archivos volvieron a funcionar sin errores.
Caso 4: Error 403 intermitente por ModSecurity
En un sitio con alto tráfico, algunos usuarios reportaban errores 403 al enviar formularios de contacto. Tras revisar los registros del servidor, se detectó que ModSecurity bloqueaba ciertas peticiones por considerar sospechosos algunos parámetros del formulario.
- Se identificó la regla concreta de ModSecurity que generaba falsos positivos.
- El proveedor de hosting creó una excepción para esa regla en el dominio afectado.
- Los formularios dejaron de generar errores 403 sin desactivar la protección global.
Analizar con calma el contexto del error (qué URL falla, cuándo, qué usuario, qué acción realiza) es fundamental para acotar el origen del problema y aplicar la solución adecuada sin comprometer la seguridad general del sitio.
Preguntas frecuentes sobre el error 403 en WordPress
¿Cuáles son los permisos recomendados para WordPress?
De forma general, WordPress recomienda permisos 755 para carpetas y 644 para archivos. El archivo wp-config.php puede tener permisos más restrictivos, como 640 o 600, siempre que el servidor pueda leerlo. Evita usar 777 en cualquier caso, ya que supone un riesgo de seguridad elevado.
¿Puedo solucionar un error 403 cambiando todo a 777?
No es recomendable. Aunque en algunos servidores un permiso 777 podría hacer que el sitio funcione temporalmente, abre la puerta a que cualquier usuario del servidor pueda modificar tus archivos. Esto facilita infecciones de malware, inyecciones de código y otros ataques. Es mejor identificar el origen y aplicar los permisos correctos (755/644).
¿Cómo sé si el error 403 es por permisos o por un plugin?
Primero, revisa los permisos de archivos y carpetas para asegurarte de que siguen los valores recomendados. Si todo está correcto, desactiva temporalmente los plugins de seguridad y firewall renombrando sus carpetas. Si el error desaparece al desactivar un plugin, el problema está en su configuración o en una regla de bloqueo específica.
¿Es peligroso editar el archivo .htaccess?
Editar .htaccess requiere precaución, pero no es peligroso si haces una copia de seguridad antes de cambiar nada. Guarda siempre el archivo original y, si algo falla, vuelve a la versión anterior. Evita copiar snippets de seguridad sin entender qué hacen y prueba los cambios inmediatamente después de aplicarlos.
¿Cuándo debo contactar al soporte del hosting por un error 403?
Si ya has revisado y corregido permisos, regenerado el .htaccess y probado a desactivar plugins de seguridad sin éxito, es momento de contactar al hosting. Facilita URLs concretas, capturas de pantalla y horarios aproximados del error para que puedan revisar los registros del servidor y detectar si una política interna o regla de seguridad está bloqueando tu sitio.
¿Necesitas asesoramiento legal?
Nuestro equipo de expertos está listo para ayudarte