Cómo solucionar el error 403 “Forbidden” en WordPress (guía técnica + checklist)

En Admarking vivimos del SEO que da resultados. Cuando un 403 aparece, corta el rastreo, la conversión y el ánimo. Aquí te dejo nuestra forma práctica de diagnosticar, corregir y prevenir este error sin dramas… y sin humo.

Newsletter
Recibe consejos para aumentar las ventas y mira las estrategias que usamos con nuestros clientes.
Por favor, activa JavaScript en tu navegador para completar este formulario.

Diagnóstico rápido en 5 minutos: identifica tu tipo de 403

Mini-plan

  • Comprobar alcance: ¿solo una URL, el wp-admin, o todo el sitio?
  • Detectar capa sospechosa: caché/CDN, servidor (Apache/Nginx), permisos, plugin/tema, reglas de seguridad.
  • Priorizar pruebas de bajo riesgo que dan pista inmediata.

Dónde aparece el 403

  • Solo en /wp-admin/ o al iniciar sesión → suele ser plugin de seguridad, regla WAF/CDN, cookie o htaccess.
  • En una o varias URLs públicasregla de directorio, .htaccess, enlace roto a carpeta protegida o enlaces simbólicos mal resueltos.
  • En todo el sitio → permisos de archivos/carpetas o DocumentRoot mal apuntado tras migración.

Con o sin CDN/Firewall (Cloudflare y similares)

  • Con CDN: desactiva temporalmente el proxy (“modo DNS only”), vacía caché y prueba en modo desarrollo. Si el 403 desaparece, la pista está en reglas de firewall, rate limiting o bot fight.
  • Sin CDN: el foco pasa a plugins, .htaccess (Apache) o config de Nginx y permisos.

Árbol de decisión exprés

  1. ¿Es solo en /wp-admin/?
    → Sí: renombra la carpeta wp-content/plugins a plugins.old por SFTP. ¿Accedes? Entonces es plugin.
    → No: sigue.
  2. ¿Con CDN activado el 403 y sin CDN no?
    → Sí: revisa reglas WAF/Firewall y lista blanca de IPs.
    → No: sigue.
  3. ¿Afecta a todo el sitio?
    → Sí: revisa permisos (archivos 644, carpetas 755) y propiedad.
    → No: sigue.
  4. ¿Solo algunas rutas (ej. /uploads/2025/)?
    → Repara permisos de esa carpeta y comprueba reglas Options -Indexes o hotlinking.

En Admarking priorizamos estas pruebas “inocuas” primero: vaciar cachés, aislar plugins sin entrar al admin y ver si el problema está en CDN o servidor. Con eso, rara vez nos pasamos de 5–10 minutos para saber dónde hurgar.

Soluciones por orden de impacto y riesgo

Mini-plan

  • Empezar por cachés y aislamiento de plugins (cero riesgo).
  • Pasar a .htaccess y permisos (riesgo medio).
  • Rematar con reglas de seguridad/CDN y casos especiales (afinación fina).

Desactivar plugins por FTP/SFTP (sin acceso al admin)

  1. Conéctate por SFTP.
  2. Renombra wp-content/pluginsplugins.old.
  3. Prueba la web. Si se arregla, devuelve el nombre a plugins y ve activando por lotes (renombrando carpetas individuales) para encontrar el culpable.
  4. Plugins con más papeletas: seguridad, firewalls, antispam, caché.

Truco Admarking: cuando el sitio depende de un plugin crítico (pago/envíos), probamos primero renombrar solo su carpeta para no tumbar funciones clave.

Regenerar .htaccess y revisar Options -Indexes (Apache)

  1. Haz copia del .htaccess en la raíz de WordPress.
  2. Crea uno limpio con la estructura básica de WordPress.
  3. Quita reglas agresivas (bloqueos por IP, hotlinking, user-agents) y prueba.
  4. Si el 403 era por listado de directorios, Options -Indexes evita que se naveguen carpetas; en combinación con permisos erróneos puede dar falsos positivos.

Reparar permisos y propiedad de archivos

  • Permisos recomendados:
    • Archivos: 644
    • Carpetas: 755
    • wp-config.php (opcional más restrictivo): 640 o 600
  • Propiedad correcta: el usuario del proceso web (www-data, nginx, apache…) debe poder leer/escribir donde toca (especialmente en /wp-content/uploads/).
  • Síntoma típico: 403 solo al subir imágenes o al acceder a un subdirectorio concreto.

Tabla rápida de permisos

RecursoPermiso sugerido
Archivos en general644
Directorios en general755
/wp-content/uploads/755 (directorios)
wp-config.php640–600

En proyectos gestionados por Admarking, documentamos los permisos “diana” por entorno (staging/prod) y dejamos un checklist post-deploy para que nadie los toque sin saber.

Revisar reglas de seguridad (WAF/ModSecurity/CDN)

  • Hosting/ModSecurity: pide al soporte el ID de regla que está soltando el 403 y que lo pongan en modo detección o te creen una excepción para esa ruta.
  • CDN/Firewall: desactiva reglas demasiado agresivas, crea Allowlist para IPs de administración y valida que XML-RPC/REST API no estén bloqueados si los usas.

Tema hijo/plantilla y .htaccess en subcarpetas

  • Un tema rara vez causa 403 en todo el sitio, pero puede bloquear assets si mezcla rutas protegidas.
  • Revisa .htaccess dentro de /wp-content/uploads/ o de subcarpetas (algunos plugins crean reglas locales).

Casos especiales

  • 403 en /uploads/: casi siempre permisos de carpeta o herencia incorrecta en subdirectorios del año/mes.
  • 403 en REST API o AJAX: reglas WAF o plugins de seguridad que bloquean endpoints.
  • Ecommerce (WooCommerce): firewalls que confunden callbacks de pago con tráfico malicioso.
Newsletter
Recibe consejos para aumentar las ventas y mira las estrategias que usamos con nuestros clientes.
Por favor, activa JavaScript en tu navegador para completar este formulario.

Cómo afecta al SEO y cómo validarlo

Mini-plan

  • Confirmar alcance del 403 en rastreo/índice.
  • Reducir impacto y recuperar señales.
  • Establecer monitorización proactiva.

Cobertura en motores de búsqueda

  • Un 403 persistente devuelve “Acceso denegado” y el bot no rastrea.
  • Prioriza corregir plantillas críticas (home, categorías, productos) y sitemaps si están afectados.

Validaciones imprescindibles

  • Reexplorar las URLs afectadas tras la corrección.
  • Revisar sitemaps (que respondan 200 y no 403).
  • Comprobar que recursos bloqueados (CSS/JS) vuelven a estar accesibles; bloquearlos puede degradar el renderizado y la evaluación de calidad.

En Admarking, tras arreglar un 403 hacemos un “health check”: muestreo de 50–100 URLs, revisión de logs de acceso y verificación de que los sitemaps y los recursos críticos cargan sin restricciones.

Monitorización y alertas

  • Logs de servidor: busca ráfagas de 403 por IP, user-agent o ruta.
  • Uptime con alertas en rutas claves (home, categoría top, /wp-json/).
  • Alertas de cambios: cuando alguien toca .htaccess o reglas del firewall, que salte aviso.

Prevención: procesos que usamos en Admarking

Mini-plan

  • Establecer rutina de backups + control de cambios.
  • Endurecer sin romper la experiencia.
  • Mantener un playbook de emergencia.

Backups + control de cambios + entornos

  • Staging para probar reglas y actualizaciones.
  • Backups automáticos diarios + bajo demanda antes de cambios grandes.
  • Control de versiones para .htaccess y configuraciones: saber quién cambió qué y cuándo.

Hardening sin romper

  • Reglas de seguridad escalonadas: primero monitorizar, luego bloquear.
  • Listas blancas para paneles y rutas de gestión.
  • Mínimo privilegio en usuarios y permisos; nada de 777 “por si acaso”.

Mantenimiento técnico y auditorías

  • Calendario de auditorías trimestrales: permisos, reglas WAF, accesibilidad de wp-cron, limpieza de plugins inactivos.
  • Documentación viva: dejar constancia del árbol de decisión y las soluciones aplicadas.
  • Playbook 403: pasos 1-2-3 y responsables; esto reduce tiempos y estrés cuando hay incidentes.

“Cuando probé a sistematizar esto en un ecommerce con tráfico alto, los 403 pasaron de ser un incendio mensual a un recuerdo esporádico.” Esa es la idea: proceso > improvisación.

Checklist imprimible (paso a paso)

  • Probar sin CDN (modo desarrollo / DNS only) y vaciar cachés.
  • Renombrar wp-content/plugins → ¿vuelve? Aislar el culpable.
  • Regenerar .htaccess base y retirar reglas agresivas.
  • Verificar permisos: archivos 644, carpetas 755, wp-config.php 640–600.
  • Revisar propiedad de archivos y herencia en /uploads/.
  • Chequear WAF/ModSecurity/CDN: excepciones por ruta y lista blanca IP.
  • Validar que sitemaps, /wp-json/ y CSS/JS vuelven a 200.
  • Solicitar reexploración y activar monitorización de 403 en logs.
Cómo solucionar el error 403 “Forbidden” en WordPress (guía técnica + checklist)

FAQs sobre el error 403 en WordPress

¿Qué causa más comúnmente un 403?
Permisos incorrectos en carpetas/archivos, reglas agresivas en .htaccess o WAF/CDN, y plugins de seguridad demasiado restrictivos.

¿Cómo desactivo plugins si no puedo entrar al admin?
Por SFTP, renombra wp-content/plugins y prueba. Luego ve restaurando y renombrando carpetas de plugins hasta hallar el conflictivo.

¿Qué permisos son “sanos”?
Archivos 644, carpetas 755 y wp-config.php 640–600. Evita 777: arregla a corto y rompe a largo.

¿Afecta al SEO?
Sí: los bots no pueden rastrear y cae la cobertura. Repara, valida sitemaps/recursos y lanza reexploración.

¿Cómo evito que vuelva?
Proceso: staging, backups, control de cambios, monitorización y reglas escalonadas. En Admarking lo dejamos por escrito en el playbook del proyecto.

Conclusión

Un 403 “Forbidden” no es el fin del mundo. Con un diagnóstico rápido, un orden de ataque claro y buenas prácticas de prevención, vuelves a la normalidad sin perder tracción orgánica. Si necesitas que lo miremos en tu sitio, en Admarking trabajamos con planes a medida y foco absoluto en resultados medibles.

Newsletter
Recibe consejos para aumentar las ventas y mira las estrategias que usamos con nuestros clientes.
Por favor, activa JavaScript en tu navegador para completar este formulario.