WordPressの投稿が404エラーを返すのを修正する方法(ステップバイステップ)

存在することがわかっている投稿をクリックしたのに、404エラーページにたどり着くほどイライラすることはありません。私たちはこの問題に何度も遭遇しており、何も明らかに壊れていないように見えると混乱することがあります。

良いニュースは?ほとんどの場合、1分以内に修正できます。設定 » パーマリンクに移動し、「変更を保存」をクリックするだけで、この簡単な手順でほとんどのWordPressサイトの問題が解決します。

それでもうまくいかない場合は、心配しないでください。プラグインの競合から.htaccessの問題まで、あらゆる一般的な原因を網羅したステップバイステップガイドを作成しました。これにより、投稿をすぐにオンラインに戻すことができます。

WordPressの投稿が404エラーを返すのを修正する方法

WordPressの投稿が404エラーを返すのはなぜですか?

404エラーは、WordPressダッシュボードに存在する可能性があるにもかかわらず、サーバーが要求されたページを見つけられなかったことを意味します。この切断は通常、投稿のURLとその実際のコンテンツの間のリンクが壊れたことが原因で発生します。

投稿に404「ページが見つかりません」エラーが表示される最も一般的な理由は次のとおりです。

  • プラグインまたはテーマの競合:一部のプラグインまたはテーマは、WordPressがパーマリンクを処理する方法に干渉する可能性があります。これにより、以前は正常に機能していた投稿で壊れたリンクや404エラーが発生する可能性があります。
  • カスタムコードの問題:サイトにカスタムコードを追加した場合、たとえ小さなエラーであっても、パーマリンクに影響を与えたり、404エラーにつながる競合を引き起こしたりする可能性があります。
  • .htaccess ファイルの問題: .htaccess ファイルは、WordPress が URL をどのように構成するかを制御します。このファイルが破損、欠落、または誤って設定されている場合、投稿やページで 404 エラーが返される可能性があります。

404エラーが発生しているすべてのWordPress投稿を見つける方法

修正にとりかかる前に、このエラーが 1 つの投稿に影響しているのか、それとも多数に影響しているのかを知っておくと役立ちます。範囲を理解することで、適切な解決策を選択しやすくなります。

Google Search Console の使用をお勧めします。まだ設定していない場合は、WordPress サイトを Google Search Console に追加する方法に関するガイドをご覧ください。WordPress サイトを Google Search Console に追加する方法

Google ボットがサイトをクロールすると、Search Console は検出した 404 エラーを含む詳細なレポートを表示します。

エラーを返している投稿を確認するには、Search Console ダッシュボードにログインします。「ページ」レポートに移動すると、フラグが付けられたすべての URL のリストが見つかります。

Google Search Consoleのページレポート

詳細については、ウェブサイトのトラフィックを増やすために Google Search Console を使用するためのヒントをご覧ください。これには 404 エラーの修正に関するアドバイスも含まれています。ウェブサイトのトラフィックを増やすために Google Search Console を使用するためのヒント

さて、WordPress の投稿で 404 エラーが返される場合の修正方法を見ていきましょう。特定のメソッドにジャンプするには、以下のリンクを使用できます。

方法1:プラグインまたはテーマの競合とカスタムコードの問題を確認する

プラグイン、テーマ、またはカスタムコードがパーマリンクに干渉し、404 エラーを引き起こすことがあります。これは、デモサイトでツールをテストしている際に私たち自身も経験したことです。

トラブルシューティングを行う際には、ステージング環境を使用してプラグインを 1 つずつ安全に無効化します。これにより、ライブサイトに影響を与えることなく問題を特定できます。

これを自分で試すには、まず一時的にすべてのプラグインを無効化してください。その後、1つずつ再度有効化し、そのたびに404エラーが再発するかどうかを確認します。

特定のプラグインを有効化した後にエラーが表示される場合、それが原因である可能性が高いです。そのプラグインに関連する解決策を検索するか、開発者にサポートを依頼してください。

WordPressのテーマも問題の原因である可能性があります。

確認するには、Twenty Twenty-ThreeやTwenty Twenty-FourのようなデフォルトのWordPressテーマに一時的に切り替えてください。外観 » テーマに移動し、デフォルトテーマの「有効化」をクリックします。

デフォルトのWordPressテーマを有効にする

デフォルトテーマに変更して404エラーが解消された場合、元のテーマが競合の原因となっている可能性が高いです。さらにトラブルシューティングを行うか、別のテーマへの切り替えを検討してください。

おすすめについては、専門家が選んだ最も人気のあるWordPressテーマをご覧ください。

最近ウェブサイトにコードスニペットを追加した場合は、慎重に確認してください。わずかな間違いでも404エラーの原因となる可能性があります。

カスタムコードの追加には、WPCodeプラグインの使用をお勧めします。これにより、テーマファイルを直接編集することなくスニペットを挿入でき、サイトが壊れるリスクを軽減できます。

WPCodeはエラーも自動検出します。問題が発生した場合、スニペットを無効にし、警告を表示します。テストモードを使用して、コードを公開する前に確認することもできます。

WPCodeエラー警告

これらの手順で問題が解決しない場合は、次の方法に進み、パーマリンク設定のトラブルシューティングを行います。

WordPressの投稿で404エラーが頻繁に発生するのは、.htaccessファイル内の書き換えルールに問題があるためです。ほとんどの場合、パーマリンク設定を再保存するだけで修正できます。

WordPress管理画面で設定 » パーマリンクに移動し、「変更を保存」ボタンをクリックします。

パーマリンクを確認する

何も変更する必要はありません。「変更を保存」をクリックするだけで、書き換えルールがフラッシュされます(WordPressが各投稿の場所を示すURLルーティング指示を再生成することを意味します)。

この簡単な手順で、ほとんどのWordPressサイトの404エラーが修正されます。それでも機能しない場合は、.htaccessファイルを手動で更新する必要があるかもしれません。

方法3:WordPressの.htaccessファイルを更新する

変更を加える前に、WordPressサイトと.htaccessファイルをバックアップすることをお勧めします。問題が発生した場合、元の状態に簡単に復元できます。

FileZillaのようなFTPクライアントを使用してサーバーに接続するか、ホスティングコントロールパネルのファイルマネージャーを使用する必要があります。

次に、サイトのルートフォルダにある.htaccessファイル(サーバーがURLを処理する方法を制御する隠し設定ファイル)を見つけます。これは、/wp-content//wp-includes/のようなフォルダが含まれているのと同じディレクトリです。

FTPクライアントでファイルを右クリックし、「ファイルの権限」または「権限の変更」を選択します。

.htaccess ファイルの権限

WordPressが以前にファイルに書き込めなかった場合は、一時的に権限を666に変更して書き込み可能にしてみてください。

重要: 権限666は、誰でもファイルに読み書きできることを意味し、セキュリティリスクとなります。この設定は一時的にのみ使用し、完了後すぐに元に戻してください。

次に、WordPress管理画面に戻り、パーマリンク設定を再保存します(設定 » パーマリンク » 変更を保存)。これにより、WordPressは適切な.htaccessファイルを再生成できます。

それが完了したら、FTPクライアントに戻り、ファイル権限を644に変更します。この設定により、WordPressはファイルを読み取ることができますが、不正な変更から保護されます。

.htaccess ファイルのファイル属性を 644 に変更する

または、.htaccessファイルを直接編集することもできます。

.htaccessファイルを右クリックし、表示/編集オプションを選択します。

.htaccessファイルを編集する

ファイルは、メモ帳やテキストエディットのようなプレーンテキストエディタで開かれます。

次のデフォルトのWordPressリライトルールを追加します。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

ファイルを保存してサーバーにアップロードし直します。その後、投稿が正しく読み込まれるか確認してください。

方法4:ホスティングプロバイダーに連絡する

上記のいずれの方法でも404エラーが解決しない場合は、WordPressホスティングプロバイダーに連絡することをお勧めします。

向こう側のサーバー側の問題である可能性もありますし、さらに問題をトラブルシューティングするのを手伝ってくれるかもしれません。私たちの経験では、優れたホスティングサポートチームは、見落としがちな設定の問題をしばしば発見できます。

ヘルプを得るためのヒントについては、WordPressサポートを適切に依頼して取得する方法に関するガイドをご覧ください。

方法5:mod-rewrite を有効にする(ローカル WordPress インストール)

テストのためにローカルサーバーでWordPressを実行している場合は、Apacheの設定でmod_rewriteを有効にする必要があります。これはMAMP、WAMP、またはXAMPPの設定に適用されます。

mod_rewriteを有効にすると、WordPressはきれいなURLを生成でき、ローカルの投稿やページでの404エラーを防ぐことができます。

手順はプラットフォームによって異なります。XAMPPを使用している場合は、コントロールパネルを開き、アクション列の「Config」ボタンをクリックします。次に「Apache (httpd.conf)」を選択します。

XAMPP の Apache (httpd.conf) メニュー

次の行を見つけます: #LoadModule rewrite_module modules/mod_rewrite.so

先頭の「#」を削除してコメントを解除します。これによりmod_rewriteモジュールが有効になります。

httpd.confファイルでrewrite_moduleを見つける

次に、AllowOverride Noneと表示されている行を探し、AllowOverride Allに変更します。これにより、Apacheは.htaccessファイルがURLルーティングを制御することを許可するようになります。

通常、これらは<Directory>ブロック内にあり、特にサイトのフォルダ(XAMPPのhtdocsなど)を指しているものに含まれています。ローカルテストでは、これを見つけた場所すべてに変更を適用しても通常は安全です。

AllowOverride None を AllowOverride All に変更する

httpd.confファイルを保存して閉じます。XAMPPコントロールパネルで、Apacheモジュールの「Stop」をクリックし、次に「Start」を再度クリックして再起動します。

WordPress管理ダッシュボードに戻り、パーマリンクが機能しているか確認してください。

動画チュートリアル

視覚的な指示をご希望の場合は、以下のビデオをご覧ください。

WPBeginnerを購読する

WordPress 404エラーに関するよくある質問

WordPressサイトで404エラーが発生すると混乱することがあります。ここでは、より効果的にトラブルシューティングするのに役立つ一般的な質問への回答を紹介します。

WordPressの投稿で404エラーが発生するのはなぜですか?

WordPressの投稿で404エラーが発生する場合、通常はサーバーが要求されたURLのページを見つけられないことを意味します。これは、パーマリンクの破損、.htaccessファイルの破損、投稿の削除、またはURLの処理方法を変更するプラグイン/テーマの競合が原因で発生する可能性があります。

WordPressで404エラーを修正するにはどうすればよいですか?

WordPressの404エラーを修正する最も簡単な方法は、パーマリンク設定を再保存することです。「設定」→「パーマリンク設定」に移動し、「変更を保存」をクリックします。それでも解決しない場合は、.htaccessファイルを確認し、プラグインを無効にするか、デフォルトのテーマに切り替えて競合がないか確認してください。

WordPressサイトのすべての404エラーをどのように見つけることができますか?

Google Search Console は、WordPress サイトの 404 エラーを見つけるのに最適な方法です。Googlebot が検出したすべての 404 エラーのリストが表示されます。Broken Link Checker のようなプラグインを使用して、壊れたリンクや見つからないページを検出することもできます。

WordPress における .htaccess ファイルの役割は何ですか?

WordPress の .htaccess ファイルは、URL の処理方法を制御する設定ファイルです。WordPress はこれを使用して、パーマリンク構造を管理し、URL を正しいコンテンツにルーティングします。このファイルが欠落または破損していると、URL が正しく機能しなくなる可能性があります。

.htaccess ファイルを安全に編集するにはどうすればよいですか?

FTP クライアントまたはホスティングのファイルマネージャーを使用して、.htaccess ファイルを安全に編集できます。常に最初にバックアップを作成してください。編集後、読み取り可能で安全な状態を維持するために、権限が 644 に設定されていることを確認してください。

WordPress のカテゴリページまたはタグページで 404 エラーが表示されるのはなぜですか?

WordPress のカテゴリページまたはタグページで 404 エラーが表示されるのは、テーマがアーカイブテンプレートをサポートしていないか、パーマリンク設定が誤って構成されているためです。パーマリンクを再保存し、テーマのアーカイブサポートを確認することで、通常はこの問題を解決できます。

カスタム投稿タイプの 404 エラーを修正するにはどうすればよいですか?

カスタム投稿タイプの 404 エラーを修正するには、[設定] » [パーマリンク設定] に移動し、「変更を保存」をクリックしてリライトルールを更新します。また、カスタム投稿タイプが正しいリライト設定で登録されており、必要に応じてアーカイブサポートがあることを確認してください。

404 ページをホームページや別のページにリダイレクトできますか?

はい、Redirection のようなプラグインを使用して WordPress の 404 ページをリダイレクトできます。これにより、古い URL や壊れた URL から新しい URL への 301 リダイレクトを作成できます。カスタム 404 ページを作成して、ユーザーを役立つコンテンツに誘導することもできます。

🎁 ボーナス:404エラーの対処に関する追加ガイド

404 エラーやその他の一般的な WordPress の問題を管理するのに役立つ、さらに多くのリソースをまとめました。

この記事が、WordPressの投稿で404エラーが発生する問題を解決するのに役立ったことを願っています。また、WordPressで最も一般的なエラーとその解決方法に関するガイドや、サイトを成長させるためのおすすめのWordPressプラグインもご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

773 CommentsLeave a Reply

  1. 私の問題は少し異なります。wp-adminにはアクセスできますが、ダッシュボードや設定を含むWordPress内のどのページにもアクセスできず、404エラーページにリダイレクトされます。Cloudflareは無効にしましたが、問題は解決しません。

  2. WordPressのテーマを変更しただけで404エラーが解決しました。シンプルで素晴らしいアイデアをありがとうございます。

  3. この素晴らしい解決策をありがとうございます。私は会員制サイトを運営しており、今朝メールを確認したところ、多くのユーザーからページにアクセスできない、404エラーメッセージが表示されるという報告がありました。実際、その通りになっていました。何が原因か分からず、前夜に入れたプラグインか機能のせいかと思っていました…。

    Then i found this post, i saved again the permalinks as shown in this post and WORKED!!! :)

    but i am not happy yet, i want to know why happened this problem? so this wont repeat again :( because all night while i was sleeping this problem happened :(

    この問題が発生した理由を教えていただけますか?そうすれば、回避できます。

    ありがとうございます

    • 残念ながら、根本原因を特定するのは困難です。ホスト側のアップデートか、サイト側でパーマリンクが正しく更新されなかったかのいずれかの可能性があります。

      管理者

  4. htaccessとパーマリンク設定も確認しましたが、まだ機能しません。
    ページでは、一部のページしか表示されず、他のページはエラーが表示されます。
    「C:\xampp\htdocs\aaa\wp-admin\incldues\class-wp-posts-list-table.php の 1180 行目で、オブジェクトでないものからプロパティ 'post_author' を取得しようとしています」

    ページリンクが機能せず、ログイン後にホームページが自動的にwp-adminにリダイレクトされ、ダッシュボードには何も表示されません。
    この件についてお手伝いいただけますか?

  5. 同じ問題で post.php で 404 エラーが出ていました。イライラしましたが、私にとって唯一機能したのはテーマを変更することでした。そしてもう一度変更しました。これで機能しました。

    • 同じ問題を抱えていました。上記のオプションを試しましたが、うまくいきませんでした。別のテーマに変更してから通常のテーマに戻したところ、うまくいきました。

  6. どの解決策も私には効果がありませんでした。ホームページにしかアクセスできず、ページや投稿などの他のリンクは機能しません。これを引き起こしたアップデートは5.0.3でした。

  7. やったー!これは私には効きました。保存ボタンを押すだけでよかったです。記事にとても感謝しています。

    昨日、WP 5.0.2 に 4.9.8 からアップデートしました。それが原因の可能性がありますか?昨日までは問題なく動作していたようです。

    • どんなテクノロジーにも言えることですが、原因はたくさん考えられます。アップデート、ホストの一時的な問題、あるいはその他の未知の理由かもしれません。

      管理者

  8. WordPressの管理画面で作業中に突然404エラーメッセージが表示されました。どうすればよいですか?WordPressは初心者です。

    • この記事の手順に従ってください。それでも解決しない場合は、ホスティングプロバイダーに連絡すればサポートを受けられるはずです。

      管理者

  9. 本当にありがとうございます。うまくいきました。私のサイトは完全にオンラインに戻りました。ありがとうございます。

  10. 記事のすべての提案とコメントからのいくつかをお試ししました。
    その後、ホスティング会社に連絡したところ、サーバー上のModSecurityモジュールが「+src=」文字列を含むPOSTリクエストをブロックしていたことが判明しました。
    あなたにとっては異なるルールかもしれませんが、他のすべてがうまくいかない場合は、ホスティング会社にサーバーレベルでリクエストがブロックされていないか確認するように依頼してみてください。

  11. 本当にありがとうございます、あなたは素晴らしいです。とても愛しています、あなたは偉大です。たくさんのページを探しましたが、あなたのように知っていて教えてくれる人はいませんでした。あなたは最高です。
    ありがとうございます、ありがとうございます、ありがとうございます

  12. これは毎月のように私たちのサイトで発生しており、修正する唯一の方法は、WPダッシュボードでパーマリンクをリセットすることです。デバッグログファイルはクリーンなので、どこから修正を始めればよいか全く分かりません。同じような問題を抱えている人はいますか?

    • 同じ問題を抱えています!しかし、どこから問題が発生しているのか分かりません。誰か解決方法を知っていますか?

  13. 私の問題は次のページに関連しています。ホームページに表示される投稿数を10から5に減らしたところ、「次のページ」をクリックすると404ページが見つかりませんというエラーが表示されます。

  14. こんにちは!興味深い記事をありがとうございます!少し違う問題があります。404ページを別の正確で美しいページにリダイレクトしたいのです。通常はプラグインやテンプレートの機能を使います。しかし、私が普段使っているのと同じテンプレートがあるサイトの1つで、404ページが全く存在しません。何をしてもです。サーバー上に要求されたドキュメントが見つかりませんでしたというエラーが表示されます。

    • Aramさん、こんにちは。

      パーマリンク構造を更新してみてください。単に 設定 » パーマリンク にアクセスし、何も変更せずに変更を保存ボタンをクリックしてください。

      管理者

  15. この記事は本当に本当に役立ちます。

    しかし、私の問題は少し違うようです。WPBEGINNERさん、どうかどうか助けてください…

    上記の方法を試しましたが、うまくいきません。ただし、私の問題は少し異なります。

    私の問題は次のとおりです。
    時々、以前の投稿を更新したり、新しい投稿を作成しようとすると、「404エラー」にリダイレクトされます。どうか助けてください。

    • オケレケさん、こんにちは。

      これらの手順をお試しください。設定 > ライティングページに移動し、更新サービスセクションにあるボックス内のURLをすべて削除します(通常はrpc.pingomatic.comというURLが1つだけ表示されます)。次に、変更を保存ボタンをクリックして設定を保存します。

      投稿を編集して、問題が解決したかどうかを確認してください。それでも解決しない場合は、WordPressトラブルシューティングガイドの手順をお試しください。

      管理者

  16. この記事のおかげで、どれだけ時間を節約できたかわかりません…。取り返しのつかない間違いを犯したと思っていたので、すべてを捨ててブログを最初からやり直す準備ができていました。2回のクリックですべてが修正されました – ありがとうございます!すみません、ドクター・スースのように聞こえるつもりはありませんでした。良い一日を!

  17. こんにちは!この記事は役に立ちましたが、サイトをGoogle検索バーに入力すると、例:ac-universal.com/wp-admin でエラー404が見つかりました。WordPressにどうやって入ればいいですか?
    ガイドをお願いします。ありがとうございます。

  18. ありがとうと言いたかっただけです。数日間悩まされていた問題を、シンプルかつ効果的に解決してくれました!

  19. 問題は、投稿を更新しようとすると404ページにリダイレクトされることでした。

    指示通りに実行したところ、完璧に機能しました!

  20. ホームページにアクセスできません。
    URLにアクセスすると、常に「404 Not Found」と表示されます。

  21. 本当にありがとうございます。404エラーで気が狂いそうでしたが、パーマリンク設定の変更を保存したらうまくいきました!

    • 私も同じ問題です。ホームページとトップナビゲーションページの2つのうち1つにはアクセスできますが、2番目のページにはアクセスできず、/wp-loginまたは/wp-adminにもアクセスできません。

  22. 素晴らしいヒントです。何らかの理由で、httpd.conf ファイルの AllowOverride が 'None' に設定されていたため、これで問題が完全に解決しませんでした。

    もし他の人が同様の問題に遭遇した場合、以下のいずれかの場所にあるApache2 httpd.confファイルを編集するだけです:/etc/apache2/httpd.conf。 /etc/apache2/apache2.conf。

    検索:

    オプション Indexes FollowSymLinks
    AllowOverride None
    Require all granted

    そして、次のように置き換えます。

    オプション Indexes FollowSymLinks
    AllowOverride All
    Require all granted

    これが誰かの役に立つことを願っています!

    • トムさん、ありがとうございます。
      Google One Click Deployで新しいサイトをデプロイしましたが、docrootディレクトリのAllowOverride Allに関する指示をいくつか見落としていました。あなたの返信とこの記事のおかげで、再び機能するようになりました。AllowOverrideがNoneに設定されていると、.htaccessファイルは無視されるため、パーマリンクを機能させるためのディレクティブが失敗します。私の場合は、編集する必要があった設定は/etc/apache2/sites-available/wordpress.confで、WordPressのインストールディレクトリにAllowOverride Noneが設定されていました。

    • ありがとうございます、先生。あなたは今私のヒーローです。たくさんのサイトを見ましたが、一つもこのことを言及していませんでした。Apacheのマニュアルを読んだ範囲では、それほど明白なことでもありませんでした。

  23. 本当にありがとうございます。言うことは何もありません。本当に助かりました。素晴らしい仕事をしました。本当にありがとうございます。

  24. 見事にうまくいきました、ありがとうございます!
    Contact form 7 の Ajax が機能せず、コンソールログに 404 エラーのフィードバックが出ていました。
    これを読むまで、リライトルールのことを疑っていませんでした。
    パーマリンク設定を保存したら直りました!
    ありがとうございました

  25. 混乱しています。.htaccessファイルに0644と表示されており、660ではありません。どうすればよいですか。

  26. WPBチーム、ありがとう。魔法のように機能しました。だからこそ、この強力なサイトが大好きなんです!

返信を残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。