レンタルサーバーのロリポップでWordpressブログを開設し、設定をいじっていたら、いきなりサイト(ブログ)や管理画面が404エラーになった。
それから自力復旧させるまでにやったことを備忘録としてメモ。
WordPress簡単インストールで作成したブログ

ロリポップには公式で「WordPress簡単インストール」機能がある。
これを使うと5分もしないでWordpressブログを開設することができる。
今回はこのWordpressブログが、開設1か月足らずで404エラーになった。
(サーバー契約1年)
404エラーになる直前にやったこと
ロリポップの「Wordpress簡単インストール」で作られるブログは、ドメインルート直下に構築されるのではなく、サブフォルダに作成される。
FTP管理画面で見るとこんな感じ。

このブログのURLが「https://nyan-kyun.verse.jp」なので、サブフォルダに作成されるWordpressブログは「https://nyan-kyun.verse.jp/wordpress/」というURLになる。
しかし、Wordpressブログは設定やデザインを変更することで、ホームページのようなデザインにもすることができるため、WordPressブログそのものをドメインのトップにすることができる。
ロリポップでも公式にWordpressブログのサイトURL変更方法について解説しているので、その手順を見ながら管理画面設定を変更した。

このブログであればWordpressアドレスとサイトアドレスは「https://nyan-kyun.verse.jp/wordpress/」になる。
これを両方とも「https://nyan-kyun.verse.jp/」に変更して保存したところ、サイトも管理画面も404エラーになった。
オイ、ロリポップ????
WordPress復旧手順
とりあえず404エラーになる発端になったWordpress管理画面の「Wordpressアドレス」と「サイトアドレス」を元のアドレスに戻すことからスタート。
ロリポップのサーバー管理画面からWordPress管理画面を復旧させる
凝りポップホームページにログインし、マイページの「ロリポップ!FTP」からサブディレクトリの「Wordpres」ディレクトリを開く。

WordPressフォルダを開いたら、真ん中あたりに「wp-config.php」というファイルがあるので、これを開く。
wp-config.phpファイルはWordPressブログで非常に大事なことが書かれてあるため、もしミスっても復旧できるように、必ずバックアップを取る!
テキストエディタでもメモアプリでもなんでもいいので必ずとって、保存しておく。

wp-config.phpファイルのバックアップが取れたら、wp-config.phpファイルの一番下に下記を追記する。
update_option( ‘siteurl’, ‘https://XXXXX.jp/wordpress/’ );
update_option( ‘home’, ‘https://XXXX.jp/wordpress/’ );

XXXXXのところは自身の復旧したいブログのURLに変更。
このブログであれば「https://nyan-kyun.verse.jp/wordpress/」になる。
分からないときは、サーバー管理画面のサブディレクトリ名を見る。
同じロリポップでも「/wp/」の人や「/wordpress/」の人もいるようなので、必ずサブディレクトリ名と同じにして、「保存する」をクリック
STEP3の設定ができれば、恐らく404エラーだったWordpressの管理画面が復旧され、ログインできるようになる。
この時点で自分はWordpressのTOP画面も復旧……したかな?
メモってないから覚えてない……。
とりあえず、Wordpressの管理画面に入って、左メニューから「設定」→「一般設定」→「Wordpressアドレス」&「サイトアドレス」が、404エラーになる前のアドレスに戻っていることを確認して、念のため、「保存」をクリックしておく。これで確実に一般設定のアドレスが変更前のアドレスに戻る。
しかし、自分の場合は、エラーが出る前の操作・設定を戻しても、WordPressのTOPページは表示が戻ったが
- 個別の記事が表示されない
- 記事を修正し保存を押してもエラーがでて保存できない
- WAF設定を無効にしても閲覧・更新が不可のままだった
などの不具合が残っていた。
うえで触った「wp-config.php」もWordPressブログでは重要なファイルだったが、「.htaccess」はそれのさらに上を行く重要ファイル。
テキストエディタでもなんでもいいから絶対にバックアップ必須!!
再度ロリポップのサーバーの管理画面である「ロリポップ!FTP」から、サブディレクトリの「Wordpress」フォルダに入る。
上の方に.htaccessファイルがあるので、これを開く。
そして全力バックアップ。

「.htaccess」ファイルを開くと、下図のような15行くらいの短い文が書かれている。
自分はロリポップのFTP直書き込みは怖かったのでエディタで修正した……。
このファイルに変な全角入ったり、スペルミスするとWordプレスがぶっとびかねないので慎重に。
この短いやつから2か所修正する。

①まず8行目あたりにある「RewriteBase /」これがルート階層になっているので、Wordpressのサブディレクトリ階層に修正。
修正前:RewriteBase /
修正後:RewriteBase /wordpress/
②次に12行目あたりにある「RewriteRule . /index.php [L]」もルート階層のままなので、Wordpressのサブディレクトリ階層に修正。
修正前:RewriteRule . /index.php [L]
修正後:RewriteRule . /wordpress/index.php [L]
修正すると下図のようになる。

スペルミスやへんなところいじってないか確認して、これをまるっとコピーして、ロリポップ!FTPの「.htaccess」に張り付けて保存。
※要はSTEP3でサイトアドレス等を修正したのに、個別記事にアクセスし表示・修正保存などをするための「.htaccess」内のフォルダ階層が修正されていなかった。
たぶんこれでWordプレスブログは元にもどっているはず。
自分は無事復旧できていた。
他にも不具合が残っていないかの確認は必要。
- 記事や固定ページを新規投稿/修正/表示できるか?
- 画像のアップロードできるか?
- 記事一覧が表示/更新されているか。
- 問い合わせからのメールは届くか?
- プラグインは無効/有効できるか?
小さいことではあるけど、詳細部まで不具合チェックしておく。
STEP3で「wp-config.php」の下部に追記した
update_option( ‘siteurl’, ‘https://XXXXX.jp/wordpress/’ );
update_option( ‘home’, ‘https://XXXX.jp/wordpress/’ );
↑コレ。
自分は余計なコマンドは残したくないので消した。
別に消さなくてもOK。
せっかく復旧したのに、余計なことしてまた404エラーにしたくない、という人は残しててもよさげ。
WordPressフォルダそのものをバックアップ取る
よくWordpressブログはプラグインを使ってバックアップを取ることが推奨されているが、それはあくまで記事のテキストや乗せている画像のバックアップであって、WordPressブログそのもののバックアップではない。
なので、今回のように404エラーが出た場合は、対処できない。
そのため、もし何かあったときように、ブラグインでの記事バックアップだけでなく、WordPress自体のバックアップもとっておくと404エラーになったり、ブログが飛んだときも復旧できる。
フリーのFTPソフトなどを使い、定期的にバックアップを取っておく。
とりあえず、自分はフリーソフトのWinSCPをインストールしてバックアップとった。
(目的がサイト管理ではなく、たまにするWordPressのバックアップだけのためなので無料ソフトでいいや)

ロリポップのWordPressブログはルートアドレスに設定できないのか?

「ロリポップのWordPressブログはルートアドレスに設定できないのか?」については、できないことはないのだろう、たぶん。
ただし、サイトアドレス変更ができる第一条件として、Wordpressブログを設置した初期段階であれば。(ノープラグイン・ノーテーマ変更など)
自分の場合、ロリポップの簡単インストールを使ってWordプレスブログを設置してから数週間後にサイトアドレスを変更しようとした。
その間に有料テーマをインストールしたり、プラグインを追加したり設定をあれこれしてしまっていた。
WordPressでエラーが出るパターンとして
- インストールしたテーマ
-
たまたまインストールしたテーマが相性が悪かった。プラグインと設定が競合してしまったなど。
- プラグインにバグがあったり、他プラグインや設定と競合してしまった
-
プラグインは便利だけど、Wordpress設定に干渉してくるのと他のプラグインとも設定競合しやすくエラーもでやすい
- (設定変更して保存できないとき)ロリポップのWAF設定が干渉していた
-
これはセキュリティ上、許容範囲かな。403エラーと表示されることがおおい。設定変更するときだけWAFを無効にすればいい。
とはいえ、毎回WAF設定のON/OFFは面倒なので、エラーが頻発するようならWAF検知に引っかからないように設定できるプラグインを入れるのをおすすめ。
ページ下記にWAF設定できるプラグインを紹介しているのでそちらを参照↓
https://nyan-kyun.verse.jp/wordpress/2024/10/10/wordpress-loli/#index_id7 - (設定変更して保存できないとき)パソコン自体のセキュリティソフトが干渉していた
-
パソコンにインストールしているノートンやカスペルスキーなど、セキュリティソフトのファイアウォールが干渉。これも403エラーとでることが多い。一時的にセキュリティを停止させればいい
そんな設定やプラグイン同士の競合が重複して、公式手順では変更がうまくできずに404エラーになってしまったかもしれない。
今回の404エラーをネットで調べていると、そもそもロリポップはテーマによって相性があるらしい。(公式がどーのこーの言っているわけではないので推測だが)
管理設定やインストールしたプラグインの影響?で、普通の記事を更新するだけでも、毎回WAF設定を無効にしないといけないとか、不具合コメントが散見された。
もちろんどのサーバー・テーマであってもプラグインの影響を完全になしにはできないから、一概には言えないが……。
ともあれ、今回は公式の手順通りにやったのに404エラーになって、復旧に苦労したよ……。
もう怖くてサイトアドレス変更はしばらくいいや……。
まずWordPressフォルダをバックアップする……。
それでも、どうしてもWordPressをルートアドレスにしたいとき。
いつか自分でも一回試してみたいなと思う方法を忘れないようにメモっておく。
ルートアドレスに変更するためには、WordPressブログを設置した直後の初期状態でなければエラーになりやすいというのであれば、Wordpressを「ロリポップ!FTP」からフォルダごと全部消して、それからもう一度WordPressブログ設置すればいいのでは?
それで、Wordpress管理画面からサイトアドレス、管理画面アドレスを変更してみる。
WordPressブログをルート階層に移動できればよし。
また404エラーがでたら、それはもうロリポップが悪い。
もちろん、事前にこれまで書いた記事や画像のバックアップは忘れない。
WordPressテーマをインストールしているのであれば、再インストールしなければならない。
同様にプラグインも再度インストール。
WordPress自体の初期設定に、固定ページの設置などあれこれ。
手間がかかるが、これなら同じアドレスを使ってWordpressブログをルート階層に持ってこれる、気がする。
(結構手間かかるなぁ…)
ロリポップは10日間お試し期間があるから、それで出来るかどうか試してみてもいいな
403エラー/404エラー―WAF設定の除外設定をする(ロリポップ編)
ロリポップはとにかくテーマやプラグインと相性の良しあしがひどかったりするため、管理画面から簡単な設定を変えようとするだけでも、WAF(ファイアウォール)検知にひっかかり、403エラーや404エラーが出やすい。
しかし、他のサーバーだと公式で除外設定とかできるんだけど、ロリポップは公式マイページからWAFの除外設定ができない。とっても不便。
とはいえ、毎回設定を変えるたびに、WAF検知に引っかかって、ロリポップ公式マイページからWAF設定のON/OFFをするのは非常に面倒なので、プラグインでWAF検知除外設定をする。
このプラグインを入れるだけでWAF検知にひっかからなくなるのでとっても快適になった。
デメリットとして、このプラグインはセキュリティのためのプラグインで、管理画面にログインするアドレスが変わる(アドレスは自由に変えられる)。
また、ログイン方法も表示ワード入力が追加されるので、すでに二段階認証などを設定している人は、認証が増えるのでそこだけ手間に感じるかも……。
プラグイン「Site Guard WP Plugin」
以下参考サイト

WAFに関する項目は下記アドレス[あたり。
■WAFチューニングサポート機能の特徴
https://webst8.com/blog/wordpress-siteguard/#st-toc-h-15