ベストセラー人気 WordPress テーマTop 30 詳細

[WordPressページが存在しない場合(404エラー)のホームページに移動させる

Last Updated:2017年3月21日| コメントを残す

概要

WordPressユーザーがいないリンクを入力するか、リンクが壊れたページ/文をクリックすると、404ページなし(Page not Found)ページが表示されます。 しかし、最近にガッビアーノにウェブホスティングを利用している WordPress ブログで404ページが表示されずガッビアーノで提供される404ページが表示さなるのではない? テーマが提供する404ページが正常に動作していないか、または他の問題があるのか​​分からないですね。 だから404.phpファイルを変更して、404ページを呼び出すと、すぐにホームページに移動させるスクリプトを入れたことがあります。

WordPress ページフォールト(404エラー)

404エラー時のホームページに移動(リダイレクト)させる

この作業には、 wp redirect 関数を利用したコードを付けることもできますが、次のようなコードを404.phpページを置き換えました。 (テーマ404.phpファイルがない場合は一つに作成できます。)

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".get_bloginfo('url'));
exit();
?>

ホームページの代わりに他のリンクにリダイレクトさせることも可能です(header()関数は、 ここ を参照)。

404エラー時に多少遅延させた後、ホームページにリダイレクトさせる

別の方法として、現在使用されているブログではないページをユーザーが訪問した場合、一度「Page not Found」が表示される404ページが表示され、約3秒後にホームページに移動するようにコードを追加しました。 少し遅れさせてリダイレクトさせたい場合には、いくつかの方法があるが、次のようなコードをheader.phpファイルに追加しました。

<?php if ( is_404() ) : ?>
<meta http-equiv="refresh" content="3;url=<?php echo esc_url( home_url( '/' ) ); ?>" />
<?php endif; ?>

上記のコードをheader.phpファイルの適切な場所に追加してもしますが、テーマファイルを修正することが、今後の維持管理面で不便がありますので wp_head アクションを使用して WordPress ... の間にコードを入れることも可能です。 その場合には、

// In case of 404 Page Not Found, the following code will redirect users to home page with 3 seconds delay

add_action('wp_head','hook_404');
function hook_404() {
?>
<?php if ( is_404() ) : ?>
<meta http-equiv="refresh" content="3;url=<?php echo esc_url( home_url( '/' ) ); ?>" /> // Please change "3" to the one you want
<?php endif; ?>
<?php
}

上記のようなコードを WordPress 関数ファイルに追加します。

メモ:



コメントを残す

コメント

WordPress Naver カフェを訪れる

ありがとうございます!