Deshabilitar Wordpress URL auto complete

12

Hace poco noté que Wordpress intenta completar automáticamente una URL cuando no se envía en su totalidad. P.ej. Tengo una URL de publicación que se ve así:

http://www.mysite.com/some-post-title

Si navego a la siguiente URL:

http://www.mysite.com/some-post-ti

Puedo ver que la URL se envía a Wordpress pero que Wordpress está haciendo una redirección 301 a http://www.mysite.com/some-post-title .

¿Cómo puedo deshabilitar este comportamiento?

    
pregunta Luke 24.03.2013 - 03:59

3 respuestas

15

Creo que es la función redirect_canonical enlazada a template_redirect . Deberías poder desactivarlo con:

remove_filter('template_redirect', 'redirect_canonical'); 

Pero realmente debes pensar si quieres hacerlo ya que es bastante complicado y realiza algunas funciones importantes de SEO:

  

Redirige los enlaces entrantes a la URL adecuada según la url del sitio.

     

Los motores de búsqueda consideran www.somedomain.com y somedomain.com como   dos URL diferentes cuando ambos van a la misma ubicación. Este SEO   la mejora evita la penalización por contenido duplicado redirigiendo todos   enlaces entrantes a uno u otro.

     

Evita la redirección de feeds, trackbacks, búsquedas, ventanas emergentes de comentarios,   y URL de administración. No redirecciona en no-bastante-permalink-support   IIS 7, vistas previas de página / publicación, WP admin, Trackbacks, robots.txt, búsquedas,   o en las solicitudes POST.

     

También intentará encontrar el enlace correcto cuando un usuario ingrese una URL   Eso no existe basado en la consulta exacta de WordPress. En su lugar intentará   para analizar la URL o la consulta en un intento de calcular la página correcta   ir a.

     

enlace

El siguiente might elimina el autocompletado sin alterar el componente SEO, pero no puedo prometerlo. El código apenas se ha probado , ya que nunca he deseado deshabilitarlo. Realmente tendría que estudiar redirect_canonical para estar seguro de cualquier cosa.

function kill_404_redirect_wpse_92103() {
  if (is_404()) {
   add_action('redirect_canonical','__return_false');
  }
}
add_action('template_redirect','kill_404_redirect_wpse_92103',1);
    
respondido por el s_ha_dum 24.03.2013 - 04:49
2

Esto parece terriblemente irresponsable, que esta "adivinación" ocurra automáticamente. Estaría mucho más abierto a ello si hubiera algún medio para definir cuál era la página correcta para ir.

Tengo numerosas páginas que se crean como una secuencia, y esta auto-adivinación está eligiendo incorrectamente responder con páginas que están (¿al azar?) en algún lugar de la secuencia, a diferencia de la página de inicio.

ACTUALIZACIÓN: este es un comportamiento conocido y se está considerando aquí: enlace

    
respondido por el FitPM 28.07.2014 - 15:51
1

Como seguimiento a la respuesta de FitPM, se ha creado un complemento que desactiva el comportamiento de adivinación automática.

A mí me funciona bien en Wordpress 4.8 a partir del 2 de agosto de 2017. El complemento está aquí: enlace

    
respondido por el wrydere 02.08.2017 - 20:03

Lea otras preguntas en las etiquetas