WordPressの記事を開こうとしたら、404エラーが表示されたことはありませんか?時には、私たち自身のWordPressサイトで作業しているときや、ユーザーをサポートしているときに、そのような経験をすることがあります。
このエラーは、WordPressの管理画面やブログにはアクセスできるが、特定の記事を開こうとすると「404 Not Found」というメッセージが表示される場合に発生する。
しかし、この問題を解決する回避策をいくつか見つけました。この完全ガイドでは、404エラーを返すWordPressの投稿を修正する方法をご紹介します。
WordPressの投稿が404エラーになるのはなぜですか?
WordPressで404「Page Not Found」エラーが表示される原因はいくつかあります。以下のような原因が考えられます:
- プラグインやテーマの競合:サイトにインストールしたプラグインやテーマが、WordPressのパーマリンク処理に干渉することがあります。これはリンク切れや404エラーにつながる可能性があります。
- カスタムコードの問題: カスタマイザーコードをサイトに追加している場合、パーマリンクに影響するエラーやその他のコンフリクトがコード内に存在し、投稿に404エラーが発生している可能性があります。
- .htaccessファイルの問題:.htaccessファイルは、WordPressがURLをどのように構造化するかという役割を果たします。このファイルが破損していたり、見つからない場合、投稿やページに404エラーが発生する可能性があります。
404エラーのWordPress投稿をすべて見つける方法
解決策を紹介する前に、このエラーが1つまたは2つの投稿で起きているのか、複数の投稿で起きているのかを把握するのがよいでしょう。そうすることで、問題の範囲を特定し、最も適切な解決策を選択することができます。
これを把握する簡単な方法の1つは、Google Search Consoleを使用することです。まだGoogle Search Consoleにサイトを送信していない場合は、Google Search ConsoleにWordPressサイトを追加する方法についてのガイドをお読みください。
Googleボットがあなたのサイトをクロールし、インデックスした後、Google Search Consoleはあなたのサイトのパフォーマンスに関する詳細な情報を提供します。
どの投稿が404エラーを返しているかを調べるには、Search Consoleのダッシュボードにログインします。そして、「ページ」レポートに移動すると、すべてのエラーの詳細なリストが表示されます。
詳細については、Google Search Consoleを使用してウェブサイトのトラフィックを増やすためのヒントリストをご覧ください。
それでは、404エラーを返すWordPress投稿を修正する方法を見ていきましょう。以下のリンクから、さまざまな解決策にジャンプできます:
404エラーを自分で修正する時間がない?WPBeginnerプロサービスがお手伝いします!404エラー、リンク切れ、リダイレクトの問題などを専門家に依頼することができます。WordPress の問題にストレスを感じるのはやめて、問題を解決しましょう!WordPress 緊急サポートサービスを今すぐご予約ください!
方法1:プラグインやテーマのコンフリクトやカスタムコードの問題をチェックする
WordPressウェブサイトに追加したプラグイン、テーマ、カスタムコードがパーマリンクに干渉したり、競合を引き起こしたりして、404エラーにつながることがあります。私たちのデモサイトでツールをテストしているときに、私たち自身も経験したことがあります。
この問題を解決するひとつの方法は、プラグインを一時的に無効化することです。プラグインはWordPressがリンクを処理するのを邪魔することがあります。
プラグインを無効化したら、プラグインを1つずつ再有効化し、各プラグインを有効化した後に404エラーが再び表示されるかどうかを確認します。特定のプラグインを有効化した後にエラーが表示される場合は、そのプラグインが原因かもしれません。
その後、そのプラグインに関連するソリューションをGoogleで検索したり、サポートのためにプラグイン開発者に連絡することができます。
同様に、WordPressテーマが競合を引き起こしている可能性もあります。
確認するには、一時的にTwenty Twenty-ThreeやTwenty Twenty-FourのようなWordPressのデフォルトテーマに切り替えることができます。必要なのは、外観 “ テーマに 行き、デフォルトテーマの「有効化」をクリックするだけです。
デフォルトテーマで404エラーが消えた場合、現在のテーマと競合している可能性があります。その場合は、テーマのトラブルシューティングを試すか、別のテーマの使用を検討してください。
WordPressテーマのエキスパートが選ぶ、おすすめの人気テーマをご覧ください。
最近サイトにコード・スニペットをインサーターした場合、コードにエラーがあり404エラーが発生している可能性があります。追加したコードをよく見て、間違いがないか確認してください。
WordPressにコードスニペットを追加する最も安全な方法は、WPCodeプラグインを使用することです。このプラグインを使えば、テーマファイルを直接操作することなくカスタムコードを挿入することができ、サイトが壊れるリスクを減らすことができる。
さらに、WPCodeはあなたのコードにエラーを発見するたびに、自動的にスニペットを無効化し、それを確認するように要求します。また、テストモードを使用すると、ライブサイトにプッシュする前に、コードが動作するかどうかを確認することができます。
いずれの解決策もうまくいかない場合は、パーマリンク設定のトラブルシューティングを行う次の方法に進んでください。
方法2:パーマリンクの設定を修正する
WordPressの投稿は、.htaccessファイルのリライトルールに問題があるため、404エラーを返すことがあります。ほとんどの場合、パーマリンクの設定を更新することで問題を解決できます。
WordPress管理画面の設定 ” パーマリンクに移動し、「変更を保存」ボタンをクリックするだけです。
パーマリンク設定そのものを変更する必要はありません。パーマリンク設定を更新し、書き換えルールをフラッシュします。
ほとんどの場合、この解決策はWordPressの投稿404エラーを修正します。しかし、もしうまくいかない場合は、.htaccessファイルを手動で更新する必要があるでしょう。
方法3:WordPressの.htaccessファイルを更新する
作業を始める前に、WordPressの.htaccessファイルをバックアップしておいてください。何か問題が発生しても、元のファイルを簡単に復元することができます。
ここで、FileZillaのようなFTPクライアントまたはWordPressホスティングダッシュボードのファイルマネージャーアプリを使用してサーバーに接続する必要があります。
次に、/wp-content/や/wp-includes/などのフォルダーと同じ場所にある.htaccessファイルを見つけて編集する必要があります。
ファイルを右クリックして「ファイルの権限」を選択するだけです。
権限を666に変更すれば、ファイルを書き込み可能にできる。
数値」ボックスに「666」と入力し、「OK」をクリックする。
その後、チュートリアルの最初の方法の手順を繰り返す必要があります。これを行ったら、権限を660に戻すことを忘れないでください。
ファイルを編集してコードを追加することもできる。
.htaccessファイルをテキストエディターで開いたら、このコードを挿入するだけです:
# 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:ホスティングサービスに問い合わせる
上記のいずれの解決策でもWordPressの投稿が404エラーを返してしまう場合は、WordPressのホスティングサービスプロバイダーに連絡することをお勧めします。ホスティングプロバイダー側のエラーかもしれませんし、トラブルシューティングを手伝ってくれるかもしれません。
WordPressのサポートを正しく依頼し、サポートを受ける方法については、こちらのガイドもご覧ください。
方法5:mod-rewriteを有効にする(WordPressのローカルインストール)
テスト目的でローカルサーバーを使用している場合、MAMP、WAMP、XAMPPサイトのApache設定でmod_rewriteを有効化する必要があります。
これにより、WordPressはきれいなURLを生成し、ローカルサーバー上の投稿やページの404エラーを防ぐことができます。
これをどのように行うかは、使用しているプラットフォームによって異なります。XAMPPを使用している人は、コントロールパネルを開き、Actions内の「Config」ボタンをクリックします。そして、「Apache (httpd.conf)」を選択してください。
次に、#LoadModule rewrite_module modules/mod_rewrite.soという
行を見つけ、’#’を削除してアンコメントする必要がある。
これでmod_rewriteがロードされる。
次に、AllowOverride Noneの
インスタンスをすべて見つけ、AllowOverride All
に変更する。
All’ はすべてのディレクティブを上書きできることを意味します。
完了したら、httpd.confファイルを保存して閉じます。その後、XAMPPコントロールパネルでApacheモジュールの「Stop」をクリックし、再度「Start」をクリックして再起動します。
その後、管理ダッシュボードに戻り、パーマリンクが機能しているか確認してください。
動画チュートリアル
視覚的な説明が必要な場合は、以下のビデオをご覧ください。
この記事がWordPressで404エラーを返す投稿を解決するのにお役に立てば幸いです。また、WordPressの最も一般的なエラーとその修正方法、そして専門家が選ぶサイトを成長させる最高のWordPressプラグインもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Laxmi Prasanna
thank you very much. you saved my day. god bless you
chandan
you save my day
Alessandro Morotti
Thxs a lot man.
Your save my job!!!
congratulations by your time
Niketa
Many many Thanks.. I was worried first but your blog fixed my 404…as I was having exactly same issue.
Abhishek Sharma
Sir i dont know how to thank you.. But today you saved my life.. I was so scared. I just published a post and then when i checked that in my browser it showed 404 error then i check another post and then all . i was surrounded by 404 errors except my homepage was working. Now before posting to wordpress forums i just googled it and found solution on your website.,..
Mannn Thanks for saving my life.
WPBeginner Support
Hi Abhishek,
We are glad you found this article helpful. Don’t forget to follow us on Facebook for more WordPress tips and tutorials.
管理者
Richard
Hi !
I doesn’t work for me.
i added ” . ” for prefix category but i fall in a 404 page when i try to access to my subcategory :s
CR
Awesome! It helped.
Paola
I LOVE YOU! I didn’t knew how to fix this I’m a complete novice. Thank you thank you! !
Marlena
I’m so pleased to have found this article first. I’m a complete novice and I fixed my own 404 issue.
YAY!
Thanks so much!
Saud Razzak
Very informative and useful article for WordPress beginners!
Eri
Please can you help me for this, because I tryied but i cant fix it :/
Tom C
Great guide! Totally solved my issue.
Anil
I have created a subdirectory. And I have two wordpress installed, one in root and the other in subdirectory. Both of them contains posts and pages. I want to access both and it’s happening. But when I am hiding the subdirectory slug from the post URL by modifying the .htaccess file, the sub directory name got hidden as per the requirement but the posts of my main domain is inaccessible and getting 404 error. I want to access the post from both root as well as subdirectory. Please suggest.
Jawad
Thank you very very much for your help
Farukh Hussain
Thanks alot for sharing. Your tutorials always helps me.
Karen
Thank you so much for this!
Grant Turner
Fixed. My problem was since I’m running on a windows server then I don’t have a .htaccess file. I need to create a web.config file.
Cindy Martin
This fix DID NOT work for me! I still have a 404 error on my blog page only. I am using Gridalicious and have had nothing but trouble! (Not with Gridalicious but other stuff too).
I removed everything from the to start over. loaded the theme and get the error.
Blog posts are not showing up on the blog page except in the widget and the main page is the 404 error message. Saving permalinks does nothing at all. Host is GoDaddy. HELP! I’m really tired of all this and frustrated.
WPBeginner Support
Hey Cindy,
This seems like an issue with your WordPress theme. Please follow the step by step instructions in our WordPress troubleshooting guide. It will help you figure out what’s causing the issue.
管理者
Maranna
Thanks! I moved website from one server to another and had the problem with posts returning 404. Main page and admin were working fine. Re-saving permalinks worked to fix this problem. Seems that this setting is not carried over correctly in all cases.
Aondongu Tivzenda
The permalinks fix worked perfectly. Thank you for this website. Awesome!
alvin
My problem is funny. I have a couple of WP websites I am currently running each logged into one browser with different portals and logging user names. After I noticed the 404 error checking the redirect area i see my author names have been mixed up from all the different websites. Can someone please assist
niranjan
It worked! Thanks!!
Vishwa
It worked! Thanks!!
Yours is a great website!
Charley Gordon
Thanks for sharing your knowledge.
Al
Thanks, worked for me
Mayapur Voice
This post saved my day today! In an attempt to fix a long standing problem today our host changed the .htaccess file. The issue got resolved but it broke all my links. By the grace of God, I found this post in an instant and it was exactly what I needed. Thanks tons!
marcela bonadio
exactly what i needed. thanks for sharing your knowledge.
Casey
Hello, thanks for this article and all the other awesome articles I have found on wpbeginner. I am running into some problems with my front page giving me an “oops! That page can’t be found” error. I am wondering if you have any advice on how to fix it.
I am running:
LAMP with Debian 3.2.84-1 x86_64 (Wheezy) on a VPS, Apache 2.2.22, php5
Wordpress: 4.7.1
Theme: YS Magazine
The original issue occurred when I switched the permalink structure to use “post type” instead of the default. At that point I could no longer view any of my pages and just got a 404 error. So, I did some research and edited my .htaccess file to allow overwrite. This fixed the problem of the 404 errors on all my pages, except on whatever page is set to my home page. To be clear, there was no problem with any of the pages before I changed permalinks. It also does not matter if I set the front page to static or posts. If I change my front page to another page I can then see the page which was set previously as the front page, but the new front page then gives me the error.
I have tried:
disabling all my plugins and enabling them one by one
changing themes
changing the .htaccess file back
changing permalink settings
I have been searching for an answer to this for hours now and seem to have ran into a brick wall. Any help would be super appreciated. Thank you so much.
Bart Dority
Thank you so much for this post!
I knew my 404 errors had something to do with the permalink structure – and I even tried changing the permalink structure and saving it – and otherwise updating and refreshing it — but it still wasn’t working. But then I read this post which said — instead of changing the permalink style and saving it, — just leave it where it is, and click Save anyway. That worked for me. A huge relief. Thank you!
Angelica
Thank you so much!! It worked!!
MarcB
Thank you so much for this help. Really a lifesaver.
Elyes Gherib
Thank you very much, this did it for me!
Z
Thanks for the post. I’ve had to deal with other problems after switching hosting providers, but this was a new one.
I did the method provided and my site was back to normal within seconds.
Kristine
Hello, I am hoping you can help me- I am super nervous about my wp site right now. When I type the address into the search engine it is a completely barebones site that says it is “set up through Wix” that no longer looks like our site we have been operating through wordpress. This just happened out of the blue and I am so nervous about our posts.
WPBeginner Support
Hi Kristine,
It seems like your WordPress site’s domain is hosted by Wix. If you have login details for a wix account, then you can login and point the domain to your current WordPress hosting provider. If you are unsure, then please try contacting Wix support and your WordPress hosting provider support for more help.
管理者
Jolene
Thank you! My blog has been down and I couldn’t figure out how to fix. In a last ditch effort before I call customer support…I googled. You saved the day!
Bruno Almond
Great blog here! Additionally your site rather a lot up very fast! What host are you the usage of? Can I am getting your affiliate link in your host? I desire my web site loaded up as fast as yours lol
WPBeginner Support
Hi Bruno,
WPBeginner is hosted on a HostGator dedicated server.
管理者
AJ
great job mate, you did a better job than the tech support at bluehost
Lorene
No, this worked for the one post that was showing Error 404, but then ALL the others that worked before, now show Error 404. So I had to change it back. Hope most of them work now.
Gabe DeFrates
Excellent tip for fixing the permalink! I was getting the “File not found” error, and I went right into the WP Control Panel Settings, Saved Changes and she’s working again. You saved the day! Thank you for your time in posting this.
Samnang Thorng
Thanks I can deal with site now. Great helps
jhonny
Recently I have changed my site permalinks and now i am getting lots of 404 errors i have redirected them some of them to new url and others to homepage but still my site users were going down and down what to do now help me please should i change them back to old permalinks? or something else to do please tell me
Exxagon
Thanks a lot for your post.
Since many weeks, I was stucked with a 404 error each time I tried to change my permalinks structure.
I found the solutions in your post :
1. Modify /etc/apache2/apache2.conf, and set “AllowOverride All” everywhere instead of ” AllowOverride None”
2. Empty /var/www/html/.htaccess completely, change it to www-data:www-data & set it temporary to 777.
3. And the main one : “sudo a2enmod rewrite”, and “service apache2 restart”
Thanks again !!
Xavier
Asif
thanks bro it help me and my server version is working fine now
Suraj
Thanks a lot… It’s working for me.
Erwin
Hey, where can I find “/etc/apache2/apache2.conf”??? I don´t even know where to search? Do I need a special Application or something? Sorry, i´ve no idea : I
Abel
Hi, “/etc/apache2/apache2.conf” is a Ubuntu system folder. If you want to access it, you should have access to your server (like ssh).
Abel
Thanks a lot!
Vinita
Recently I am getting lots of 404 page errors in google webmaster. While revamping my wordpress website, instead of redirecting old urls to new, I just edited existing urls to new ones. e.g. website.com/url1 was edited to website.com/url2. Now webmaster if giving 404 error for old urls i.e. website.com/url1. How am I supposed to solve this error? (there are almost 155 urls with 404 errors so cant ignore)
WPBeginner Support
See our guide on how to setup redirects in WordPress.
管理者
Sandy
Is there a plugin that can find 404 errors and redirect them safely with best SEO tactics? Or should i do a edit find and replace in my xml file and remove the urls?
appreciate your ideas…
Michael
changing the right to 660 made my site unavailable. i had to set .htaccess to 644 (which was the original setting). regards Michael
Swadesh
Thanks a lot
Its working for me.
Kieron Atkinson
I’m running wordpress on a client’s in-house server and even though the htaccess file is there with the rewrite module sequence, permalinks are still not working. In fact all the URLs are coming up as example.com/index.php/permalink.
How do I check if the module rewrite is enabled on the server? My client says that they have that enabled but it still doesn’t work.
Many thanks for your help.
Kieron
Renee
Mahalo nui loa (thank you very much)!
Reassigning the Permalinks is exactly what was needed after moving 10 sites to a new hosting company.
Abundant blessings to you and your team.
WPBeginner Support
Hi Renee,
Glad you found it helpful and thanks for the kind words. You may also want to join us on Twitter for more WordPress tips and tutorials.
管理者
Steve
Thank you for your well written article. I have logged in to both /wp-content and /wp-includes/ and I havent found my .htaccess file.
Is it possible that I dont have one as I also get the 404 error if i try and redirect a page usin Redirection in WP.
Thanks in advance.
Steve
WPBeginner Support
Please see our guide on why you can’t find .htaccess file on your WordPress site.
管理者
Paras
hello
i am facing this same problem
i tried your method but still its showing error
Margarita
Today I was about to launch my web after 5 months working very hard in localhost. I was very happy but exhausted. While doing all the migration process, my site was gone. I had made a backup of course, but after trying a hundred times nothing worked. All seemed lost… until I found your post and it was solved in less than 30 min.
My day has been awful, a waste of many hours and energies. But now I go to bed with a smile in my face. Happy again. Infinite thanks.
Marga Rubio Soto
WPBeginner Support
You are welcome. We are glad you found the article helpful. Don’t forget to join us on Twitter for more WordPress tips and tutorials.
管理者