El error HTTP 422 no es tan común como otros códigos como el 404 o el 500. Este error en particular puede ser difícil de diagnosticar, ya que no te proporciona mucha información sobre qué parte de tu petición está causando el problema.
A grandes rasgos, si ves un error HTTP 422 significa que el servidor entiende tu petición, pero no puede cumplirla debido a un problema de tu parte. Si solucionas ese problema, deberías poder recargar la página y el error desaparecerá.
En este artículo, hablaremos de las causas del error 422 y de cómo solucionarlo si utilizas WordPress. ¡Vamos a ello!
¿Qué es el error HTTP 422?
El error 422 es un código HTTP que te indica que el servidor no puede procesar tu petición, aunque la entiende. El nombre completo del código de error es 422 «entidad no procesable»
En pocas palabras, el error significa que estás haciendo una petición que el servidor entiende, pero no puede procesarla. Normalmente, esto ocurre porque hay un error semántico en alguna parte de la petición, normalmente dentro de un archivo PHP o JavaScript.
A diferencia de otros errores HTTP, el código 422 seguirá apareciendo hasta que consigas solucionar el problema de tu petición. Sin embargo, esto puede ser difícil, ya que el error no proporciona información específica sobre qué parte de la solicitud no puede procesar.
¿Qué causa el error HTTP 422?
Normalmente, el código HTTP 422 aparece cuando hay un error semántico en el contenido de una solicitud. Si utilizas WordPress, eso suele significar una de estas dos cosas
- Uno de los archivos implicados en la solicitud contiene código con errores semánticos. Dicho de otro modo, hay un error en alguna parte del código.
- Estás tratando con una tabla de base de datos corrupta.
Un problema del error 422 es que no hay forma de saber cuál es su causa a primera vista. Esto significa que es posible que tengas que probar más de un método de solución de problemas hasta que llegues al problema.
¿Cómo solucionar el error 422 en WordPress? (2 métodos)
En esta sección, te mostraremos cómo reparar una base de datos de WordPress corrupta y cómo identificar los archivos con errores de código semántico. Estos pasos también te ayudarán a depurar otros problemas, como el error HTTP 400.
1. Reparar una base de datos de WordPress corrupta
En algunos casos, las tablas de la base de datos de WordPress pueden corromperse durante una actualización. Esto significa que si estás actualizando un plugin, un tema o el propio WordPress y el proceso se interrumpe, las entradas de la base de datos pueden empezar a presentar errores.
Una base de datos corrupta puede provocar todo tipo de errores en WordPress, como que las páginas no se carguen, que las funciones no funcionen correctamente y que aparezcan códigos HTTP como el 422. Hay dos formas de reparar una base de datos de WordPress corrupta. La más sencilla es utilizar un plugin como WP-DBManager:
Una vez que actives WP-DBManager, tendrás acceso a una nueva pestaña de Base de Datos en el panel de control. Ve a Base de datos > Reparar BD y selecciona las tablas que quieres reparar. Como es posible que no sepas qué tabla está corrupta, selecciónalas todas y haz clic en Reparar:
El proceso sólo debería tardar unos segundos y verás un mensaje de éxito cuando esté listo. Ahora, intenta acceder a la página que te devolvió el error 422 para ver si persiste.
Si no tienes acceso al administrador de WordPress debido al error 422, puedes reparar la base de datos manualmente. Para ello, tendrás que acceder a la base de datos desde el panel de control de tu alojamiento.
Si utilizas Kinsta, puedes acceder a la base de datos desde tu panel de MyKinsta. Selecciona un sitio web y ve a la pestaña Información. Busca la sección Acceso a la base de datos, donde encontrarás las credenciales de acceso a la base de datos. Haz clic en Abrir phpMyAdmin e introduce esas credenciales:
Selecciona la base de datos que quieres reparar en el menú de la izquierda y verás un desglose de todas las tablas que contiene a la derecha. Utiliza la opción Marcar todo en la parte inferior de la página para seleccionar todas las tablas. A continuación, busca la opción Reparar tabla en el menú de la derecha:
Haz clic en el botón Ir y espera a que phpMyAdmin devuelva un mensaje de éxito. Ahora, sigue adelante y comprueba si el error HTTP 422 persiste.
2. Utiliza los registros de errores de WordPress para identificar las causas del código HTTP 422
Si al reparar la base de datos no desaparece el error 422, el problema reside en uno de los archivos de WordPress. Dado que cada instalación de WordPress contiene entre docenas y cientos de archivos, no es posible comprobar todos ellos en busca de errores de código semántico.
Tu mejor opción, en este caso, es activar la función de depuración de WordPress, que te dará acceso a los registros de errores. Para activar el modo de depuración de WordPress manualmente, tendrás que editar el archivo wp-config.php en el directorio raíz.
Puedes hacerlo accediendo a tu sitio web mediante un cliente de Protocolo de Transferencia de Archivos (FTP) y localizando el archivo wp-config.php. Abre el archivo y añade las siguientes dos líneas de código antes de la línea que dice /* ¡Eso es todo, deja de editar! Feliz blogueo. */:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
Si la línea WP_DEBUG ya existe, asegúrate de que se lee true y simplemente añade la segunda línea de código (la entrada WP_DEBUG_LOG). Guarda los cambios en el archivo y vuelve a cargar la página que devuelve el error 422.
El error debería persistir, pero ahora tienes acceso a los registros de errores. Para leer esos registros, navega a la carpeta wp-content dentro del directorio raíz y busca el archivo debug.log. Puedes abrir el archivo con un editor de texto.
Si el archivo es nuevo, sólo debería contener unas pocas líneas, una de las cuales debería referirse al error que está causando el código 422. El error debería indicarte el archivo específico que está causando el problema. También debería incluir información sobre qué línea del archivo contiene un error semántico.
Si utilizas Kinsta, no tienes que activar manualmente el modo de depuración de WordPress ni los registros de errores. En su lugar, ve a MyKinsta, selecciona un sitio web y salta a la pestaña Herramientas. Dentro encontrarás una opción para activar la depuración de WordPress:
Tras activar la depuración, puedes ir a la pestaña Registros y seleccionar la opción error.log. MyKinsta mostrará los últimos errores de tu sitio web y el visor incluye una función de búsqueda para ayudarte a encontrar entradas específicas:
Centrarte en las últimas entradas debería ayudarte a identificar qué archivo está causando el error 422. Una vez que identifiques el archivo, puedes intentar arreglar el error semántico o sustituirlo por una versión de stock de WordPress.
Resumen
Identificar la causa del error HTTP 422 puede ser algo complicado. Sin embargo, solucionar el error no lleva tanto tiempo. El proceso es mucho más sencillo si utilizas WordPress, ya que el software viene con herramientas que pueden ayudarte a la hora de depurar los errores.
Si te encuentras con el error HTTP 422 en WordPress, hay dos formas de solucionarlo:
- Reparar la base de datos de WordPress corrupta.
- Utilizar los registros de errores de WordPress para identificar las causas del código 422.
Con Kinsta, solucionar los errores es mucho más fácil. Nuestro panel de control MyKinsta incluye herramientas integradas para depurar WordPress. Si no quieres solucionar los problemas manualmente, ¡siempre puedes contactar con nuestro equipo de soporte!