読者がリンク切れやURLの入力ミスによって、サイト内に存在しないページへアクセスしてしまった時。
Hugo標準のそっけない「404 Page Not Found」という真っ白な画面が表示されると、読者は困惑してそのままサイトから離脱(ブラウザの「戻る」ボタン等で帰ってしまうこと)してしまいます。
迷子になった読者をトップページや代わりの記事へ優しく案内するために、テーマに合わせたオリジナルの 404エラーページ を作成しておきましょう!
layouts/404.html を作る
テーマフォルダの中に layouts/404.html というファイルを作ります。
この名前で作れば、Hugoが勝手に認識してくれます。
baseof.html を使って、デザインを統一しましょう。
{{ define "main" }}
<div style="text-align: center; padding: 50px 20px;">
<h1>404 Page Not Found</h1>
<p>申し訳ありません。お探しのページは見つかりませんでした。</p>
<p>URLが間違っているか、ページが削除された可能性があります。</p>
<br>
<!-- トップページに戻るボタン -->
<a href="{{ .Site.BaseURL }}" style="display: inline-block; background-color: #333; color: #fff; padding: 10px 20px; text-decoration: none; border-radius: 5px;">トップページへ戻る</a>
</div>
{{ end }}
ポイント
{{ define "main" }}で囲む:baseof.htmlのメイン部分 (block "main") に内容を流し込みます。こうすればヘッダーやフッターは共通のものが出ます。- 親切な案内を入れる: 「見つかりません」だけでなく、「トップへ戻る」リンクや「検索窓」などを置いてあげると親切です。
hugo server でローカルサーバーを起動し、ブラウザで適当な存在しないURL(例: http://localhost:1313/not-found-test/)にアクセスしてみてください。
作成したデザインの「ページが見つかりません」画面が表示されれば成功です!
親切な404エラーページで読者の離脱を防ごう
layouts/404.html を配置するだけで、エラー発生時でもサイト全体の統一されたデザイン(ヘッダーやフッター)を崩すことなく、オリジナルの案内ページを表示できます。
「トップページへ戻る」ボタンのほか、「サイト内検索」や「おすすめ記事」などを配置して、迷子になったユーザーを適切にナビゲートしましょう。🚀



