そして再び永遠について:Wordpressの404ページの改善

こんにちは。 私は自分のアイデアを共有するためにこの記事を書いています(多分多くの人がそれをしているかもしれませんが-私は知りません)。

Wordpressのページが見つからないページのフォーマットを改善するための多くの記事がありますので、もう1つを理解することをお勧めします。



1.無効なページアドレス



投稿のアドレスがsite.com/post.htmlであり、ユーザーがsite.com/postまたはsite.com/postアクセスしたときに起こると思います。 この場合、エントリは見つかりません。 しかし、彼女はサイトにいます-ちょうど別のアドレスに!



したがって、間違ったアドレスのページから「正しい」アドレスへの301リダイレクトを行うことにしました。

(正規表現が苦手なことをすぐに認めたいので、できる限り問題を解決しました。批判の代わりに経験豊富なユーザーが、コードを改善および最適化するためにコメントにコメントを残していただければ、嬉しいです。)


404.phpファイルの最初に、コードを挿入します。

$link = $_SERVER['REQUEST_URI'];// get_permalink( $id, $leavename ); $pieces = explode("http://site.com", $link); $return = explode("/", $pieces[sizeof($pieces)-1]); header('HTTP/1.1 301 Moved Permanently'); header('Location: http://site.com/'.$return[1].'.html');
      
      





したがって、ページは正しいアドレスにリダイレクトされ、リダイレクトアドレスはブラウザのキャッシュに書き込まれます。



2.ランダムエントリ



多くは404ページで他のエントリを表示することをお勧めします。 私はそれに同意します。

出力ループコードを404.phpファイルに追加します。

 <?php query_posts('orderby=rand&showposts=10'); while ( have_posts() ) : the_post(); get_template_part( 'content', '404' ); ?>
      
      







3.今後の計画



残念ながら、私のアプローチはsite.com/post.htのようなアドレスを処理しません。将来的には正規表現を学び、この欠点を取り除くつもりです。



さらに、ランダムなレコードではなく、探しているレコードのように見えるレコードのみを表示することが適切です。

2行の類似度を比較するアルゴリズムはありますか? 誰かがそれらのいずれかを使用している場合、または単にそれらのいずれかに精通している場合は、共有していただければ幸いです。



All Articles