A veces un sitio web puede sorprenderte con errores de los que poco o nada sabes y quizás tampoco el origen de dicho error, lo que acaba generando estrés y mucho lío hasta que das con el origen del problema y lo resuelves.
Esto es lo que sucede con el error 405 Method Not Allowed y en este artículo voy a tratar de arrojar luz sobre ello y cómo solucionar HTTP Error 405 de manera que no se convierta en un dolor de cabeza.
El error 405 método no permitido lo que viene a decir es que ha habido una petición desde un navegador para visualizar una página web en WordPress (aunque puede ser de otro CMS o script) y el servidor ha rechazado dicha petición impidiendo el acceso a la página solicitada.
Error 405 Method Not Allowed interpretado por Google Chrome
Los errores 4xx suelen darse del lado del cliente (el navegador que hace la petición) y no del lado del servidor (quién procesa y entrega los resultados de las peticiones) aunque en el caso del error 405 si puede estar del lado del servidor.
El gran problema de este tipo de errores que si un usuari@ se tropieza con un sitio web que quiere visitar y este no carga o devuelve un error 405, ten por seguro que hay un porcentaje muy alto de posibilidades de que no vuelva por ese sitio, y ya sabemos lo que eso supone si se trata de nuestra web ¡pérdida de tráfico!
Tabla de contenidos
- 1 Qué es el error HTTP 405
- 2 Cuando se produce el error 405
- 3 Cómo solucionar el error 405 Method Not Allowed
- 3.1 Comprobar la URL
- 3.2 Comprobar las DNS del dominio
- 3.3 Verificar los permisos de archivos y carpetas de WordPress
- 3.4 Desactivar los plugins y temas recién instalados
- 3.5 Inspeccionar los últimos cambios en la base de datos
- 3.6 Comprobar la configuración del servidor y el archivo .htaccess
- 3.7 Examinar los registros del servidor
- 3.8 Habilitar el modo de depuración de WordPress
- 3.9 Revertir las actualizaciones recientes de WordPress
- 4 Conclusiones
Qué es el error HTTP 405
Pero antes de ver cómo se resuelve voy a tratar de aclararte un poco más acerca del error 405.
Según la RFC 2616 un error 405 viene a producirse por:
Pero claro, esto está explicado de forma muy generalista, ya que un 405 se puede dar en un sistema operativo, en un servidor, en un navegador o en varios sitios “un poco”, lo que resulta en información confusa y poco concluyente.
En un lenguaje que se entienda, el error 405 se presenta cuando el servidor donde se aloja un sitio web ha recibido una petición de un navegador (realizada por un usuario interesado en ver una página) para mostrar determinada URL de una página, pero el servidor rechaza el método HTTP provocando que el visitante que realiza la petición no pueda ver la misma.
Destacar que no es un error específico de WordPress, aunque puede verse involucrado como parte del problema u origen del mismo, no suele ser algo específico de este CMS.
Si se produce un error 405 en una URL de WordPress puede estar provocado por un intento de obtención de información desde una URL incorrecta utilizando un método GET mientras que el servidor solo responderá a peticiones POST.
- GET: Método para obtener información relacionada con un recurso de URL.
- POST: Método para enviar datos al servidor.
Por ejemplo, en una instalación de WordPress en la que hay un blog y cada Entrada tiene una caja de “comentarios” que se gestiona desde el archivo wp-comments-post.php y que cuando un usuario realiza un comentario no devuelve nada o envía a una página en blanco y devuelve finalmente un error 405.
Cuando se produce el error 405
La única vez reciente que recuerdo haberme tropezado con este error fue después de actualizar un sitio a WordPress 5.9. Poco después puede ver en el navegador el aviso error 405 Method Not Allowed y supe de inmediato que la actualización estaba detrás del problema.
Revertí la acción restaurando una copia de seguridad de WordPress y posteriormente, con el sitio de nuevo cargando con normalidad, me dediqué a analizar qué es lo que se actualizaba que pudiese afectar al sitio y provocar el citado error.
La diferencia de un error 405 con respecto a otros (error 500, error 404, error 503 que si muestran información del error) es que el 405 “es mudo”, es decir, no te da un porqué desde el que tú puedas ir hilando hasta dar con el origen y solucionarlo y esto obliga a estar probando varias cosas hasta resolverlo, y siempre queda la duda (salvo que sea un caso muy puntual como el update que te comentaba de la 5.9) de si la última acción realizada lo solucionó o fue fruto de varias acciones en conjunto las que dieron fin al problema.
¿Cuándo se produce un error 405?, esperemos que nunca je, je, je, porque te digo la verdad que es como un dolor de muelas, sabes que te duele, pero no tienes claro exactamente qué pieza es, si es una carie, si son las raíces de 2 piezas o si es un reflejo de otra pieza dentaria afectando la sensibilidad de tus nervios, pero lo cierto es que duele.
Pues con los errores 405 pasa lo mismo, sabes que es un error porque lo ves en pantalla, pero no tienes ni la menor idea (salvo casos muy puntuales) de cómo ha sucedido, cuál es el origen y qué camino seguir para ponerle coto al problema.
Cómo solucionar el error 405 Method Not Allowed
Antes de abordar la solución de este tipo de errores y dado que hay muchas probabilidades de que durante el proceso de solución del error hagas cambios aquí y allá, un poco como “dando palos de ciego”, te recomiendo que hagas una copia de seguridad del momento actual de la instalación, siempre que esté operativa, para tener un punto de inflexión al que volver en el caso de que hagas “demasiados” cambios aquí y allá que luego no sepas cómo deshacer.
Luego hay una serie de puntos que puedes revisar para detectar y corregir el error:
- Verifica las redirecciones en tu archivo htaccess, sobre todo las directivas RewriteRule que lleven la bandera [R=405,L].
- Comprueba las actualizaciones de WordPress, tu Tema y tus plugins verificando que estén actualizados a sus últimas versiones estables.
- Si recientemente aplicaste una actualización y acto seguido apareció el error 405, trata de revertir la actualización realizada.
- Si utilizas un plugin de caché del servidor o de caché, borra el contenido de la caché y desactiva el almacenamiento en caché a través de la configuración.
- Comprueba si hay conflictos entre plugins. Verifica desde Herramientas ➜ Salud del Sitio que no hay errores.
- Limpia bien la caché del navegador o prueba desde un navegador diferente del habitual.
- Comprueba los permisos de tus archivos y carpetas del Hosting.
- Desactiva plugins recientemente instalados para descartar que sean parte del problema.
- Comprueba que el Registro A de tu dominio (el de la URL que presenta el error) está bien configurado y apunta al Hosting donde están los archivos que debe mostrar.
Y algo obvio, pero importante, comprueba que la URL que escribiste antes de ver el error 405 es la correcta y está bien escrita no vaya a ser que un error puntual de sintaxis acabe siendo la causa de todo el problema.
No hay mucho más que se pueda mirar más allá de lo comentado para resolver este tipo de errores, que por suerte no son muy comunes y en ocasiones obedecen a acciones puntuales realizadas como updates, instalación de nuevos plugins que causan un conflicto o incluso que están “abandonados” y su mala programación forma parte de la causa del error.
Comprobar la URL
Uno de los primeros pasos para solucionar el error 405 es verificar que la URL ingresada sea correcta. En muchas ocasiones, este problema surge solo porque estamos intentando acceder a una página que no admite ciertos métodos HTTP, como POST o PUT, cuando debería usarse GET.
El error 405 ocurre cuando el servidor recibe una solicitud con un método HTTP no permitido para un recurso en particular. Por ejemplo, si intentamos enviar datos mediante un POST a una URL que solo permite solicitudes GET, el servidor responderá con un error 405 (Method Not Allowed), indicando que la acción no está permitida.
En estos casos lo que tendremos que hacer es lo siguiente:
Revisar que la URL esté bien escrita
Puede parecer obvio, pero es común que un error tipográfico en la dirección web genere una solicitud incorrecta. Asegurémonos de que la URL ingresada es la esperada y que estamos accediendo a la página adecuada.
Acceder a la URL con un método diferente
Si estamos intentando realizar una solicitud POST y obtenemos el error 405, intentemos acceder con un GET escribiendo la URL de forma directa en la barra de direcciones del navegador web. Si la página carga de forma correcta, es probable que el método original no sea compatible con ese recurso.
Verificar si la página ha cambiado de ubicación
Algunas veces, las páginas son movidas a una nueva URL y la anterior ya no admite solicitudes. Si el problema ocurre en un sitio de terceros, revisemos si hay una nueva dirección de acceso.
Comprobar las redirecciones
Si el sitio web tiene configuradas redirecciones en WordPress, podríamos estar enviando la solicitud a una URL que no admite el método de acceso que estamos utilizando. En estos casos, verificar el archivo .htaccess o la configuración del servidor puede ayudar a identificar el problema.
Comprobar las DNS del dominio
Otro factor que puede causar el error 405 en un sitio web es una configuración incorrecta en los registros DNS (Sistema de Nombres de Dominio). Cuando las DNS no están configuradas de forma correcta o han sido modificadas, es posible que las solicitudes a nuestro sitio no lleguen al servidor correcto, lo que puede generar errores al intentar acceder a ciertos recursos.
Los servidores web están diseñados para aceptar o rechazar solicitudes en función de la configuración de dominio y del servidor donde esté alojado el sitio. Si el dominio apunta a una dirección IP incorrecta o hay un problema con la propagación de DNS, podemos encontrarnos con un error 405, en especial si la solicitud se envía a un servidor que no reconoce ciertos métodos HTTP.
Si hemos cambiado hace poco la configuración de DNS (por ejemplo, al migrar a un nuevo hosting), puede que los cambios no se hayan propagado por completo. La propagación de DNS puede tardar entre unas pocas horas hasta 48 horas, dependiendo del proveedor de hosting.
Para comprobar si nuestro dominio está apuntando correctamente, podemos usar herramientas como:
Según sea el caso, una vez que comprobamos este DNS y nos encontramos con que no es el correcto, podemos esperar a que se haga el cambio o bien consultar con soporte técnico del dominio para que puedan validar si se hizo el cambio luego de hacer la migración.
Verificar los permisos de archivos y carpetas de WordPress
Un problema frecuente que puede desencadenar el error 405 en un sitio WordPress es una configuración incorrecta en los permisos de archivos y carpetas. Estos permisos definen quién puede leer, escribir o ejecutar los archivos dentro del servidor y, si están mal configurados, pueden bloquear ciertos métodos HTTP, impidiendo que el sitio funcione de forma correcta.
Cuando los permisos son demasiado estrictos, el servidor podría rechazar solicitudes legítimas y devolver un error 405 al intentar acceder a ciertos archivos o directorios. Por el contrario, si los permisos son demasiado permisivos, podrían representar un riesgo de seguridad.
Para ajustar los permisos, primero necesitamos acceder a los archivos de WordPress. Esto se puede hacer de dos formas, mediante FTP, usando un cliente como FileZilla, o desde el administrador de archivos del wepanel o el panel de control de nuestro hosting.
Una vez dentro del administrador de archivos, debemos asegurarnos de que los permisos de los archivos y carpetas sigan las recomendaciones estándar de WordPress:
Carpetas: Permiso 755 (lectura y ejecución para todos, pero escritura solo para el propietario).
Archivos: Permiso 644 (lectura para todos, escritura solo para el propietario).
Archivo wp-config.php: Permiso 600 o 640 (para mayor seguridad).
En el administrador de archivos podemos cambiar los permisos haciendo clic derecho y luego seleccionando la opción de Permisos. Por otra parte, en FileZilla, podemos cambiar los permisos haciendo clic derecho sobre una carpeta o archivo y seleccionando Permisos de archivo.
Desactivar los plugins y temas recién instalados
Uno de los motivos más comunes del error 405 en WordPress es la instalación o actualización reciente de un plugin de WordPress o tema de WordPress. Algunas extensiones de seguridad, cortafuegos o plugins de optimización pueden bloquear métodos HTTP como POST, PUT o DELETE, causando este error al enviar formularios o actualizar contenido.
Los temas personalizados pueden afectar el sitio si añaden reglas de seguridad o bloqueos en .htaccess. Desactivarlos de forma temporal ayuda a detectar si están causando el problema.
Si aún tenemos acceso al dashboard de WordPress, podemos desactivar los plugins de la siguiente manera:
- Ingresamos a Plugins > Plugins instalados.
- Localizamos los plugins añadidos o actualizados.
- Los desactivamos uno por uno y probamos si el error desaparece después de cada desactivación.
- Si el problema se soluciona tras desactivar un plugin, podemos revisar su configuración o buscar una alternativa.
Si el error 405 impide el acceso al panel de WordPress, podemos desactivar los plugins de forma manual por FTP o el administrador de archivos de nuestro hosting, para ello:
- Accedemos a nuestro WePanel > Administrador de archivos.
- Navegamos hasta la carpeta public_html > dominio > wp-content > plugins
Aquí tendríamos dos alternativas, renombrar la carpeta plugins, para que se desactiven todos con un nombre, por ejemplo plugins_respaldo, o bien ingresar a esta carpeta y hacer cambios a los nombres de los plugins para que se desactiven.
Si tras desactivar los plugins el problema persiste, el siguiente paso es probar con un tema por defecto de WordPress. Los pasos son similares, solo que no ingresaremos a las carpetas de Plugins, sino a la que indique Themes.
Esta se encuentra en la misma ruta que encontramos la de los plugins y dentro de esta encontraremos todos los temas instalados en el sitio.
Inspeccionar los últimos cambios en la base de datos
La base de datos de WordPress es el núcleo donde se almacena toda la información del sitio, desde publicaciones y configuraciones hasta datos de plugins y temas. En algunos casos, cambios inesperados en la base de datos pueden generar conflictos que resultan en un error 405, en especial si un plugin o una actualización reciente ha modificado valores clave en las configuraciones del sitio.
Este error puede aparecer si se han alterado las reglas de permisos, los ajustes de seguridad o las configuraciones de las rutas de acceso dentro de la base de datos.
Para comenzar, necesitamos ingresar a phpMyAdmin desde nuestro wepanel:
- Accedemos a wepanel o cPanel de nuestro hosting.
- Buscamos la opción phpMyAdmin y seleccionamos la base de datos de nuestro sitio.
Dentro de la base de datos, exploramos las tablas más relevantes, como:
- wp_options (Configuración general del sitio).
- wp_posts (Publicaciones y páginas).
- wp_users (Usuarios y roles).
- wp_plugins (Datos de plugins activos).
Si identificamos cambios sospechosos, podemos restaurar los valores anteriores de dos maneras:
- Editando de forma manual los registros en phpMyAdmin: hacemos clic en “Editar” en los campos afectados y corregimos los valores.
- Restaurando la base de datos desde una copia de seguridad: si tenemos una copia reciente de superbackup, podemos revertir los cambios de manera segura.
Comprobar la configuración del servidor y el archivo .htaccess
El error 405 en WordPress también puede estar relacionado con configuraciones incorrectas en el servidor web o en el archivo .htaccess. Este archivo es fundamental para el funcionamiento de los sitios en Apache, ya que maneja reglas de redirección, permisos y restricciones de acceso.
Si se han aplicado reglas demasiado estrictas en .htaccess, es posible que ciertas solicitudes HTTP, como POST, PUT o DELETE, sean bloqueadas, impidiendo que el sitio funcione de forma correcta.
Para verificar si el problema está en este archivo, seguimos estos pasos:
- Accedemos a nuestro servidor mediante FTP (FileZilla) o desde el Administrador de archivos en el wepanel.
- Nos dirigimos a la carpeta raíz del sitio, donde encontraremos el archivo .htaccess, está ubicado en public_html > dominio.
- Antes de hacer cambios, realizamos una copia de seguridad del archivo descargándolo a nuestro equipo.
Si sospechamos que el archivo .htaccess está causando el error 405, podemos restaurarlo a su configuración original. Para ello, reemplazamos su contenido con el siguiente código predeterminado de WordPress:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Examinar los registros del servidor
Cuando nos enfrentamos al error 405, una de las formas más efectivas de identificar su causa es revisar los registros del servidor. Estos archivos contienen un historial detallado de todas las solicitudes que llegan al servidor, junto con información sobre errores, advertencias y eventos críticos que pueden estar afectando el funcionamiento del sitio web.
Los registros del servidor muestran qué solicitud fue rechazada, qué método HTTP se usó y si el problema es por permisos, seguridad o bloqueos de firewall. Analizar estos registros nos da una visión más clara de lo que está ocurriendo en el sitio y nos permite tomar medidas más precisas para solucionar el problema.
Dependiendo del proveedor de hosting y del tipo de servidor que usemos, los registros pueden estar en diferentes ubicaciones. Aquí te explicamos cómo encontrarlos en los entornos más comunes:
En Wepanel
- Ingresamos a nuestro wePanel.
- Buscamos la opción Métricas > Errores.
- Revisamos los registros recientes en busca de mensajes relacionados con el error 405.
Desde el Administrador de Archivos o FTP
- Accedemos a nuestro servidor a través del Administrador de archivos o FTP.
- Navegamos hasta la carpeta logs o public_html > error_log (dependiendo del hosting).
- Descargamos el archivo de registro y lo abrimos con un editor de texto.
Al analizar los registros, debemos prestar atención a las siguientes líneas:
Método HTTP rechazado: Buscar entradas donde el servidor haya bloqueado un método como POST, PUT o DELETE.
Mensajes de error específicos: Puede aparecer una advertencia como los siguientes
[client xxx.xxx.x.x] AH405 Method Not Allowed: POST request denied
Habilitar el modo de depuración de WordPress
Cuando el error 405 aparece sin una causa evidente, una de las mejores formas de obtener más información es activando el modo de depuración de WordPress. Este modo nos permite ver errores ocultos, advertencias del sistema y registros detallados sobre lo que está sucediendo en nuestro sitio.
En muchos casos, este error puede estar relacionado con plugins, problemas en el código del tema o conflictos en las configuraciones del servidor. Al habilitar la depuración, podemos obtener mensajes más específicos que nos ayuden a entender por qué el servidor está rechazando ciertas solicitudes HTTP.
Para activar la depuración en WordPress, necesitamos modificar el archivo wp-config.php, que se encuentra en la raíz de nuestro sitio. Para ello desde nuestro wepanel buscamos el administrador de archivos, para luego buscar la ruta public_html > dominio. Ubicamos el archivo wp-config.php en la carpeta principal de WordPress.
Editamos el archivo y buscamos esta línea (si no existe, la añadimos antes de /* That’s all, stop editing! Happy publishing. */):
define('WP_DEBUG', true);
Revertir las actualizaciones recientes de WordPress
A veces, el error 405 puede aparecer después de actualizar WordPress, ya sea el núcleo, los plugins o el tema. Las actualizaciones mejoran la seguridad y el rendimiento, pero a veces causan problemas con métodos HTTP, afectando formularios, APIs o solicitudes AJAX.
Si el problema comenzó después de una actualización, revertir los cambios puede ser una forma efectiva de solucionar el error.
Si el problema se debe a una actualización del núcleo de WordPress, podemos revertir la versión utilizando un plugin, para ello necesitamos hacer lo siguiente:
- Vamos a Plugins > Añadir nuevo y buscamos WP Downgrade.
- Lo instalamos y activamos.
- En Herramientas > Rollback core, elegimos la versión anterior de WordPress que deseamos restaurar.
- Guardamos los cambios y hacemos clic en Reinstalar WordPress.
- Verificamos si el error 405 ha desaparecido.
Si la actualización de un plugin o tema es la causa del problema, podemos deshacer los cambios de la siguiente manera:
- Instalamos y activamos el plugin WP Rollback desde el repositorio de WordPress.
- Vamos a Plugins > Instalar plugin.
-
- Buscamos el plugin problemático y hacemos clic en Rollback.
- Seleccionamos una versión anterior y confirmamos la restauración.
Revertir actualizaciones recientes puede ser una solución efectiva cuando el error 405 aparece después de una nueva versión de WordPress, un plugin o un tema. Si el error desaparece tras volver a una versión anterior, es recomendable esperar a una actualización más estable o buscar alternativas que sean compatibles con nuestro sitio.
Conclusiones
No recuerdo cuando fue la última vez que me tropecé con un error 405, y con ello quiero transmitirte tranquilidad, principalmente porque no es un error común y es posible que lleves muchos años trabajando con WordPress y jamás lo hayas visto ni se te presente en un futuro ¡quién sabe!
Para todos estos problemas siempre existen soluciones rápidas, como es restaurar WordPress al estado anterior al error, y luego hay caminos más lentos, como es ir probando algunos de los pasos anteriormente comentados hasta dar con la solución, aunque lo cierto es difícil poder determinar en qué punto el error se solucionó por un paso concreto o fruto de varias acciones encadenadas.
Recuerda que siempre te queda como solución final el contactar con el Soporte de tu proveedor de alojamiento web para exponerle tu caso y ver qué información te puede aportar, procedente de registros (logs) del servidor, o por la experiencia de su equipo de administradores de sistemas, para detectar el origen del problema y aplicar la debida solución.
¿Te ha resultado útil este artículo?
Miembro del equipo de soporte técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Soporte técnico en CiberProtector. Teacher en Webempresa University