Skip to main content

GitHub Pages サイトの 404 エラーのトラブルシューティング

このガイドは、404 エラーが発生するおそれがある一般的な理由のトラブルシューティングに役立ちます。

この機能を使用できるユーザーについて

GitHub Pagesは、パブリック・リポジトリのGitHub Freeと組織用のGitHub Free、パブリック・リポジトリとプライベート・リポジトリのGitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverで利用できます。 詳しくは、「GitHub のプラン」をご覧ください。

GitHub Pages で、Jekyll ビルドの実行に GitHub Actions が使用されるようになりました。 ビルドのソースとしてブランチを使用する際、組み込みの Jekyll ワークフローを使用する場合は、リポジトリで GitHub Actions を有効にする必要があります。 GitHub Actions が使用できない場合、または無効になっている場合は、ソース ブランチのルートに .nojekyll ファイルを追加すると、Jekyll ビルド プロセスがバイパスされ、コンテンツが直接デプロイされます。 GitHub Actions の有効化の詳細については、「リポジトリの GitHub Actions の設定を管理する」を参照してください。

404 エラーのトラブルシューティング

このガイドでは、GitHub Pages サイトの構築中に 404 エラーが発生するおそれがある一般的な理由について説明します。

GitHub の [状態] ページ

GitHub Pages サイトの構築中に 404 エラーが発生した場合は、まず、アクティブなインシデントに対して GitHub の [状態] ページをチェックしてください。

DNS のセットアップ

GitHubの DNS レコードが DNS プロバイダーで正しく設定されていることを確認してください。 詳細については、「GitHub Pages サイトのカスタムドメインを管理する」を参照してください。

ブラウザのキャッシュ

GitHub Pages サイトが非公開で、404 エラーが表示される場合は、ブラウザーのキャッシュをクリアする必要がある場合があります。 キャッシュの削除についての詳しい情報については、ブラウザのドキュメントを参照してください。

index.html ファイル

GitHub Pages では、サイト用のエントリ ファイルとして index.html、が検索されます。

  • GitHub 上のサイトのリポジトリに index.html ファイルがあることを確認してください。 詳しくは、「GitHub Pages サイトを作成する」をご覧ください。

  • エントリ ファイルは、選んだ発行ソースの最上位レベルにある必要があります。 たとえば、公開元が main ブランチ上の /docs ディレクトリである場合、エントリ ファイルは、main という名前のブランチ上の /docs ディレクトリ内に配置する必要があります。

    公開元がブランチとディレクトリの場合、エントリ ファイルはソース ブランチ上のソース ディレクトリの最上位レベルにある必要があります。 たとえば、公開元が main ブランチ上の /docs ディレクトリである場合、エントリ ファイルは、main という名前のブランチ上の /docs ディレクトリ内に配置する必要があります。

    公開元が GitHub Actions ワークフローである場合、デプロイする成果物には、成果物の最上位レベルにあるエントリ ファイルが含まれている必要があります。 エントリ ファイルをリポジトリに追加する代わりに、GitHub Actions ワークフローの実行時にエントリ ファイルを生成するように選択することもできます。

  • index.html ファイル名は大文字と小文字が区別されます。 たとえば、Index.html は機能しません。

  • ファイルの名前は、index.HTML ではなく index.html、またはその他のバリエーションである必要があります。

ディレクトリの内容

ディレクトリの内容がルート ディレクトリにあることを確認してください。

カスタム ドメイン

カスタム ドメインを使用している場合は、正しく設定されていることを確認してください。 詳しくは、「カスタムドメインとGitHub Pagesについて」をご覧ください。

  • CNAME レコードは常に、<USER>.github.io または <ORGANIZATION>.github.io (リポジトリ名を除く) を指す必要があります。 正しいレコードの作成方法に関する詳しい情報については、DNSプロバイダのドキュメンテーションを参照してください。
  • ランディング ページにアクセスできても、全体でリンクが壊れている場合は、以前にカスタム ドメイン名を持っていなかったか、カスタム ドメイン名を持つ前の状態に戻ったことが原因である可能性があります。 このような場合、ルーティング パスを変更しても、ページの再構築は始まりません。 推奨される解決策は、カスタム ドメイン名を追加または削除するときにサイトが自動的に再構築されるようにすることです。 これには、コミット作成者の構成とカスタム ドメイン名の設定の変更が含まれる場合があります。

リポジトリ

リポジトリが次の要件を満たしているかどうかを確認してください。

  • サイトの発行に使用するブランチは、main または既定のブランチである必要があります。
  • リポジトリには、リポジトリ所有者のようにリポジトリの管理者権限を持つユーザーによってコミットがプッシュされている必要があります。
  • リポジトリの可視性をパブリックからプライベート、またはその逆に切り替えると、GitHub Pages サイトの URL が変更され、サイトが再構築されるまでリンクが壊れます。
  • GitHub Pages サイトのプライベート リポジトリを使用している場合は、GitHub Pro、GitHub Team、または GitHub Enterprise Cloud サブスクリプションがまだアクティブであるかどうかを確認してください。 プランを更新すると、GitHub Pages サイトが自動的に再配置されます。 それ以外の場合は、リポジトリの表示範囲を公開用に変更して、GitHub Pages を無料で使用し続けることができます。

それでも 404 エラーが発生する場合は、Pages カテゴリで GitHub Community ディスカッション を開始してください。