Desativar o preenchimento automático do URL do Wordpress

12

Recentemente, notei que o Wordpress tenta preencher automaticamente um URL quando não é enviado em sua totalidade. Por exemplo. Eu tenho um URL de postagem que se parece com isso:

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

Se eu navegar para o seguinte URL:

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

Posso ver que o URL é enviado para o Wordpress, mas o Wordpress está fazendo um redirecionamento 301 para http://www.mysite.com/some-post-title .

Como posso desativar esse comportamento?

    
por Luke 24.03.2013 / 03:59

3 respostas

15

Acredito que essa é a função redirect_canonical conectada a template_redirect . Você deve ser capaz de desativá-lo com:

remove_filter('template_redirect', 'redirect_canonical'); 

Mas você deve realmente pensar se quer fazer isso, pois é bastante complicado e executa algumas funções importantes de SEO:

  

Redireciona links de entrada para o URL adequado com base no URL do site.

     

Os mecanismos de pesquisa consideram www.somedomain.com e somedomain.com como   dois URLs diferentes quando ambos vão para o mesmo local. Este SEO   O aprimoramento impede a penalidade de conteúdo duplicado ao redirecionar   links de entrada para um ou outro.

     

Impede o redirecionamento de feeds, trackbacks, pesquisas, pop-ups de comentários   e URLs de administrador. Não redireciona em não-bonito-permalink-suportando   IIS 7, visualizações de página / postagem, administrador do WP, trackbacks, robots.txt, pesquisas,   ou em solicitações POST.

     

Também tentará encontrar o link correto quando um usuário inserir um URL   que não existe com base na consulta exata do WordPress. Em vez disso, tentará   para analisar o URL ou consulta em uma tentativa de descobrir a página correta para   vá para.

     

enlace

Os seguintes podem eliminar o preenchimento automático sem mexer no componente SEO, mas não posso prometer isso. O código mal é testado porque eu nunca quis desabilitar isso. Eu realmente tenho que estudar redirect_canonical para ter certeza de qualquer coisa.

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);
    
por s_ha_dum 24.03.2013 / 04:49
2

Isso parece terrivelmente irresponsável, para que essa "adivinhação" ocorra automaticamente. Eu ficaria muito mais aberto se houvesse algum meio de definir qual era a página correta para ir.

Eu tenho várias páginas que são construídas como uma sequência, e essa auto-adivinhação está incorretamente escolhendo responder com páginas que são (aleatoriamente?) em algum lugar na sequência, ao contrário da página inicial.

ATUALIZAÇÃO: Esse é um comportamento conhecido e está sendo considerado aqui: enlace

    
por FitPM 28.07.2014 / 15:51
1

Como acompanhamento da resposta da FitPM - foi criado um plug-in que desativa o comportamento de adivinhação automática.

Funciona bem para mim no Wordpress 4.8 a partir de 2 de agosto de 2017. O plugin está aqui: enlace

    
por wrydere 02.08.2017 / 20:03

Tags