Wordpress URL 자동 완성 비활성화


15

최근에 Wordpress가 URL을 완전히 제출하지 않은 경우 자동 완성을 시도하는 것으로 나타났습니다. 예를 들어 다음과 같은 게시물 URL이 있습니다.

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

다음 URL을 탐색하면

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

URL이 Wordpress에 제출되었지만 Wordpress에서 301 리디렉션을 수행하고 있음을 알 수 http://www.mysite.com/some-post-title있습니다.

이 동작을 어떻게 비활성화 할 수 있습니까?


전체 표준 URL 시스템을 비활성화하지 않고 자동 완성 "추측"부분 만 비활성화하는 테스트 된 솔루션이 여기
Hauke ​​P.

답변:


19

나는 그것이 그 redirect_canonical기능에 달려 있다고 믿는다 template_redirect. 다음을 사용하여 비활성화 할 수 있어야합니다.

remove_filter('template_redirect', 'redirect_canonical'); 

그러나 상당히 복잡하고 몇 가지 중요한 SEO 기능을 수행하기 때문에 그렇게하고 싶은지 실제로 생각해야합니다.

사이트 URL을 기준으로 들어오는 링크를 올바른 URL로 리디렉션합니다.

검색 엔진은 www.somedomain.com과 somedomain.com이 모두 같은 위치로 이동할 때 두 개의 다른 URL로 간주합니다. 이 SEO 향상 기능은 들어오는 모든 링크를 다른 것으로 리디렉션하여 중복 컨텐츠에 대한 페널티를 방지합니다.

피드, 트랙백, 검색, 댓글 팝업 및 관리 URL에 대한 리디렉션을 방지합니다. 비-퍼머 링크 지원 IIS 7, 페이지 / 포스트 미리보기, WP 관리자, 트랙백, robots.txt, 검색 또는 POST 요청에서 리디렉션하지 않습니다.

사용자가 정확한 WordPress 쿼리를 기반으로 존재하지 않는 URL을 입력하면 올바른 링크를 찾으려고 시도합니다. 대신 올바른 페이지를 파악하기 위해 URL 또는 쿼리를 구문 분석하려고 시도합니다.

http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/canonical.php#L13

다음 SEO 구성 요소를 망칠 필요없이 자동 완성을 죽일 수는 있지만 약속 할 수는 없습니다. 이 기능 을 비활성화하기를 원하지 않았으므로 코드는 거의 테스트 되지 않았습니다. 나는 정말로 redirect_canonical무엇이든 확신 하기 위해 공부 해야 할 것입니다.

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);

이 코드 스 니펫을 /wp-includes/canonical.php 파일 끝에 추가했는데 리디렉션이 계속 발생합니다. 내가 뭔가 잘못하고 있습니까? 다른 사람이이 동작을 비활성화 할 수 없습니까?
user1380540 2016 년

3

이 "추측"이 자동으로 발생하게하는 것은 무책임한 것처럼 보입니다. 올바른 페이지를 정의하는 수단이 있다면 훨씬 더 개방적입니다.

시퀀스로 작성된 수많은 페이지가 있으며이 자동 추측은 시작 페이지와 달리 시퀀스의 어딘가에있는 페이지 (무작위로?)로 잘못 응답하도록 선택합니다.

업데이트 : 이것은 알려진 동작이며 여기에서 고려됩니다 : https://core.trac.wordpress.org/ticket/16557


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.