404ページ色々

  • CAUTION
  • 1年以上
  • 古い記事

こんにちは。

404ページとは、ページの削除やURLの変更などで存在しなくなってしまったページにアクセスした際に表示されるページです。

よく、「過去の記事をチェック!」みたいな文言でアンダーラインが引かれているテキストをタップした先で「ページが見つかりません」と表示されるアレの事です。

今回はWordPressにおける404ページについて学んだ事を綴っていきます。

テンプレートファイル

テンプレートファイルはページの種類によって使い分けができるひな形のファイルです。

例えば、サイトのトップページでは「front-page.php」、固定ページでは「page.php」が優先で使用されます。
該当するテンプレートファイルがない場合はindex.phpが使用されます。

404ページでは「404.php」という名前のファイルがあれば優先して使用されます。
404ページで表示するメッセージなどの内容はWordPressの管理画面で編集できないので404.phpを編集していきます。

404.phpの例

404.phpの例を書いていきます。

私は404.phpを作る際、ベースはindex.phpや固定ページで使用されるpage.phpを使います。
まずはpage.phpの例を書いていきます。

page.php

<?php
get_header();
if(have_posts()){ while(have_posts()){ the_post();
?>
<main>
	<article>
    	<h1 class="entry-title">
			<?php the_title(); ?>
		</h1>
    	<div class="entry-content">
			<?php the_content(); ?>
		</div>
	</article>
</main>
<?php }} ?>
<?php get_footer(); ?>

the_title()はページのタイトルを表示し、the_content()はページの本文を表示します。

表示する内容を指定できるのは主にここの部分なので、この2つが書かれているところを編集します。

404.php

<?php
get_header();
if(have_posts()){ while(have_posts()){ the_post();
?>
<main>
	<article>
    	<h1 class="entry-title">
			お探しの記事は見つかりませんでした
		</h1>
    	<div class="entry-content">
			<p>大変申し訳ございませんが、
ご指定の記事はすでに削除されているか、URLが変更されている可能性があります。</p> <p>恐れ入りますが、URLのご確認をお願いいたします。</p> </div> </article> </main> <?php }} ?> <?php get_footer(); ?>

これを有効化しているテーマフォルダに入れれば、この作成した404.phpが参照されるようになります。

タイトルを変更する方法

先ほど作成した404.phpですが、実際に使ってみると気になる点が出てくると思います。

画面に表示されているタイトルとページのタイトルが違います

画面に表示されているタイトルは「お探しの記事は見つかりませんでした」ですが、ページのタイトルは「ページが見つかりませんでした」となっています。

404.phpを編集して、表示するタイトルを「ページが見つかりませんでした」に合わせれば解決するのですが、ページのタイトルを変更したい場合もありますよね。

document_title_parts

404ページのタイトルを変更する場合は、document_title_partsフィルターフックを使います。

functions.phpに以下を追記↓
(「my_function」は任意の関数名)

function my_function($title){
    if(is_404()){
		$title['title'] = 'お探しの記事は見つかりませんでした';
    }
    return $title;
}
add_filter( 'document_title_parts', 'my_function');

これでページのタイトルを「お探しの記事は見つかりませんでした」に変更できます。

まとめ

document_title_partsフィルターフックは404ページのタイトルを変更する以外にも使い道があるようです。
また出番があったら使ってみたいですね。

404ページがしっかり設定されているWebサイトは、閲覧者の方々にも良い印象を受けると思います。
(一番はリンク切れが起こらない事が理想だと思いますが。)

404ページ以外にも検索結果ページで検索結果が0件だった場合や、お問い合わせフォームのエラーページ等、様々なシチュエーションを考えて細かくWebサイト作りを心がけていきたいです。

この記事を読んでいただきありがとうございました。
あなたのお役に立てれば幸いです。ではまた。