
Prueba esto en tu sitio: escribe la dirección de una entrada pero solo con el principio del slug, por ejemplo tudominio.cl/respaldo en vez de tudominio.cl/respaldo-wordpress-paso-a-paso/. Lo más probable es que WordPress te lleve a la entrada correcta.
Es una función llamada adivinar la URL en un 404: cuando una dirección no existe, WordPress busca en la base de datos un contenido publicado cuyo slug empiece con lo que escribiste, y redirige a él.
Cuándo ayuda
- Alguien copió mal un enlace y le faltan letras al final.
- Cambiaste el slug de una entrada y alguien usa una versión cortada.
Cuándo es un problema
- Redirige a contenido equivocado.
/contactolleva a/contacto-para-prensa-2019/en vez de mostrar un 404 que te avise del error. - Redirige a cosas que no deberían verse, como adjuntos o tipos de contenido públicos que no esperabas.
- Confunde a Google: URLs que nunca existieron responden con un 301 a contenido aleatorio, en lugar de un 404 limpio.
- Oculta errores: un enlace roto en tu menú «funciona» de casualidad y nunca te enteras.
Opción 1: que solo redirija si la coincidencia es exacta
Desde WordPress 5.5 hay un filtro para hacerlo estricto: solo redirige si encuentra un contenido cuyo slug sea exactamente el que se escribió (por ejemplo, una entrada que cambió de categoría o de fecha en la URL). Es el equilibrio recomendado:
<?php
add_filter( 'strict_redirect_guess_404_permalink', '__return_true' );
Opción 2: desactivar la adivinación por completo
Si prefieres que una URL que no existe muestre siempre un 404:
<?php
add_filter( 'do_redirect_guess_404_permalink', '__return_false' );
No desactives redirect_canonical completo (remove_filter( 'template_redirect', 'redirect_canonical' )), como sugieren algunas guías antiguas. Esa función también agrega la barra final, corrige www o sin www, y redirige las URLs de paginación y de entradas con parámetros a su versión correcta. Quitarla genera contenido duplicado.
Antes de cambiarlo: revisa qué se está adivinando
Si tu sitio tiene años, puede que haya enlaces externos que dependen de esas redirecciones. Para saber cuáles se están usando, este mu-plugin temporal registra cada redirección adivinada en el debug.log (con WP_DEBUG_LOG activado):
<?php
/**
* Plugin Name: Registro de URLs adivinadas (diagnóstico temporal)
*/
add_filter( 'redirect_canonical', function ( $destino, $pedida ) {
if ( $destino && is_404() ) {
error_log( sprintf( '[url adivinada] %s → %s', $pedida, $destino ) );
}
return $destino;
}, 10, 2 );
Déjalo una o dos semanas. Las redirecciones que se repiten y son correctas, conviértelas en redirecciones 301 fijas (en tu plugin de redirecciones o en el .htaccess). Luego activa la opción 1 o la 2 y borra este mu-plugin.
Comprueba
curl -sI https://tudominio.cl/respaldo | grep -iE "^(HTTP|location)"
Con la opción 1 o la 2, una dirección incompleta debería responder 404.
¿WordPress te redirige a una página que no tiene nada que ver? Cuéntanos en el foro qué URL escribiste y a dónde te llevó.





