【WordPress自作テーマ】404ページって何?404ページを表示する方法 #2

前回からWordPressの自作テーマ作っています。
もちといいます!覚えていってもらえたら幸いです。

今回は404ページを作っていきます!

そもそも404ページとは

404 Not Foundなんて表示みなさんもどこかで見たことがあるんじゃないでしょうか?

この表示はアクセスされたURLにコンテンツがない場合によく出てくるのですが、そもそも404とはエラーの番号であり、http・https通信において発生するエラーの404番という意味です。

404ページはエラーが起きているページにアクセスしたときに出てくるページです。

Amazonなどで404が出るときは犬の画像がでてきますよね。

404ページアマゾンの例

このページです、

コンテンツが消去されていてもともとのURLにアクセスしても表示するものがない時や、ユーザーが誤ったURLにアクセスすると出てきます。

WordPressで404ページを作るときに使うテンプレートは404.php

WordPressでは予め404.phpという名前のテンプレートをテーマ内に用意しておくと、リンクが正しくないときには自動的に404.phpを実行してくれます。

つまりWordPressでは404ページの表示は404.phpで行われるのです。
404.phpが存在しない場合にはindex.phpが変わりに実行されます。
このページは前回紹介したので気になる方はこちらのリンクから
それでは実際に404.phpを作ってみましょう!
404.phpは先程も話したとおりテーマ内に作成します。

404.phpを作成

ファイルの追加はWeb FTPやFTPソフト経由で行なえます、アップロードの方法に関しては詳しく説明しないので各サーバーの公式ページを確認してください。

404.phpを作成したら

とりあえずのHTMLを作成

404.php

<h2>404 Not Found</h2>
<p>URLが間違っている可能性があります。</p>

と入力して保存してください。

これでWordPress上での404ページの作成は終わりです。
後は自分の好きなようにカスタマイズしてみてください!

404.phpを実際に表示してみる

404ページを見るには間違ったURLを指定する必要があります。
このサイトのドメインは
blog.sumahotektek.comなので存在しない

https://blog.sumahotektek.com/xxxxxx/xxxx/xxx/

にアクセスしてみましょう

少しURLを間違えた程度だとWordPressはプラグインやバージョンによって正しいページにリダイレクトされてしまうことがあるので、確認するときは確実に間違ったURLでアクセスしてみてください。

アクセスするとこんな感じに表示されるかと思います!

is_404() で今表示しているページが404かどうかをチェック!

WordPress org関数リファレンスis 404

WordPressを使っていると多くの方がヘッダーをheader.php、フッターをfooter.phpのようにテンプレートで管理していると思いますが

同じテンプレートを使いつつ404のときは処理を変えたい!と思うことがあると思います

例として、ヘッダーを使うときは多くの場合get_header()を使ってheader.phpを呼び出すと思いますが、404ページのようにGoogleにインデックスさせたくない場合はnoindexを設定します。

この時使っているheader.phpは404ページ以外にも使います。

そのため404ページだけnoindexを出力するのには今アクセスされているページが404ページであるという検知をする必要があるのです。

少し長くなりましたが、その404ページ化を見分けるのを

is_404()

で判定します、もし404ページならtrue、そうでない場合はfalseを出力します。具体的にはこんな感じに使います

<?if(is_404()){?><meta name=”robots” content=”noindex”><?}?>

こんな感じのコードをheader.phpに書き込むと404ページだけnoindexが設定できます。

まとめ

404ページはアクセスしたURLにコンテンツがないときに表示されるページ。WordPressでの404ページのテンプレートは404.phpを使います!
という事で次回はヘッダーを作っていきたいと思います!

サイトテーマをユーザー側から変更可能にしました、今のテーマはv3.0です!

is 404(WordPress org)

テーマ

現在使用中テーマは最新版

v.1.0v.2.0v.3.0v.3.1v.3.2v.3.3v.3.4v.3.5v.3.6v.3.7v.3.8v.shaneron選択しない(安定版)