GitHub Pages で存在しないページにアクセスすると、デフォルトでは GitHub が用意している 404 ページが表示されます。
Web サイトのルートパスに 404.html
ファイルを配置すると、独自の 404 ページを表示することができます。
ここでは、Jekyll のページ生成の仕組みを使って、独自の 404 ページを作成する方法を説明します。
コンテンツファイル (404.md
) の作成
まず、プロジェクトのルートディレクトリに 404.md
を作成し、404.html
というページが出力されるようにします。
表示内容に関しては、404 ページ専用のレイアウト (_layouts/404.html
) の方で定義することにします。
よって、上記の Markdown ファイルでは、フロントマターで出力設定だけを記述しておきます。
レイアウトファイル (_layouts/404.html
) の作成
404 ページの出力内容は特有のレイアウトになることが多いので、専用のレイアウトファイルで作成するのがオススメです。
ここでは、_layouts/404.html
というパスにファイルを作成します(404.md
のフロントマターで指定したレイアウト名に合わせてください)。
上記の例では、Google Analytics 用のコード (_includes/analytics.html
) も挿入するようにしています。
こうしておけば、404 ページへのアクセスも解析できるようになるので便利です。
Google Analytics を使用していないのであれば外してください。
また、404 ページからトップページへ飛ばすだけでは不親切なので、Google カスタム検索のためのフォーム (_includes/search-bar.html
) も配置するようにしています。
このあたりは適宜調整してください。
上記のレイアウトファイルでは、site
変数を使ってサイト名 (site.name
) やロゴファイル名 (site.logo
) を取得しているので、_config.yml
の中で下記のような感じで設定しておいてください。
あとは、作成した 404.md
と _layouts/404.html
を GitHub 上のリポジトリにプッシュすれば完成です。