
🔗 Cómo restablecer los enlaces permanentes de WordPress: 3 formas de arreglar un error 404
Conoce la sensación: abre un sitio web y ve una pantalla blanca con el temido 404. La página de inicio carga bien, el panel de administración funciona, pero la entrada o página en sí no. Revisa la URL, vuelve a guardar la entrada, limpia la caché del plugin y nada ayuda.
Nueve de cada diez veces la causa raíz son las reglas de reescritura de WordPress dañadas. Los enlaces permanentes dejaron de resolverse y el CMS no logra determinar qué contenido mostrar en esa dirección. Buenas noticias: esto se puede arreglar en un minuto, sin plugins ni cambios de código.
A continuación presentamos tres métodos para restablecer los enlaces permanentes: desde el más simple (un par de clics en el panel de administración) hasta la intervención manual en la base de datos mediante phpMyAdmin. Tras el restablecimiento el error 404 desaparece y la estructura de URL permanece intacta.
💡 Resumen rápido:
- Vaya al panel de administración de WordPress y haga clic en «Guardar cambios» en la página de Enlaces permanentes.
- Añada una línea de código al archivo functions.php de su tema, refresque el sitio y elimine la línea.
- Limpie el campo rewrite_rules en la tabla wp_options mediante phpMyAdmin.
- Verifique el resultado: abra la página problemática y confirme que el 404 desapareció.
Qué son los enlaces permanentes y por qué necesita restablecerlos
Los enlaces permanentes son URL legibles para las páginas y entradas de WordPress. En lugar de ?p=123 usted ve /blog/how-to-reset-permalinks/. La transformación la gestiona el mecanismo de reglas de reescritura, un conjunto de reglas que el CMS almacena en la base de datos y (con ciertas configuraciones) en el archivo .htaccess.
Al añadir un nuevo tipo de entrada, cambiar la estructura de enlaces o después de migrar un sitio, las reglas de reescritura pueden no actualizarse automáticamente. WordPress sigue usando las antiguas reglas en caché y una página que existe físicamente devuelve 404. Un vaciado reconstruye forzosamente las reglas de reescritura desde cero: elimina las reglas almacenadas y genera las actuales.
Esto no es «eliminar» los enlaces permanentes; la estructura de URL definida en los ajustes permanece sin cambios. Solo cambia la caché interna de reglas de enrutamiento. La operación es completamente segura: los temas, plugins y contenido no se ven afectados.
Método 1. A través del escritorio de WordPress
El método más rápido y seguro es restablecer mediante el panel de administración. Úselo cuando el escritorio esté accesible.
- Inicie sesión en la consola de WordPress:
your-site.com/wp-admin. - Vaya a Ajustes → Enlaces permanentes.
- No modifique nada en los ajustes, solo desplace la página hacia abajo.
- Haga clic en el botón azul «Guardar cambios».

WordPress reconstruirá silenciosamente las reglas de reescritura y actualizará .htaccess (si se utiliza). No aparecerá ninguna notificación de éxito; simplemente abra la página problemática en una nueva pestaña del navegador y compruebe si el error desapareció.
¿Por qué funciona esto? Cuando hace clic en «Guardar cambios» el CMS llama a la función interna flush_rewrite_rules(), la misma que los desarrolladores usan en el código. La única diferencia es cómo se activa: aquí hace clic con el ratón en lugar de escribir PHP.
Este método resuelve el problema en la gran mayoría de los casos. Si no ayudó, proceda al método 2.
Método 2. A través del archivo functions.php del tema
Si el panel de administración no carga o el botón «Guardar» no produjo resultado, restablezca las reglas mediante programación. Necesitará acceso a los archivos del sitio: vía FTP, el gestor de archivos del hosting o el editor de temas integrado.
Importante: flush_rewrite_rules() es una operación costosa. Reconstruye toda la estructura de URL y ralentiza notablemente el sitio si se llama en cada visita. Por lo tanto añadiremos la función una sola vez, refrescaremos el sitio y eliminaremos la línea inmediatamente.
- Abra el archivo
functions.phpdel tema activo. Ruta:/wp-content/themes/your-theme/functions.php. - Al final del archivo, antes del cierre
?>(si está presente), añada una línea:
1 flush_rewrite_rules();
- Guarde el archivo.
- Refresque cualquier página del sitio en el navegador; la función se ejecutará en la primera visita.
- Abra
functions.phpde nuevo y elimine la línea que añadió. Este paso es obligatorio.

La función se ejecutó una vez, las reglas se reconstruyeron, el código se eliminó y el sitio funciona con normalidad sin carga adicional. Los desarrolladores de plugins usan el mismo enfoque: flush_rewrite_rules() se engancha al gancho de activación, no a cada solicitud.
Una alternativa para quienes prefieren no tocar functions.php directamente: el plugin Code Snippets. Cree un nuevo fragmento con el mismo código, ejecútelo una vez (el botón «Ejecutar») y elimínelo. El resultado es idéntico.
Método 3. A través de phpMyAdmin, restablecimiento directo de reglas en la base de datos
El nivel más profundo es limpiar manualmente las reglas de reescritura directamente en la tabla wp_options. Use esto cuando no tenga acceso ni al panel de administración ni a los archivos del tema (por ejemplo, una pantalla blanca de la muerte en todo el sitio salvo en la base de datos).
Asegúrese de hacer una copia de seguridad de la base de datos antes de realizar cambios en phpMyAdmin. Una sola acción incorrecta en el editor SQL puede dañar el sitio de forma irreversible.
- Abra phpMyAdmin a través del panel de su hosting (cPanel, ISPmanager, DirectAdmin) en la sección «Bases de datos».
- En la columna izquierda seleccione la base de datos de su sitio WordPress.
- Vaya a la pestaña SQL en el menú superior.
- Pegue la consulta en el campo de texto y haga clic en «Continuar»:
1 SELECT * FROM wp_options WHERE option_name = 'rewrite_rules'
- Los resultados mostrarán una sola fila. Haga clic en «Editar» (el icono del lápiz) junto a ella.
- Busque el campo
option_valueque contiene un texto largo con datos serializados. Seleccione todo el contenido del campo y elimínelo, luego guarde.

En la siguiente carga de página WordPress detectará el valor vacío de rewrite_rules, se dará cuenta de que no hay reglas y las regenerará automáticamente. No necesita ejecutar nada más.
Nota: en algunas configuraciones de hosting el prefijo de la tabla puede diferir de wp_. Si su prefijo es diferente (por ejemplo, wpxy_), reemplace wp_options por wpxy_options. Puede verificar el prefijo en el archivo wp-config.php, en la línea $table_prefix.
Video: restablecimiento de enlaces permanentes en la práctica
Si prefiere ver en lugar de leer, este video demuestra todo el proceso de restablecimiento de enlaces permanentes usando el primer método, desde el inicio de sesión en el panel de administración hasta la verificación del resultado:
⁉️🤔 Preguntas frecuentes
¿Mis URL desaparecerán después de restablecer los enlaces permanentes?
No. Un vaciado no cambia la estructura de enlaces definida en «Ajustes → Enlaces permanentes». Solo reconstruye la caché interna de reglas de enrutamiento. Todas sus direcciones como
/blog/,/product/y/category/permanecerán exactamente igual. La excepción es si cambió manualmente la estructura en los ajustes antes de guardar; en ese caso las URL se reconstruirán según la nueva plantilla.
¿Necesito instalar un plugin para restablecer los enlaces permanentes?
Para una operación puntual, definitivamente no. Los tres métodos anteriores cubren todos los escenarios sin software adicional. Plugins como Rewrite Rules Inspector tienen sentido solo si registra regularmente tipos de entrada y taxonomías personalizadas en código y desea ver el estado de las reglas en tiempo real. Para una simple corrección de 404 esto es excesivo.
El restablecimiento mediante el panel de administración no ayudó. ¿Qué sigue?
Compruebe si el archivo
.htaccessestá siendo sobrescrito por otro plugin (caché, seguridad, SEO). Desactive temporalmente los plugins sospechosos y repita el restablecimiento. Si eso no ayuda, proceda al método 2 (PHP); este garantiza llamar a la misma funciónflush_rewrite_rules()evitando cualquier filtro del administrador.
¿Puedo restablecer las reglas mediante WP-CLI?
Sí, si WP-CLI está instalado en el servidor el comando
wp rewrite flushhace exactamente lo mismo desde la línea de comandos. Este es el método más rápido para desarrolladores que trabajan vía SSH. Se ejecuta instantáneamente, no requiere abrir un navegador y no deja rastros en el código del tema.
¿Qué debo hacer si el error 404 persiste después del restablecimiento?
La causa no son los enlaces permanentes. Revise tres cosas: (1) si la página o entrada en sí fue eliminada físicamente, (2) si el slug entra en conflicto con otro contenido o una taxonomía, (3) si las solicitudes están bloqueadas por un archivo
.htaccesscon reglas de redirección incorrectas. En este último caso, renombre temporalmente.htaccessa.htaccess.bak, guarde los enlaces permanentes mediante el panel de administración (WordPress creará un nuevo.htaccess) y verifique de nuevo.
Restableció los enlaces, ¿y ahora qué?
Realizó el restablecimiento usando uno de los tres métodos y la página abrió. Excelente. Pero si un 404 apareció una vez, puede volver: después de una actualización de plugin, un cambio de tema o ediciones en tipos de entrada personalizados. Marque esta guía como favorita; ahora conoce de memoria el primer método (el botón «Guardar» en el panel de administración) y puede completarlo en diez segundos.
Y la regla principal al trabajar con la base de datos: antes de cualquier intervención, haga una copia de seguridad. phpMyAdmin no perdona los errores, pero una copia de seguridad de la base de datos devuelve el sitio a la vida en un par de minutos.



