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が両方とも同じ場所にある場合、2つの異なる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

3

これはひどく無責任で、この「推測」が自動的に発生するようです。どちらのページに移動するのが適切かを定義する手段があれば、もっとオープンになります。

シーケンスとして構築されたページが多数あり、この自動推測は、開始ページではなく、シーケンスのどこかにある(ランダムに?)ページで誤って応答することを選択しています。

更新:これは既知の動作であり、ここで検討されています:https : //core.trac.wordpress.org/ticket/16557


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.