サイトアイコン 良質生活 ひらけゴマ! ~ 自分流 Better Quality of Life ~

404 not found エラー!?「ページが見つかりません」への対応

当サイトが新ドメインに移行して、はや1か月が経とうとしています。
基本的には、元の”http://b-qol.onamae.jp/”から”https://www.asset-ad.com/b-qol/”へとアドレスが変わっただけなのですが、お引越しには何かとトラブルがつきもの。

今回、Google先生から「404 not found エラーが見つかったよ。利用者のために対応した方がいいかもね。」というアドバイスをいただきました。
旧サイトでは確認されていなかったのであせりましたが、発見から対応までの顛末を記事ネタにさせてもらいました。 🙂

そもそも404エラーって?

「404 not found エラー」とは以下のようなエラーです。

HTTP 404、またはエラーメッセージ Not Found(「未検出」「見つかりません」の意)は、HTTPステータスコードの一つ。クライアントがサーバに接続できたものの、クライアントの要求に該当するもの (ウェブページ等) をサーバが見つけられなかったことを示すもの。

引用元:Wikipedia

実際に僕のページに現れたのが以下の画面。

↑クリックで拡大↑

言われてみれば、ネットを見ていると良く目にする画面ですね。 😛

発見の経緯

旧サイトからの移行直後は、検索すると記事のリンク先が旧サイトのアドレスを表示します。
新サイト立ち上げで情報が浸透しないのでしょうがないのですが、そのままでは新サイトの知名度は低いままです。
このため、特に検索頻度が高いGoogleについては、サイトマップを送信して新サイトへの移行をアピールしていました。

そんなある日、Google Console を確認していたところ、クロール(ページの巡回・情報収集)エラーで“URLエラー”が1つ出ていることに気がつきます。

↑クリックで拡大↑

「なんだろう?」と思って確認してみたところ、”jan-2018-preparation-fp-exam”というアドレスの記事に「404エラー」が出ているとのこと。

↑クリックで拡大↑

実際に”jan-2018-preparation-fp-exam”を入力して確認すると、最初に見ていただいたとおり確かにエラーが出ています。
このエラーについて、原因と影響を見てみると次のとおり。

↑クリックで拡大↑

検索順位等への影響はなく、比較的軽微なエラーだとわかり、ホッとしました。

しかし、エラーが出ている状態に変わりはないですし、元のエラーメッセージでは確かに味気ない。
そこで、この404エラーメッセージをもうちょっと改良してみることにしました。

404エラーメッセージを変えるには?

このエラーメッセージをどこで制御しているのかが最初の課題でした。
随分いろいろと調べたところ、このサイトで使用しているWordPressの場合、デザインを決定している各テーマに依存しているらしいことが分かってきました。

当サイトの現在のテーマは「マテリアル2」になります。
(以前の記事 “サイトデザインを一新! 無料なのにスゴイ「マテリアル2」” を参照)

そこでFTPソフトを使って、そのデータを探したところファイルを発見しました!
その名もスバリ「404.php」でした。 🙂

↑クリックで拡大↑

実際に記述されている内容を見てみると、エラー画面のメッセージ内容と一致しています。

↑クリックで拡大↑
↑クリックで拡大↑

これでファイルは特定できました。
あとは以下の手順で修正を加えますが、バズ部さんの「404エラーページのカスタマイズ方法」を参考にさせていただきました。

  1. 「404.php」を一旦ローカルディスクにコピー
  2. それをテキストエディタ(メモ帳など)で書き換えてローカル上で上書き
  3. 「content-none.php」を新たに作成し、ローカル上に保存
  4. 上書きした「404.php」と新規作成の「content-none.php」を、子テーマ「wp_material2_child」のフォルダにコピー

なお「content-none.php」を新規作成するとき、テキストエディタを使うときには、保存形式ですべてのファイルにしないと「content-none.php.txt」となって認識されません。
また、保存する際の文字コードも「UTF-8」に切り替えるのを忘れないようにしましょう。

これで新「404.php」から「content-none.php」へと流れる内容が優先して表示されるようになります。
(注:PHPファイルの変更は、必ず子テーマを使ってその中で行いましょう。本体ファイルを変更すると致命的なエラーが生じる恐れがあります。)

いよいよ変更本番!

テスト投稿はうまくいったけど

まず、試しに最もベースとなる書き換えを行ってテストしてみました。

標題:「404 NOT FOUND」→「あなたがアクセスしようとしたページは削除されたかURLが変更されています。」
本文:「ページが見つかりませんでした」→検索・人気リスト・カテゴリー・問い合わせフォームの題名のみ

↑クリックで拡大↑

↑クリックで拡大↑

結果は上記のとおり。
どうやらうまく表示されているようです。

本番構成へ試行錯誤

テストがうまくいったので、次に本番の環境に移行します。
ところが、コードをそのまま移行してきてもうまくいきません。

バズ部さんのコードの考え方は、この404エラーを検索でのエラーにも流用することを念頭に精緻に書かれていますが、どうもその分岐設定で引っかかってしまっているようです。

このため、とりあえず404エラーページの改善を最優先に、思い切って冒頭のコードを書き換えます。
なお、実際の見え方については、新規投稿ページのテキスト入力を行い、それがビジュアルにどう反映するかで確認していきます。

↑クリックで拡大↑

ようやく完成!

こうして作成したテキストコードを「content-none.php」へと移植し、微調整を加えて完成!

↑クリックで拡大↑

半日がかりでようやく満足できる形にたどりつきました。 🙂

これからエラーメッセージが出ても、皆様の失望感が多少低減できると幸いです。
もちろんリンク切れ等が起きないよう、最大限努力するつもりです。 😉

モバイルバージョンを終了