
🔗 Cómo arreglar los enlaces permanentes rotos de WordPress
Visita un sitio, hace clic en un enlace hacia un artículo nuevo y, en lugar de texto, ve una página en blanco con «404 Page Not Found». Una imagen familiar.
Los enlaces permanentes en WordPress se construyen de forma simple, pero se rompen con una facilidad alarmante. Un plugin defectuoso, una actualización fallida o un cambio accidental en .htaccess bastan para que todo el sitio se convierta en una colección de URL rotas. Según el foro oficial de soporte de WordPress, los errores de estructura de enlaces permanentes están entre los cinco problemas más frecuentes.
A continuación presentamos un algoritmo de diagnóstico y reparación, desde un restablecimiento rápido de ajustes hasta la edición manual de configuraciones del servidor. Cada paso ha sido probado en sitios reales. Cancele el pánico.
💡 Resumen rápido:
- Restablezca la configuración de enlaces permanentes en el panel de administración con un clic: en la mayoría de los sitios el problema desaparece al instante
- Si el restablecimiento no funcionó, renombre
.htaccessy restablezca de nuevo: WordPress creará un archivo limpio con las reglas de reescritura correctas - Revise los plugins por eliminación: desactívelos todos a la vez y actívelos uno por uno después de cada restablecimiento de enlaces permanentes
- En servidor Apache, habilite manualmente
mod_rewritey añadaAllowOverride Allen la configuración del host virtual
Por qué dejan de funcionar los enlaces permanentes de WordPress
Un enlace permanente es una URL inmutable para una entrada, página o categoría. WordPress almacena la estructura de enlaces permanentes en la base de datos y sirve las URL «amigables» a través del módulo mod_rewrite del servidor web Apache. Una ruptura en cualquier eslabón de esta cadena produce un error 404.
Instalación de un plugin nuevo. Algunos plugins interfieren con el mecanismo de formación de URL: reescriben .htaccess, añaden sus propias reglas de redirección o entran en conflicto con extensiones ya activas. Los plugins de SEO, las soluciones de caché y los plugins de seguridad están en una zona de riesgo especial, ya que todos trabajan con las URL a bajo nivel.
Actualización del núcleo, el tema o los plugins. Una actualización mayor de WordPress o un cambio de versión de PHP en el alojamiento vuelve incompatibles los plugins antiguos. El resultado es un conflicto que rompe las reglas de reescritura. No se pueden omitir las actualizaciones de seguridad, pero antes de cada actualización mayor haga una copia de seguridad y compruebe la compatibilidad en una copia de pruebas.
Migración del sitio a un nuevo dominio o servidor. La migración de WordPress es una de las causas más comunes de enlaces rotos. Cambian las rutas absolutas, los datos serializados en la base de datos y la configuración del servidor web. Incluso añadir un certificado SSL después de la migración puede romper los enlaces permanentes, porque requiere editar .htaccess para la redirección HTTP→HTTPS. Si recientemente movió una instalación de WordPress a un subdirectorio, verifique la estructura de enlaces permanentes inmediatamente después de la migración.
Restauración de una copia de seguridad. Restaurar un sitio desde una copia de seguridad a veces también resucita viejos problemas. Si la copia se hizo antes de configurar los enlaces permanentes, los errores 404 regresan. Incluso los plugins de respaldo avanzados no garantizan una restauración perfecta de las reglas de reescritura después de migraciones complejas.
Archivo .htaccess dañado. El archivo .htaccess es el vínculo entre WordPress y Apache. Almacena las directivas de mod_rewrite responsables de las URL «amigables». Un plugin escribe basura, usted borra accidentalmente el archivo por FTP y algunos paneles de alojamiento lo restablecen al cambiar ajustes. Sin un .htaccess funcional, los enlaces permanentes se convierten en ?p=123.
Cómo reparar enlaces permanentes rotos: guía paso a paso
Ya cubrimos las causas, ahora pasemos a las soluciones. Avance en orden: aplique cada paso siguiente solo si el anterior no funcionó.
Paso 1. Restablecer la configuración de enlaces permanentes
El método más rápido y seguro. WordPress almacena la estructura de enlaces permanentes en la base de datos y, al guardar la configuración, regenera las reglas de reescritura. Los desarrolladores llaman a este proceso «flush rewrite rules».
Vaya al panel de administración, diríjase a Ajustes → Enlaces permanentes:

Cambie temporalmente a cualquier otra estructura, por ejemplo, «Simple» en lugar de «Nombre de la entrada», y haga clic en Guardar cambios. Luego vuelva a la opción original y guarde de nuevo. No necesita cambiar la configuración de forma permanente: lo que importa es el hecho de guardar, que obliga a WordPress a reconstruir las reglas.
Recargue el sitio y compruebe si las entradas abren. ¿Funciona? Problema resuelto. Si no, continúe.
Paso 2. Verificar y recrear el archivo.htaccess
Si el restablecimiento no ayudó, el origen del problema está casi con toda seguridad en .htaccess. El archivo se encuentra en la raíz del sitio, en el mismo lugar que wp-config.php y las carpetas wp-content e wp-includes.

Conéctese al servidor por FTP (FileZilla, WinSCP) o mediante el gestor de archivos del panel de alojamiento:

Encuentre .htaccess, haga clic derecho y renómbrelo a .htaccess_old. No elimine el archivo, puede contener reglas críticas como la redirección HTTP→HTTPS o ajustes de compresión:

Después de renombrarlo, WordPress deja de ver el archivo antiguo. Vaya al panel de administración y restablezca los enlaces permanentes como en el Paso 1; el sistema creará un .htaccess nuevo y limpio con las reglas de reescritura correctas. Conserve el archivo antiguo como copia de seguridad.
Paso 3. Encontrar el plugin conflictivo
¿Apareció el problema después de instalar un plugin específico? Desactívelo y restablezca los enlaces permanentes de nuevo; lo más probable es que eso sea suficiente.
Cuando se desconoce al culpable, use el método de eliminación:

Desactive todos los plugins a la vez. Restablezca los enlaces permanentes. Revise el sitio: si funciona, el problema está en uno de los plugins. Actívelos uno por uno, restableciendo la configuración y revisando el sitio después de cada uno. El plugin tras el cual los enlaces vuelven a romperse es la causa.
Sustituya el plugin conflictivo encontrado por una alternativa del directorio de WordPress.org. Informe del problema al desarrollador: a menudo conocen las incompatibilidades y pueden sugerir una solución alternativa.
Paso 4. Configurar el servidor: AllowOverride y mod_rewrite
Si los pasos anteriores no ayudaron y está usando Apache, el problema puede estar en la configuración del host virtual.
Primero, asegúrese de que el módulo mod_rewrite esté habilitado. Es lo que transforma las URL «amigables» en consultas que WordPress entiende. Verifíquelo y actívelo con el comando:
1 sudo a2enmod rewrite
Si el módulo ya estaba habilitado, aparecerá una advertencia, es normal. Ahora reinicie Apache:
1 sudo systemctl restart apache2
En CentOS/RHEL el comando de reinicio es diferente:
1 sudo systemctl restart httpd
El segundo componente necesario es la directiva AllowOverride All. Permite que el archivo .htaccess anule la configuración del servidor dentro del directorio del sitio. Abra el archivo de configuración de Apache: en Ubuntu es /etc/apache2/sites-available/your-site.conf, en CentOS es /etc/httpd/conf/httpd.conf. Encuentre la sección <Directory> y déjela con esta forma:
1 <Directory /var/www/your-site/> 2 AllowOverride All 3 </Directory>
Sustituya la ruta /var/www/your-site/ por la ruta real a la carpeta raíz de WordPress en su servidor. Después de editar, reinicie Apache con el comando anterior y luego restablezca los enlaces permanentes en el panel de administración.
Estas dos acciones del servidor, AllowOverride All más mod_rewrite, cierran prácticamente todos los escenarios restantes de enlaces permanentes rotos en Apache.
Video: restauración de enlaces permanentes paso a paso
Si prefiere ver en lugar de leer, aquí tiene una guía breve que muestra todo el proceso, desde restablecer la configuración de enlaces permanentes hasta restaurar .htaccess en un sitio real:
⁉️🤔 Preguntas frecuentes
¿Por qué persiste el error 404 después de restablecer los enlaces permanentes?
Restablecer a través del panel de administración reescribe las reglas de reescritura en la base de datos. Pero si
.htaccesses físicamente inaccesible para escritura, permisos de acceso incorrectos, WordPress no puede actualizar el archivo en el servidor. Verifique los permisos: normalmente se requieren 755 para directorios y 644 para archivos. Asegúrese también de que.htaccessexista físicamente: después de renombrarlo en el Paso 2, WordPress crea uno nuevo en el siguiente restablecimiento. El restablecimiento en sí no cambia las URL de las entradas existentes ni rompe la indexación.
¿Puedo simplemente eliminar.htaccess?
No. Sin
.htaccessen un servidor Apache, WordPress recurre a enlaces «simples» como?p=123, lo cual es antiestético y perjudica el SEO. El orden correcto: renombre el archivo antiguo conservando una copia de seguridad, luego restablezca la configuración de enlaces permanentes en el panel de administración. WordPress creará un nuevo.htaccessautomáticamente. Nunca elimine el archivo sin posibilidad de restaurarlo: puede contener reglas críticas de redirección HTTP→HTTPS o ajustes de compresión.
¿Qué hacer si el sitio está en Nginx?
En Nginx no existe el archivo
.htaccess; todas las reglas de reescritura se escriben en la configuración del servidor. El bloque estándar para WordPress:location / { try_files $uri $uri/ /index.php?$args; }. Verifique el archivo de configuración del sitio (normalmente/etc/nginx/sites-available/your-site), añada este bloque a la secciónservery recargue Nginx:sudo systemctl reload nginx. Los pasos 1 y 3, restablecer enlaces y revisar plugins, funcionan para Nginx exactamente igual que para Apache.
¿Qué plugin rompe con más frecuencia los enlaces permanentes?
Estadísticamente, lideran los plugins de SEO, que manipulan directamente las URL, y las soluciones de caché: crean copias estáticas de las páginas y pueden «recordar» la versión rota. En tercer lugar están los plugins de seguridad que modifican
.htaccesspara bloquear solicitudes sospechosas. Después de desactivar un plugin de caché, asegúrese de limpiar la caché del navegador o abra el sitio en modo incógnito; puede mostrarse una versión estática en caché con error 404 incluso después de la reparación.
¿Necesito verificar la integridad de la base de datos?
En casos raros, la causa es una tabla
wp_optionsdañada donde se almacena la configuración de enlaces permanentes. Si ninguno de los métodos descritos ayudó, vaya a phpMyAdmin, busque la tablawp_optionsy verifique la entrada conoption_name = 'rewrite_rules'. Si el valor parece basura o un objeto serializado corrupto, elimine esta entrada y luego restablezca la configuración de enlaces permanentes en el panel de administración. WordPress recreará las reglas de reescritura desde cero. La mayoría de los usuarios no necesitarán este paso: la inmensa mayoría de los problemas se resuelven con los métodos 1 a 3.
Qué hacer si nada ayudó
Hemos recorrido desde un simple restablecimiento de ajustes hasta la configuración del servidor Apache y Nginx. Para la absoluta mayoría de los sitios, uno de estos métodos cierra el problema.
Si los errores 404 persisten, contacte al soporte técnico de su alojamiento. Describa el problema y enumere los pasos que ya ha realizado. A menudo la causa está en las particularidades del entorno de alojamiento: mod_rewrite deshabilitado a nivel del proveedor, configuración no estándar de PHP-FPM o reglas de firewall personalizadas que bloquean las solicitudes a index.php. El soporte del alojamiento ve el lado del servidor que está oculto para usted y resuelve estos problemas en minutos.
La regla principal que vale la pena recordar: restablezca enlaces permanentes → renombre.htaccess → restablezca de nuevo. Esta secuencia de dos acciones soluciona la mayoría de los casos y no requiere ni conocimientos especiales ni acceso al servidor. Comience por ella la próxima vez y lo más probable es que no necesite ir más lejos.



