Cómo resolver un error 409 Conflict

TL;DR: Un error 409 Conflict significa que el servidor rechazó tu solicitud porque entra en conflicto con el estado actual del recurso. En WordPress, las causas más comunes son una caché del navegador obsoleta, una estructura de enlaces permanentes corrupta o dos plugins escribiendo en la misma opción de la base de datos al mismo tiempo. Empieza por la Solución 2 (Vaciar la caché del navegador) o la Solución 3 (Restablecer los enlaces permanentes): esos dos pasos resuelven el error en la mayoría de los casos de WordPress.

Al intentar acceder a un sitio web, de vez en cuando puedes encontrarte con un error que te impide ver la página. Uno de ellos es el «409 Conflict», que aparece cuando el servidor detecta una discrepancia entre tu solicitud y el estado actual del recurso.

Aunque toparse con este error puede ser frustrante, suele ser fácil de resolver. Como usuario, puedes empezar corrigiendo cualquier errata en la URL, vaciando la caché del navegador o desactivando extensiones del navegador problemáticas. Por otro lado, si gestionas el sitio web, la solución puede estar en desinstalar plugins, revisar el software o ajustar la configuración del servidor.

Esta guía explica el error 409 Conflict y por qué ocurre. Después, te llevamos por los pasos para identificar y resolver el problema tanto del lado del cliente como del servidor.

Error 409 Conflict

Los códigos de estado HTTP se dividen en cinco categorías:

  • 100s: Informativos – solicitudes en curso.
  • 200s: Éxito – solicitudes completadas correctamente.
  • 300s: Redirección – dirigen a otro recurso.
  • 400s: Errores de cliente – problemas del lado del cliente.
  • 500s: Errores de servidor – problemas en el servidor.

Un «409 Conflict» cae dentro de los 400s, indicando que la solicitud entra en conflicto con el estado actual del recurso. Aunque pueda parecer complejo, el error 409 suele ser fácil de corregir, lo que te permite reintentar la solicitud una vez resuelto el conflicto. El código de estado está formalmente especificado en RFC 7231 §6.5.8 y la referencia HTTP 409 de MDN ofrece una definición concisa con ejemplos de uso.

¿Qué provoca un error «409 Conflict»?

Como su nombre indica, un error «409 Conflict» surge cuando se produce un conflicto en la solicitud HTTP. A menudo ocurre cuando el recurso solicitado es inesperado o si procesar la solicitud derivaría en un conflicto.

El error 409 se asocia comúnmente con solicitudes PUT para actualizar o crear recursos. Estas solicitudes modifican el recurso de destino, pero pueden fallar cuando los datos enviados entran en conflicto con el estado actual del servidor.

Por ejemplo, si existen discrepancias o errores en los campos de la solicitud PUT, como datos mal escritos, el servidor puede detectar esos conflictos y rechazar la solicitud. Otro ejemplo típico es intentar subir una versión antigua de un archivo que entra en conflicto con una versión más nueva ya presente, lo que provoca un problema de control de versiones que dispara el error 409.

Desencadenantes del 409 específicos de WordPress

En WordPress, los errores 409 aparecen en algunas situaciones adicionales más allá del caso genérico de PUT/control de versiones:

  • Conflictos de plugins escribiendo en la misma opción de la base de datos simultáneamente: cuando dos plugins intentan actualizar la misma fila de wp_options al mismo tiempo, la segunda escritura puede rechazarse como conflicto.
  • Conflictos de opciones serializadas tras un push a producción: enviar un sitio de pruebas al entorno de producción cambia la URL del sitio almacenada en la base de datos. Si ese push se solapa con un proceso en segundo plano que lee esas opciones, puede aparecer un 409 en la respuesta de la REST API.
  • Colisiones de endpoints de la REST API: un plugin que registra una ruta REST personalizada en el mismo espacio de nombres y ruta que otro plugin hace que WordPress devuelva un 409 al llamar al endpoint.
  • Estado obsoleto de un plugin de caché: un plugin de caché de páginas que sirve una respuesta basada en un estado del recurso que el servidor ya ha cambiado puede producir un 409 en la siguiente solicitud de modificación.

En los tickets de soporte de WP STAGING, el desencadenante de 409 más común que vemos es una estructura de enlaces permanentes corrupta, a menudo tras un cambio de dominio o una migración del sitio.

¿Qué solución se aplica a tu caso?

Usa la siguiente tabla para asociar tu síntoma al punto de partida correcto:

Síntoma Causa probable Empieza por
409 en el navegador al cargar una página Caché del navegador obsoleta Solución 2 (Vaciar la caché del navegador)
409 tras un push de pruebas a producción o un cambio de dominio Estructura de enlaces permanentes corrupta Solución 3 (Restablecer los enlaces permanentes)
409 en el registro de errores de la REST API de WordPress Colisión de endpoints REST o conflicto de plugins Solución 4 (Desactivar plugins en conflicto)
409 en el registro de errores de Apache o NGINX Regla de configuración del servidor que bloquea el método de la solicitud Solución 6 (Revisar la configuración del servidor)
409 solo en una URL concreta Errata en la URL o ruta mal formada Solución 1 (Comprobar errores en la URL)
409 persiste tras probar todo lo anterior Causa raíz desconocida Solución 7 (Activar el modo de depuración)

7 formas fáciles de corregir el error 409 Conflict

  1. Comprobar errores en la URL
  2. Vaciar la caché del navegador
  3. Restablecer los enlaces permanentes
  4. Desactivar plugins en conflicto
  5. Degradar WordPress manualmente con FTP
  6. Revisar la configuración del servidor
  7. Activar el modo de depuración

Nota: Antes de hacer cambios, conviene hacer una copia de seguridad de tu sitio web. Si algo sale mal, puedes restaurarlo rápidamente a su estado anterior. WP Staging ofrece una forma fácil de configurar copias de seguridad automáticas. Para más ayuda, consulta la guía de copia de seguridad y restauración.

1. Comprobar errores en la URL

Primero, revisa la URL en busca de errores sencillos. A veces el error se debe a una ortografía incorrecta, barras de más o caracteres mal colocados. Si la URL es correcta pero el contenido sigue sin aparecer, toca indagar más a fondo.

2. Vaciar la caché del navegador

Vaciar la caché del navegador puede resolver eficazmente el error 409 conflict de WordPress. La caché almacena archivos temporales para acelerar la carga, pero los datos obsoletos o corruptos pueden causar errores. Así ayuda vaciarla:

Google Chrome: Pulsa Ctrl + Mayús + Supr, selecciona el intervalo de tiempo deseado y haz clic en «Borrar datos».

Vaciar la caché de Google Chrome para corregir el error 404 Not Found de WordPress

Mozilla Firefox: Pulsa Ctrl + Mayús + Supr, elige el intervalo de tiempo apropiado y haz clic en «Limpiar ahora».

Vaciar la caché de Firefox para corregir el error 404 Not Found de WordPress

Después de vaciar la caché, recarga tu sitio para comprobar si el error 409 conflict se ha corregido. Si no, considera otras soluciones. Vaciar la caché con regularidad ayuda a asegurar que ves la última versión de tu sitio.

3. Restablecer los enlaces permanentes

Restablecer los enlaces permanentes es una solución rápida para el error 409 conflict de WordPress. Si tus URL no están configuradas correctamente o se corrompen —por ejemplo, tras un push de pruebas a producción en el que cambió el dominio—, pueden producir este error. Según nuestras pruebas, la Solución 3 (restablecer enlaces permanentes) resuelve el problema en la mayoría de los casos específicos de WordPress.

Inicia sesión en tu escritorio de WordPress, ve a Ajustes y haz clic en Enlaces permanentes.

Restablecer los enlaces permanentes de WordPress puede corregir rápidamente el error 404 Not Found.

En la página de enlaces permanentes, desplázate hacia abajo y haz clic en Guardar cambios sin ajustar nada.

Guardar los ajustes de enlaces permanentes de WordPress puede resolver el error 404 Not Found.

Al hacer clic en «Guardar cambios», WordPress actualiza y regenera tu archivo .htaccess, que controla cómo se gestionan las URL en tu sitio. Esto suele resolver los problemas en los que los enlaces permanentes se han corrompido. Como referencia, la pantalla de ajustes de Enlaces permanentes de WordPress está documentada en wordpress.org.

4. Desactivar plugins en conflicto

Cuando te encuentras con problemas de copia de seguridad o conflictos con plugins concretos en tu sitio WordPress, puede ser necesario desactivarlos temporalmente. Los conflictos de plugins —en particular cuando dos plugins escriben en la misma opción de la base de datos a la vez— son una fuente habitual de errores 409 en WordPress.

Al desactivar plugins, puedes aislar y diagnosticar el problema sin afectar a la funcionalidad general de tu sitio.

Así se hace:

  1. Accede a tu escritorio de administración de WordPress iniciando sesión en tu sitio.
escritorio de WordPress
  1. Ve a «Plugins» en el menú de la barra lateral y haz clic.
  2. Verás una lista de los plugins instalados.
comprobar los plugins instalados
  1. Selecciona los plugins que quieras desactivar marcando las casillas junto a sus nombres. Puedes elegir varios plugins a la vez.
comprobar las actualizaciones de plugins
  1. Una vez seleccionados los plugins, busca el menú desplegable «Acciones en lote» en la parte superior de la lista y elige «Desactivar».
  2. Haz clic en el botón «Aplicar» junto al menú desplegable.
desactivar plugins

Después de desactivar los plugins, actualiza tu sitio web para ver si los cambios aparecen al instante. Luego, reactiva los plugins uno a uno, actualizando tu sitio cada vez para localizar el problemático.

Repite este proceso hasta encontrar al culpable y considera actualizar, reemplazar o contactar con el desarrollador del plugin para pedir ayuda.

Recuerda: Degradar solo debería ser una solución temporal. Una vez que hayas resuelto el problema subyacente que provocó la reversión de la versión de WordPress, actualiza tu sitio cuanto antes. Mantener tu web actualizada garantiza un rendimiento y una seguridad óptimos, además del acceso a las últimas mejoras. Descuidar las actualizaciones puede exponer tu sitio a vulnerabilidades y problemas de compatibilidad. Así que, aunque degradar ofrece un alivio temporal, priorizar las actualizaciones a tiempo es crucial.

5. Degradar WordPress manualmente con FTP

El proceso de revertir manualmente una versión de WordPress se parece mucho a una instalación nueva. Los pasos para usar FTP y cPanel comparten muchas similitudes, así que podemos consolidar las instrucciones en una sola sección para tu comodidad.

  1. Empieza descargando la versión concreta de WordPress a la que quieres degradar desde el sitio web oficial de WordPress. En este tutorial, instalaremos un servidor con PHP 8.2, lo que hace de la versión 6.2 de WordPress nuestro objetivo para la degradación.
comprobación de la versión de PHP de WordPress
última versión de WordPress
  1. Tras descargar el archivo, extrae su contenido en tu ordenador. Dentro de los archivos extraídos encontrarás una carpeta llamada «WordPress».
archivos del núcleo de WordPress
  1. Usa un cliente FTP como FileZilla para establecer una conexión con el servidor de tu sitio web. Una vez conectado, verás dos paneles: el panel izquierdo es el explorador de archivos de tu ordenador local, mientras que el derecho es el explorador de archivos del servidor de tu sitio.
FileZilla
  1. Localiza en el cliente FTP el directorio que contiene la instalación de WordPress extraída. Desde el panel izquierdo (tus archivos locales), selecciona el directorio «wordpress» y arrástralo al panel derecho (el servidor de tu sitio). Esto iniciará el proceso de copia, que puede tardar unos minutos en completarse debido a la velocidad de transferencia relativamente lenta del protocolo FTP. Ten paciencia en este paso.
subidas de FileZilla
  1. Tras transferir el directorio correctamente, navega al directorio raíz de tu servidor, donde está instalado WordPress. Normalmente este directorio se llama «public» o «public_html». Sin embargo, tu configuración concreta puede variar. Por ejemplo, en nuestro caso el directorio raíz es «migratetester.dreamhosters.com».
  2. En el directorio raíz, localiza y elimina los directorios «wp-admin» y «wp-includes».
eliminar wp-admin y wp-includes con FileZilla
  1. Vuelve a la carpeta «wordpress» y mueve los directorios «wp-admin» y «wp-includes» al directorio raíz.
  2. Reúne los archivos sueltos restantes del directorio «wordpress» y transfiérelos al directorio raíz. No modifiques ni muevas la carpeta «wp-content» ni el archivo «wp-config», ya que deben permanecer intactos.
  3. A continuación, accede al directorio wp-includes y localiza el archivo version.php. Anota el número indicado para la variable $wp_db. Después, accede a la base de datos de tu sitio y localiza el valor db_version en la tabla wp_options. Si estos valores difieren, actualiza el valor de la base de datos para que coincida con el especificado en el archivo version.php. Guarda los cambios y sal de la interfaz de la base de datos.

6. Revisar la configuración del servidor

El error 409 conflict ocurre cuando el servidor bloquea el acceso a un recurso (URI) debido a métodos HTTP restringidos. Para resolverlo, revisa la configuración de tu servidor en busca de reglas de gestión de solicitudes o redirecciones mal configuradas que puedan estar causando el problema. Hemos observado 409 de configuración del servidor que aparecen tras migraciones de host.

Identifica el archivo de configuración correcto según el tipo de servidor. En servidores basados en Apache suele ser el archivo .htaccess, mientras que los servidores NGINX usan el archivo nginx.conf para gestionar las directivas.

7. Activar el modo de depuración

Activa el modo de depuración de WordPress para obtener mensajes de error más detallados. Abre el archivo «wp-config.php» de tu sitio y busca la línea que dice define( 'WP_DEBUG', false );. Cambia false por true, guarda el archivo y recarga tu sitio. Esto puede revelar errores o advertencias específicos que te ayuden a localizar el problema.

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

Lee más sobre cómo activar el modo de depuración de WordPress y debug.log.

Qué hacer si la solución no funciona

Si has recorrido las siete soluciones y el error 409 persiste, el siguiente paso es leer lo que te dice la salida de depuración.

Si el registro de depuración está vacío: el WP_DEBUG_LOG de WordPress solo registra errores a nivel de PHP. Un 409 en la capa HTTP —de una regla de reescritura del servidor o de una respuesta de la REST API— no aparecerá en debug.log. En ese caso, revisa directamente el registro de errores de tu servidor:

  • Hosting con cPanel: Inicia sesión en cPanel → Registros de errores, o busca un archivo error_log en el directorio raíz de tu sitio.
  • Acceso por SSH: Abre el registro de errores de Apache o NGINX de tu servidor. La ruta exacta del archivo depende de la configuración de tu host; consulta la documentación de tu host para localizarla.

Si el registro de depuración muestra un error fatal de PHP: Anota la ruta del archivo y el número de línea. Busca el nombre de la función combinado con «409» para determinar si un plugin es el origen, y luego vuelve a la Solución 4 centrándote en ese plugin concreto.

Si ningún registro muestra nada: El conflicto puede estar en la capa de la aplicación. Usa las DevTools de tu navegador → pestaña Red, reproduce el 409 e inspecciona el cuerpo de la respuesta: las respuestas de error de la REST API de WordPress incluyen un campo code que puede identificar el plugin o el endpoint de origen.

Conclusión

El error 409 Conflict es una señal de una discrepancia entre una solicitud del cliente y el estado actual de un recurso en el servidor. A menudo surge por problemas de concurrencia, duplicación de recursos o conflictos de control de versiones.

Al entender las causas raíz e implementar buenas prácticas como el control de versiones, la gestión de la concurrencia y las restricciones únicas, los desarrolladores pueden resolver y prevenir eficazmente los errores 409 Conflict.

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.