All-in-One WP Migrationで移行先のサイトがトップページ以外404になってしまうエラーの直し方
どうも、デジタルマーケッターのジュンイチです。
先日、クライアントさんのWordPressサイトをAll-in-One WP Migrationというプラグインを使って旧ドメイン⇒新ドメインに移行していたんですが、その際に起きたエラーと直し方を備忘録として書いておこうと思います。
今回起きたAll-in-One WP Migrationの移行失敗の事例について
以下の手順で、移行作業をしました。
どんな手順で作業をしたのか?
ほぼほぼプラグインの機能を使って移行をしました。
1)旧サイトにAll-in-One WP Migrationのプラグインをインストールして有効化
↓
2)旧サイトにAll-in-One WP Migrationの有料版の拡張機能「All-in-One WP Migration Unlimited Extension」をインストールして有効化(有料版じゃないとサイトの容量がオーバーしているため)
↓
3)旧サイトでデータをエクスポートしてダウンロード
↓
4)新サイト(新ドメインのWordPressサイト)を立ち上げる【クライアントさんのさくらサーバーにて】
↓
5)新サイトにAll-in-One WP Migrationと、All-in-One WP Migration Unlimited Extensionの両方をインストールして有効化
↓
6)新サイトでAll-in-One WP Migrationのインポート機能を使ってデータを移行
これで、基本的には移行できるはずなんです。
今回起きたエラー
新サイトの中身を見てみても、ちゃんと記事データや画像データはすべて入っている。でも投稿や固定ページの公開画面を見ようとしても、「404」のエラーがでてしまうんですよね。
なぜか分からんけどトップページだけはちゃんと表示される…。
原因などを調べてみる
どうやら、同一サーバー内で、ドメインが違うWordPress同士で移行をするとこのようなエラーが出ることがあるみたいです。
解決策をググった
なんでも書いてくれる人がいるから助かりますね。今回は、新サイトのWordPressサイトの中にある「.htaccess」というファイルの中の一番上に、以下のコードを記述すれば直りました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
さくらサーバーに設置したWordPressサイトの.htaccessファイルのある場所
.htaccessはFilezillaなどのFTPソフトを使ってダウンロードして、一旦バックアップを取っておいて編集しましょう。
.htaccessのある場所は、さくらサーバーの場合は以下の場所にあります。
www > 新ドメイン(example.com) > ココ
まとめ
また何かのタイミングでクライアントさんのサイトの移行をすることがあるかもしれないと思い、自分のために、また誰かのお役に立てるならと思い、メモしておきました。
同じようなエラーが出たら参考にしてみてください。
デジタルマーケティングで重要な
「データ分析」を今すぐ始めよう!
\ Kindleで売れ筋トップ獲得本 /
GA4超入門ガイドブック
プレゼント!