WordPress の運営にはエラー・不具合がつきもので、細かく分けると原因は無数に存在します。
本記事で、一般的によく見かけるエラーや不具合への対応方法をまとめました。トラブルが起きたときの解決のヒントになれば幸いです。
どうしても解決できないときはお気軽にお問い合わせください。
症状別の原因と対処法
エラーの主な症状と、考えられる代表的な対処法を紹介していきます。
症状によってはまったく別のところに原因があることも考えられるため、あくまで解決の糸口としてご参考になればと思います。
管理画面にログインできない(404 エラー)
対処法
- ログイン URL 変更のメールが届いていないか確認する
/wp-admin/
にアクセスしてみる.htaccess
を確認する- FTP でセキュリティプラグインを強制停止する
wp-login.php
にアクセスしてもログインページが表示されない場合、セキュリティプラグインが原因になっていることがほとんどです。
とくに「SiteGuard WP Plugin」は、有効化しただけでログイン URL が自動的に変更されてしまうので、気づかずログアウトして再ログインできない、ということが起こり得ます。
SiteGuard WP Plugin の FAQ に対処法が書かれているので、そちらもご覧ください。
FAQ – WebセキュリティのEGセキュアソリューションズ
他のセキュリティプラグインを使っていてログインできない場合、.htaccess
に変更後のログイン URL が記述されている場合があります。
管理画面にログインできない(エラーコードが表示される)
対処法
- WordPress からのメールを確認する(リカバリーモードに入る)
- PHP バージョンを変更する(下げる)
- FTP でプラグインを強制停止する
- ハッキングによりファイルが改ざんされていないか確認する
ログインページに Fatal error
などエラーコードが表示されている場合、何らかのプラグインが悪さをしていることが考えられます。
もしエラーコードから該当するプラグインを推測できるなら、FTP で強制停止してみましょう。どのプラグインに原因があるか推測できなければ、全プラグインを強制停止するのが手っ取り早いです。
プラグインを停止してもエラーが直らない、または別のエラーコードが表示されるなら、ハッキングによりファイルが改ざんされている可能性もあります。復旧はかなり面倒なので、急ぐ場合は専門業者への依頼をおすすめします。
管理画面にログインできない(弾かれる)
対処法
- ユーザー名・パスワードに間違いがないか確認する(パスワードリセットする)
- サーバーでログイン制限していないか確認する
- FTP でセキュリティプラグインを強制停止する
- DB でパスワードを直接書き換える
ログインフォームは表示されるけど入力しても弾かれてしまう場合、パスワードの入力ミスが考えられます。
とくに、ブラウザにパスワードを自動保存しており、パスワード変更したさいにそれが更新されていなかった、ということはけっこうあります。いったんパスワードリセットを試してみてください。
パスワードは合っているのにログインできないなら、ログインできる IP が制限されている可能性があります。セキュリティプラグインまたはサーバー設定に原因がありそうなので、そのあたりをチェックしましょう。
スパムブロックのさいに、誤って自分の IP をブロックしてしまっていた、というケースもたまにあります(その場合はサイト自体が表示されません)。
管理画面の一部が英語になってしまった
対処法
- WordPress 本体を再度更新する
- WordPress の翻訳ファイルのみ再アップロードする
- ハッキングによりファイルが改ざんされていないか確認する
WordPress「一般設定」や「プロフィール」で日本語に設定してあるのに、一部が英語になっている、という場合は本体更新が正常に完了していない可能性があります。
WordPress 日本語版を再インストールするか、翻訳ファイルのみ再アップロードすると解決するかもしれません。
それでも改善しないときは、ハッキングによるファイル改ざんも疑われます。
管理画面の表示が崩れている
対処法
- ブラウザを変えてみる
- ブラウザのキャッシュをクリアする
- ブラウザの拡張機能を止める
- プラグインを全停止し、テーマを Twenty 系に変更する
- ハッキングによりファイルが改ざんされていないか確認する
管理画面の表示が崩れている場合、大量のエラーコードが吐き出されているか、CSS が正常に読み込まれていないのかもしれません。
何らかの作業を行ったあとであれば、ブラウザを変更して確認しましょう。別のブラウザで問題なく動くなら、ブラウザのキャッシュや拡張機能に原因があると思われます。
何をしてもダメなら、ハッキングされた可能性を疑ってください。
管理画面から勝手にログアウトさせられる
対処法
- プロフィールの「他のすべての場所でログアウト」を試す
- パスワードを変更する
- 覚えのないユーザーが追加されていないか確認する
- 一般設定の URL を確認する
WordPress は他の端末から同時ログインできますが、操作が不安定になることがあります。もし何らかの作業を外注しており、同じユーザーアカウントでログインしているなら、アカウントを分けたほうがよいです。
ログイン情報をだれにも伝えていない場合、パスワードが漏れている可能性があります。全端末からログアウトし、パスワードを変更しましょう。不審なユーザーが追加され、コアファイルが書き換えられていることもあります。
一般設定の「サイトアドレス」が間違っていることもあるので、サブディレクトリからルートに移動した場合などは手順にミスがないか再確認してください。
管理画面からファイルやプラグインを編集・保存できない
対処法
- サーバーの WAF を OFF にする
- セキュリティプラグインの設定を見直す
wp-config.php
を見直す- パーミッションを確認する
.htaccess
を見直す
テーマファイルエディター・プラグインファイルエディターで編集できない、または項目が表示されていない場合はセキュリティ関連に原因があります。セキュリティプラグインの設定や wp-config.php
の記述をチェックしましょう。
以下は、テーマやプラグインの編集を無効化するコードです。
define('DISALLOW_FILE_EDIT', true);
プラグインの一部設定が保存できない、またはカスタマイザーの設定が保存できない場合、サーバーの WAF が影響していることがほとんどです。
一時的に WAF を OFF にして確認してみてください(サーバーによっては設定が反映されるまで 1 時間ほどかかることがあります)。
特定のプラグインが正常に動作しない
対処法
- 他のプラグインを止める
- プラグインのバージョンを下げる
- PHP バージョンを下げる
- セキュリティ設定を確認する
- ブラウザの拡張機能を停止する(シークレットモードを使う)
- テーマを Twenty 系に変更する
一口に「プラグインが動かない」と言っても症状は様々ですが、そのプラグイン自体に問題があるか、他のプラグインやテーマ機能と干渉して動かないと考えられます。
一見、何の関係もなさそうなプラグインが影響していることもあるため、できれば全プラグインを停止したあと 1 つずつ有効化してチェックしてください。
広告関連のプラグインなら、ブラウザの広告ブロック機能(拡張機能)が影響しているケースもあります。
公開済みの投稿や下書きが消えた
対処法
- データベース自動クリーンアップ機能が動いていないか確認する
- プラグインの操作を間違えていないか確認する
投稿一覧画面・編集画面で操作を誤った可能性もありますが、何も覚えがなければ「WP-Optimize」などデータベースを定期的に操作するプラグインが原因かもしれません。
また、「Broken Link Checker」でリンク修正するとき、「Trash」をクリックしている可能性もあります。
ゴミ箱に投稿がない場合、バックアップから復元させるしかありません。詳細は以下の記事をご覧ください。
WordPress の記事が消えてしまった原因と防止策・復旧方法解説
画像のアップロードができない
対処法
- アップロードできる形式か確認する
- サーバーの容量を確認する
php.ini
の設定を確認する- 画像圧縮系プラグインの設定を見直す
WordPress のメディアにアップロードできる形式は限定されており、たとえば .svg
などはアップロードできません。また、プラグインやサーバーの設定で容量の上限が決められている場合があります。
「過去のバックアップデータを含めて自動バックアップしている」と、サーバーの容量がすぐいっぱいになってしまいますから、バックアッププラグインを導入しているなら設定を見直しましょう。
日本語ファイル名の画像や動画をアップロードすると、予期せぬエラーが発生することがあります。
WordPress で画像を挿入するときに気をつけたいファイル名と alt 設定
テーマを変更したらトップページが表示されない・崩れる
対処法
- 表示設定「ホームページの表示」を確認する
- ウィジェットやカスタマイザーを確認する
- ブラウザのキャッシュをクリアする
- パーマリンク設定を何も変更せず更新する
- PHP バージョンを下げる
- 全プラグインを停止する
テーマ変更後に多少表示が崩れるのは防ぎようがありません。できるだけアクセス数の少ない時間帯を狙って変更作業しましょう。いきなり変更せず、「ライブプレビュー」機能を使うのもよいですね。
表示が大幅に崩れていたり、トップページの一部が表示されない場合、表示設定やプラグインが影響しているかもしれません。テーマ専用のプラグインが悪さをしていることもあります。
パーマリンク設定更新+キャッシュクリアで直る可能性もあるので、落ち着いて対処すれば大丈夫です。
ページ上部になぞの余白がある
対処法
- テーマ設定やカスタマイザーを見直す
- ブラウザ拡張機能を停止する
- テーマファイルを調べる
- 文字コードを確認する
ページ上部に 1 ~ 2 行ほどの余白が生じる場合、本来表示されているはずのキャッチフレーズや SNS アイコンが背景色と同化しているのかもしれません。
Google アナリティクスなどのコードを間違って貼り付けており、誤作動していることも考えられます。
もしテーマのテンプレートファイルを独自に追加した、functions.php
を編集したときは、文字コードが UTF-8 になっているか確認してください。同じ UTF-8 でも「BOM あり」だと不具合の原因になります。
WordPressの文字コード(UTF-8)と改行コード(LF)
画面が真っ白になって何も表示されない
対処法
functions.php
などに追加したコードを見直す- プラグインをすべて停止する
- テーマを Twenty 系に変更する
- PHP バージョンを下げる
旧バージョンの WordPress ではよく見かけた「画面が真っ白になる」症状は、たいてい functions.php
の編集ミスが原因です。
ほかに、テーマやプラグインの機能が干渉するなど PHP 関連のエラーが濃厚のため、直前の操作を思い出して元に戻しましょう。
管理画面に入れない場合は FTP で操作するか、バックアップデータから戻す形になります。
「現在メンテナンス中のため、しばらくの間ご利用いただけません」
対処法
- テーマやプラグインの更新完了を待つ
.maintenance
ファイルを削除する- ブラウザのキャッシュをクリアする
裏側でテーマやプラグインが更新されている間、「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示されることがあります。
もし数分たっても表示が直らないときは FTP で .maintenance
ファイルを削除し、未更新のテーマ・プラグインを手動で更新してください。
更新中にブラウザを閉じたり別のタブに移動したりせず、更新完了まで待機するのがベストです。また、一気に複数更新するとエラーが出ることもあるので、1 つずつ更新していきましょう。
メールが届かない
対処法
- 送信元メールアドレスを確認する
- DKIM / SPF / DMARC を設定する
- 問い合わせフォームのスパム対策を見直す
WordPress からのメールが届かない原因はいくつかありますが、最低でも「DKIM」と「SPF」の設定が必要です。それでも、もしかしたら Gmail やセキュリティの厳しいサービスには届かないかもしれません。
同じサーバーを使用している他の運営者が悪さをしていることもあり(迷惑メール乱発など)、最悪の場合サーバー変更を余儀なくされるかもしれません。
共用サーバーを使っている以上は仕方のないことですし、メールは 100 % 届くものではないことは覚えておきましょう。メール到達率を上げる方法は以下の記事で解説しています。
Contact Form 7 のメールが届かない原因と対処法
データベース接続エラーになる
対処法
wp-config.php
を見直す- MySQL ユーザーを新規に割り当てる
- データベースが破損していないか確認する
- PHP バージョンを下げる
通常の操作範囲でデータベース接続エラーになるケースは少ないですが、セキュリティプラグインなどデータベースを操作するプラグインが原因で接続が切れることがあります。
データが失われている可能性は低く、wp-config.php
に書かれている以下の部分を再設定すれば元に戻ることがほとんどです。
- DB_NAME(データベース名)
- DB_USER(データベース ユーザー名)
- DB_PASSWORD(データベース パスワード)
「リダイレクトが繰り返し行われました」
対処法
- リダイレクトプラグインを見直す
.htaccess
ファイルを確認する
「リダイレクトが繰り返し行われました」は、リダイレクトチェーンと呼ばれるものです。
「Redirection」などリダイレクト用のプラグインを使っており、パーマリンク変更を自動的に検知・修正する設定になっているとリダイレクトチェーンが起きやすくなります。
.htaccess
にリダイレクトコードが追記されている可能性もあるので、チェックしてみてください。
「この接続はプライベートではありません」
対処法
- SSL 証明書が更新されているか確認する
- サーバーの SSL 設定を更新する
- サーバーに問い合わせる
「この接続はプライベートではありません」と表示されたときは、SSL 証明書が切れています。
サーバーの無料 SSL を使っている場合、サーバー側で自動更新処理を行ってくれますが、まれに更新に失敗してそのまま期限切れとなります。
更新失敗の通知を 3 日前や 1 日前に送ってくるようなサーバーもあるので、頻繁に起きるようであればサーバーを変更したほうがよいかもしれません。
リンクをクリックしたら海外サイトに飛ばされる
対処法
- ファイルが改ざんされていないか調べて復旧する
ヘッダーメニューなど内部リンクをクリックすると海外サイトに飛ばされる場合、ほぼ確実にハッキングされています。
コアファイルが書き換えられていたり、不正なファイルが仕込まれていたり、全記事にスクリプトが混入されていたりと手法は様々。
「偽のサイトにアクセスしようとしています」など警告が出る場合は、修復後に Search Console での申請も必要となります。詳細は以下の記事をご覧ください。
WordPress でエラーや不具合が起きたときに試すこと
症状に関わらず、WordPress でエラー・不具合が起きたときに試すべきことを掲載しておきます。
ブラウザや端末を疑う
WordPress にまったく問題がなく、ブラウザや端末に原因があるケースも少なくありません。
- ブラウザを変えてみる
- ブラウザのキャッシュをクリアしてみる
- 拡張機能を停止してみる
- 別の端末(スマホなど)で試してみる
いずれの場合も症状が改善しなければ、サイトに問題が発生していると思われます。
キャッシュと Cookie の消去 – パソコン – Google アカウント ヘルプ
Firefox のキャッシュを消去するには | Firefox ヘルプ
パーマリンク設定を更新する
テーマやプラグインのアップデート後に生じた不具合は、パーマリンク設定を更新するだけで改善する可能性があります。
設定は何も変更しなくてよいので、「変更を保存」をクリックしてみてください。
キャッシュをクリアする
ブラウザのキャッシュではなく、WordPress 側のキャッシュがエラーの原因になることがあります。キャッシュデータが多すぎてエラーが起きていた、ということも少なくありません。
キャシュ系プラグインを使っているなら、設定画面でキャッシュを削除しましょう。
また、高速化のために複数のキャッシュ系プラグインを導入していると、不具合が起きやすくなります。「PageSpeed Insights のスコアを上げるためだけに導入した」のなら、いったん外したほうがよいです。
直前の操作を元に戻す
直前に何かをしてエラーが起きた場合は、その設定を戻しましょう。
「これは関係ない」と判断したものが実は影響していた、ということもありますから、可能なかぎり元の状態に戻してください。
とくに何も操作していないなら、本体・テーマ・プラグインの自動更新が影響している可能性があります。あるいは、ハッキングによりファイルが改ざんされたかもしれません。
いろいろ操作してしまいどれが原因かわからない、または管理画面に入れなくなったなど不具合が出ているときは、また別の対応が必要です。
バックアップデータで巻き戻す
バックアップデータがあるなら、何らかの操作をした直前の状態まで戻すのが確実です。
サーバーによっては自動バックアップ機能が備わっているので、それを使って復元を試みるのもよいですね。
以下の場合は症状を調べて個別に対応しなくてはなりません。
- バックアップしていない
- 操作前のバックアップデータがない
- いつから不具合が出ているのかわからない
- 更新した記事は残したい
かなり前からハッキングによりファイルが改ざんされていた場合、汚染されたファイルをバックアップしている可能性があるので注意しましょう(1 年以上気づかず放置していた、というケースもあります)。
サーバーの設定を変更する
WordPress 管理画面ではなく、サーバーの管理画面から操作するものがいくつかあります。
- PHP バージョンの変更
- WAF 設定
- セキュリティ設定(海外からのアクセス遮断など)
- キャッシュ
「PHP バージョンを下げる」のは応急処置となるので、最新のバージョンに対応していないテーマ・プラグインを利用している場合はアップデートまたは変更を検討してください。
テーマやプラグインに合わせて PHP バージョンを変更すると、セキュリティ面でのリスクが増えてしまいます。
プラグインを停止する
WordPress で起きる不具合の大半は、プラグインに原因があると考えてよいかもしれません。
復旧のご依頼をいただくときも、原因がハッキリしないときは、まずプラグインを止めるところから始めています。
管理画面にログインできるなら停止は簡単ですが、ログインできないときは FTP で強制停止させましょう。ログインできるようにしてから原因を探るのが近道です。
全プラグインを停止して再有効化するだけで症状が改善するケースもあります(プラグイン同士の干渉が原因と思われます)。
.htaccess や wp-config.php を元に戻す
プラグインによっては、.htaccess
や wp-config.php
に自動的にコードを追記します。
疑わしいプラグインを停止したあとも症状が改善しない場合は、両ファイルをデフォルトの状態に戻してみてください。
パーマリンク設定を「投稿名」にしているとき、.htaccess
は以下の形になっています。
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
wp-config.php
は、WordPress に同梱されている wp-config-sample.php
に素のコードが記述されています。
デフォルトの状態に修正して数秒後に書き換えられてしまうなら、不正なファイルが仕込まれているかもしれません。
テーマを変更する
サーバー設定にもプラグインにも原因がなさそうであれば、テーマを変更してどうなるか調査するのもよいと思います。
ただし、リアルタイムのアクセス数が多い状態でテーマを変更するのは抵抗があるでしょう。
可能であれば本番サイトとまったく同じテスト環境を構築し、そこでテストするのがおすすめです。ただし、ハッキングによりマルウェアが仕込まれていた場合は、汚染されたファイルをコピーすることになりかねません。
ローカルでテストするさいはご注意ください。
WordPress 本体をダウングレードする
WordPress 本体のメジャーアップデート後に不具合が生じたときは、本体のバージョンを元に戻すのがおすすめです。
メジャーアップデート直後はトラブルが起きやすいため、修正バージョンがリリースされてからアップデートしましょう。
ハッキングによりファイルが改ざんされていたときは、手動でクリーンインストールをおすすめします。
WordPress ダウングレードプラグイン「WP Downgrade」の使い方と設定方法
テーマやプラグインをダウングレードする
テーマやプラグインのアップデート後に不具合が生じたときは、バージョンを元に戻してみてください。
公式ディレクトリで配信されているものであれば、「詳細を表示」から旧バージョンをダウンロードできます。
旧バージョンが配信されていない有料テーマ・プラグインであれば、バックアップデータから拾ってこないとダメかもしれません。
検索する / AI に聞く
復旧の足がかりがつかめないときは、症状やエラーコードを検索するのが一番です。
具体的なエラーコードが表示されている場合、AI に聞いてみるとヒントが得られるかもしれません。AI によりますが、PHP バージョンの影響による簡単なコード修正ぐらいならすぐ答えを教えてくれます。
まとめ
「どの環境でも起こり得る一般的なエラー」と「そのサイトでしか起きないエラー」があり、後者の場合は検索しても答えが出てこないかもしれません。
「エラーだと思っていたけど、実はそういう仕様だった」ということもありますから、なおのこと検索だけで答えを得るのは難しいと思います。
あわてて復旧作業を行うと別のトラブルにつながりやすいため、何かしらのエラーが出たときはいったん落ち着きましょう。
もし不具合を解決できないときは、お気軽にお問い合わせください。ご相談や調査は無料で承っています。