Corregir el error HTTP 405 Method Not Allowed

Un error 405 Method Not Allowed significa que el servidor web entendió tu solicitud, pero rechazó el método HTTP que usaste. Una solicitud GET llegó a un endpoint que solo acepta POST; un plugin de seguridad bloqueó las llamadas PUT del editor de bloques; una regla de .htaccess eliminó DELETE. El servidor sabe lo que quieres, pero no lo procesará de esa manera.

Respuesta rápida: En WordPress, la causa más común de un error 405 es un plugin de seguridad que bloquea las llamadas PUT o DELETE del editor Gutenberg, o una directiva LimitExcept en .htaccess. La solución inicial más rápida es Ajustes > Enlaces permanentes > Guardar cambios para regenerar .htaccess. Si eso no ayuda, desactiva los plugins de seguridad uno por uno para aislar el causante. En nuestras pruebas, restablecer .htaccess mediante Ajustes > Enlaces permanentes > Guardar resuelve el error en la mayoría de los casos en los que no hay ningún plugin de seguridad instalado.

Error 405 Not Allowed en Nginx

¿Dónde aparece el error 405?

Usa esta tabla para ir directamente a la causa más probable antes de recorrer cada paso.

Dónde aparece el error Causa más probable
El editor de bloques no guarda una entrada Plugin de seguridad que bloquea PUT o DELETE
Formulario de contacto o de pago en el front-end Plugin de formularios que envía el método HTTP incorrecto
Endpoint de la REST API o comando WP-CLI Regla LimitExcept en .htaccess
Todo el sitio o áreas específicas del administrador Directiva de Nginx o Apache a nivel de servidor

Antes de hacer cualquier cambio, haz una copia de seguridad de tu sitio web para poder revertir rápidamente si algo sale mal. WP Staging ofrece copias de seguridad automáticas con restauraciones en un clic. Consulta la guía de copia de seguridad y restauración para las instrucciones de configuración.

Configuración incorrecta de LimitExcept en .htaccess

Una directiva LimitExcept en .htaccess limita qué métodos HTTP acepta el servidor en una ruta determinada. Un ejemplo común:

<LimitExcept GET POST>
  Deny from all
</LimitExcept>

Esto bloquea PUT, DELETE y PATCH, que la REST API de WordPress y Gutenberg usan para actualizaciones y operaciones en lote. Un archivo .htaccess al que un plugin de seguridad o una edición manual le añadió esta directiva suele ser el responsable cuando el error 405 aparece por primera vez tras instalar un plugin o realizar un cambio de configuración en cPanel.

Diagnóstico: Revisa el registro de errores de tu servidor en busca de líneas que contengan 405 (Method Not Allowed) en rutas de la REST API (/wp-json/...). Si las ves ahí, casi con toda seguridad la causa es una regla LimitExcept.

Solución: restablecer el archivo .htaccess

Inicia sesión en el cPanel de tu hosting y abre el Administrador de Archivos.

Administrador de archivos de cPanel

Navega hasta el directorio raíz de tu instalación de WordPress, normalmente public_html o www.

Carpeta public_html

Localiza el archivo .htaccess en el directorio raíz.

Ver archivo .htaccess

Haz clic derecho en el archivo .htaccess y selecciona Descargar para guardar una copia de seguridad en tu computadora.

Descargar archivo .htaccess

Haz clic derecho en el archivo de nuevo, elige Renombrar y cámbiale el nombre a .htaccess.bak. Esto lo deshabilita temporalmente sin eliminarlo.

Renombrar archivo .htaccess para solucionar el error 501

Con el antiguo .htaccess deshabilitado, ve a Ajustes > Enlaces permanentes en tu panel de WordPress y haz clic en Guardar cambios. WordPress regenera un .htaccess limpio sin ninguna regla problemática.

Guardar enlaces permanentes de WordPress para corregir el error HTTP 501 not implemented

Comprueba tu sitio. Si el error 405 ha desaparecido, abre el antiguo .htaccess.bak y compáralo línea por línea con el nuevo archivo para encontrar la directiva LimitExcept. Elimínala de la copia de seguridad y vuelve a renombrar el archivo a .htaccess, o quédate con la versión regenerada.

Si usas Nginx, .htaccess no tiene ningún efecto. Revisa nginx.conf en busca de directivas equivalentes limit_except o deny en el bloque server o location de tu sitio.

Plugin de seguridad que bloquea métodos HTTP

Según los tickets de soporte de WP STAGING, el desencadenante de error 405 más común en una instalación de WordPress en funcionamiento es el firewall de un plugin de seguridad que bloquea las solicitudes PUT o DELETE del editor de bloques. Plugins como Wordfence y Sucuri te permiten restringir qué métodos HTTP acepta el servidor. Cuando bloquean PUT o DELETE, las solicitudes de guardado de Gutenberg fallan con un error 405 y el editor muestra un error de guardado genérico.

Diagnóstico: Desactiva temporalmente tu plugin de seguridad e intenta guardar la entrada de nuevo. Si el error 405 desaparece, el plugin es la causa.

Solución: identificar el plugin que bloquea

Inicia sesión en tu panel de WordPress y ve a Plugins.

Seleccionar plugins en el panel de WordPress

Selecciona todos los plugins activos, abre el menú desplegable Acciones en lote de la parte superior, elige Desactivar y haz clic en Aplicar.

Desactivar plugins para solucionar el error HTTP 501 not implemented en WordPress

Después de desactivar todos los plugins, comprueba si el error 405 ha desaparecido. Si es así, reactiva cada plugin uno por uno, probando tu sitio después de cada uno, hasta que el error vuelva a aparecer. Ese es el plugin que bloquea la solicitud.

Una vez que lo identifiques, revisa la configuración del firewall o de los métodos HTTP del plugin. En Wordfence, busca en Firewall > All Firewall Options los métodos HTTP permitidos y confirma que PUT y DELETE estén incluidos. En Sucuri, busca en los ajustes de Hardening cualquier restricción de métodos HTTP.

Configuración del servidor (Nginx y Apache)

Un error 405 que persiste después de restablecer .htaccess y desactivar los plugins suele apuntar a la configuración del servidor web. En Apache, las directivas Limit y LimitExcept dentro de un archivo de configuración de host virtual pueden bloquear métodos en todo el sitio. En Nginx, un bloque limit_except GET POST {} en el bloque server o location tiene el mismo efecto.

Diagnóstico: revisar los registros del servidor

Los registros de acceso registran cada solicitud con su código de estado HTTP. Los registros de errores capturan por qué el servidor rechazó la solicitud. Busca líneas que contengan 405 o method not allowed cerca de la ruta que devolvió el error.

La mayoría de los paneles de control de hosting compartido muestran los registros en una sección de Registros o Métricas. En un VPS o servidor dedicado, revisa /var/log/apache2/error.log o /var/log/nginx/error.log.

Solución: actualizar la configuración del servidor

En Apache, localiza el archivo de configuración de host virtual de tu sitio (normalmente en /etc/apache2/sites-enabled/) y busca bloques <Limit> o <LimitExcept>. Añade los métodos HTTP necesarios o elimina la restricción.

En Nginx, encuentra el bloque limit_except dentro del bloque server de tu sitio y añade los métodos que falten, o elimina el bloque si tu configuración no lo requiere.

Después de editar la configuración, recarga el servidor:

# Apache
sudo systemctl reload apache2

# Nginx
sudo systemctl reload nginx

En un hosting compartido, no puedes editar directamente la configuración global del servidor. Contacta con el soporte de tu proveedor de hosting y describe los métodos HTTP bloqueados y la ruta URL específica que devuelve el error 405.

Restricciones de métodos en la REST API de WordPress

WordPress usa la REST API para los guardados de Gutenberg, las operaciones de sincronización de plugins y los comandos WP-CLI. Si la REST API está desactivada, o si un hook de un plugin o tema rechaza métodos HTTP específicos, verás errores 405 en rutas que empiezan por /wp-json/.

En nuestras pruebas, los errores de métodos de la REST API en el editor de bloques suelen deberse a una combinación de un filtro de autenticación REST en un plugin o tema y la lista de métodos permitidos de un plugin de seguridad. Activar el modo de depuración muestra qué componente rechaza la solicitud.

Solución: activar el modo de depuración de WordPress para rastrear el error

Abre wp-config.php, cambia define('WP_DEBUG', false) por define('WP_DEBUG', true) y añade también define('WP_DEBUG_LOG', true) para escribir los errores en wp-content/debug.log. Guarda el archivo.

Activar debug.log y modo de depuración de WordPress en wp-config.php

Reproduce el error 405, luego abre wp-content/debug.log y busca errores de autenticación de la REST API o conflictos de filtros. Cuando encuentres el hook o plugin responsable, actualiza su configuración o contacta con el autor del plugin.

Restaura WP_DEBUG a false después de solucionar el problema.

Para las instrucciones de configuración, consulta cómo activar el registro de depuración de WordPress.

Plugin de formulario de contacto que envía el método HTTP incorrecto

Algunos plugins de formularios de contacto y de pago envían los datos mediante una solicitud GET a un endpoint que solo acepta POST, o usan un método no estándar que el servidor no aceptará. Esto produce un error 405 en el front-end en lugar de en el administrador.

Según el soporte de WP STAGING, este patrón aparece cuando la actualización de un plugin cambia la URL del endpoint de envío sin actualizar el atributo method del formulario. El plugin empieza a enviar solicitudes al nuevo endpoint usando el método antiguo, y el servidor devuelve un error 405.

Diagnóstico: Abre las DevTools del navegador (F12), ve a la pestaña Red y envía el formulario. Localiza la solicitud que devuelve el error 405. Revisa la columna Método: si muestra GET para un formulario que debería usar POST, o cualquier otro método inesperado, el plugin está mal configurado.

Solución: Primero actualiza el plugin a su última versión. Si el error persiste, revisa en la configuración del plugin si hay una opción de método del formulario o de URL de envío y verifica que coincida con lo que el servidor acepta. Si el plugin no tiene ese ajuste, contacta con el autor del plugin indicándole el método de la solicitud y la URL de la pestaña Red.

Solución de problemas general

Si ninguna de las soluciones específicas anteriores resolvió el error, sigue estos pasos en orden.

Recargar la página

Un fallo temporal del servidor o una caché del navegador obsoleta pueden producir un error 405 puntual. Haz una recarga forzada con Ctrl + Shift + R en Windows o Command + Shift + R en macOS para forzar una solicitud nueva.

Comprobar errores en la URL

Revisa cuidadosamente la URL en busca de erratas, barras adicionales o caracteres mal colocados. Una URL mal formada puede dirigir a un endpoint que no acepta el método que enviaste.

Revertir cualquier cambio reciente

Si el error 405 apareció después de actualizar un plugin, un tema o el núcleo de WordPress, revierte ese cambio. Para los plugins, WP Rollback puede restaurar una versión anterior. Prueba tu sitio después de cada reversión para confirmar qué actualización introdujo el error.

Inspeccionar las modificaciones recientes de la base de datos

Un plugin o tema que escribe en la base de datos puede, en ocasiones, alterar el enrutamiento de las solicitudes. Para comprobar si hay cambios inesperados:

  1. Inicia sesión en cPanel y abre phpMyAdmin.
optimizar la base de datos de WordPress con phpMyAdmin en cPanel
  1. Selecciona la base de datos asociada a tu instalación de WordPress en la barra lateral izquierda.
Inspeccionar modificaciones recientes de la base de datos para corregir 405 Method Not Allowed

Busca tablas huérfanas de plugins desinstalados recientemente en wp_options y wp_usermeta. Elimina las filas sobrantes y comprueba si el error 405 desaparece.

Cambiar a un tema predeterminado

Un tema que registra incorrectamente una ruta de la REST API puede producir un error 405 en esas rutas. Cambiar a un tema predeterminado incluido con WordPress descarta esta posibilidad.

Ve a Apariencia > Temas en tu panel y activa un tema predeterminado de WordPress.

Cambiar al tema predeterminado para solucionar el error HTTP 501

Si el error 405 desaparece con el tema predeterminado activo, el problema está en tu tema original. Revisa cualquier llamada personalizada a register_rest_route en el functions.php del tema, o contacta con el autor del tema.

Qué hacer si la solución no funciona

Si el error 405 persiste después de recorrer todas las secciones anteriores, es posible que un CDN o un proxy inverso situado entre el navegador del visitante y tu servidor esté eliminando o reescribiendo el método HTTP antes de que la solicitud llegue a WordPress.

Comprueba si hay una capa CDN o WAF. El panel de control de tu hosting o el panel de tu proveedor de DNS suele mostrar si hay un CDN o un firewall de aplicaciones web (WAF) activo. Si lo hay, revisa sus reglas de firewall en busca de listas de métodos HTTP permitidos. Los servicios CDN a menudo tienen reglas que solo permiten GET y POST, lo que devolverá un error 405 para PUT, DELETE o PATCH antes de que la solicitud llegue a WordPress.

Revisa la configuración del balanceador de carga. Si tu sitio se ejecuta detrás de un balanceador de carga, verifica que la configuración del listener o del backend no esté rechazando métodos HTTP no estándar.

Omite temporalmente el proxy para aislar el origen. Si puedes dirigir una solicitud de prueba directamente a tu servidor de origen y el error 405 desaparece, el proxy está filtrando el método. Colabora con tu proveedor de CDN o con tu administrador de sistemas para ajustar la lista de métodos permitidos.

Conclusión

Un error 405 Method Not Allowed en WordPress tiene un pequeño conjunto de causas raíz: una directiva LimitExcept en .htaccess, un plugin de seguridad que bloquea métodos de la REST API, una regla de configuración a nivel de servidor, un plugin que envía el método HTTP incorrecto o un CDN que filtra las solicitudes más arriba. Recorrer cada causa en orden, empezando por el restablecimiento de .htaccess, resuelve el problema en la mayoría de los casos.

Si necesitas revertir después de un cambio fallido, la guía de copia de seguridad y restauración de WP Staging explica la recuperación en unos pocos clics.

Artículos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre el autor: René Hermenau es el fundador de WP STAGING. Trabaja en copias de seguridad de WordPress, entornos de staging, migraciones, gestión de bases de datos y flujos de despliegue seguros.