コラム(WordPress)WordPressマルチサイトを単独サイトへ移行この[ホームページ引っ越しサービス]のサイトは、最初、MovableTypeで制作し、2017年の1月に、WordPressで作り直しました。その際、将来的なことや、テストも兼ねて、サブドメイン型のマルチサイト(複数サイト機能)にしたのですが、約半年間それで運営してみて、当サイトの場合は、マルチサイトにするメリットよりも、いくつかのプラグインが動かないプラグインの管理や設定が、ややこしいサイトの切り替えが、意外に面倒データベースの肥大化が懸念されるといったデメリットの方が大きいと感じましたので、先日、マルチサイトから、一般的な単独サイトに移行しました。現行のサブドメイン(シンボリックリンク設定済み)をリネーム移行用のサブドメインをリネームして、本番用にGoogle関係の設定といった流れです。一筋縄ではいかない、マルチサイトから単独サイトへの移行ただ、実際にやってみると、マルチサイトから単独サイトへの移行は初めてでないにもかかわらず、さまざまな問題が発生し、その都度、調べて、対応して、の繰り返しで、想定していたより数倍の時間を費やしてしまいました。そこで今回は、参考までに、その一部を紹介します。今回のように、マルチサイトから単独サイトに移行する場合は、一応、サイトごとにテーブルが分かれているとはいえ、他のテーブルと影響しあっているるかもしれないので、安全のために、XML形式でエクスポートし、それを新しいWordPressにインポートしました。したところ、新旧のWordPressで、「post_id」(投稿等の固有ID)が異なる現象が起こりました。コラム[インポートでpost_idが変わった?]でも触れましたが、当サイトのように、URLに「post_id」を含んでいるサイトでは、新旧で「post_id」が変わるということは、URLが変わるということですので、そのままでは問題があります。そこで、新旧のMySQLデータベースの「posts」テーブルを細かく調べてみたところ、投稿内に「PNG」ファイルがあると、post_idが振り直されていましたので、エクスポートファイル内のPNGファイルを認識しないよう細工してインポートしたところ、現行サイトと同じ「post_id」になりました。Thumbnail」というプラグインがあり、仮に「メディア」に画像が登録されていなくても、「固定ページ」や「投稿」で画像を使っていれば、アイキャッチ画像として登録されるのですが、なぜか今回は、それが数個しかできませんでした。Server」というプラグインを使って、ディレクトリごとに、アップロード済みの画像ファイルを登録しました。Server」プラグインの方を使いました。Thumbnail」を実行したのですが、それでも前回同様、数個しかアイキャッチ画像が登録されませんでした(つまり「メディア」に画像登録されているかどうかは関係無かったようです)。Thumbnail」が、一部のデータではうまくいって、残りのデータでは機能しなかったのかは、謎のままです。Thumbnail」の一括登録機能を動かすのが目的ではなく、アイキャッチ画像が正しく登録されることが目的なので)、これで良しとしました。Ranking」というプラグインを使っています。今回の移行では、最終的にURLは変わりませんので、設定もそのままで大丈夫と考えていたのですが、移行後は、なぜか表示されなくなってしまいました。そこで、改めて、プラグイン側とGoogle側の設定を1つずつし直していったのですが、それでも表示されません。そこで試しに、「本日から何日前までのランキングを表示させるか」の数字を、元々の30日から、7日に変更してみたところ、正しい順位が表示されるようになり、29日に変更しても正しく表示されました。一度30日にしても、表示されません。29日で正しい順位が表示されましたので、その日はそれで終え、翌日、試しに30日にしたところ、ちゃんと表示されるようになりました。これも原因は不明ですが、以降は正しい順位が表示されていますので、これで問題ないと思われます。マルチサイトから単独サイトへの移行も、お任せくださいWordPressをマルチサイトで運営している方は、おそらく少ないと思われますし、それをわざわざ単独サイトの移行することも稀と思われますが、もし、何らかの理由で移行が必要になり、自社(自分)でやってみたけど、問題が発生して先へ進めなくて困っておられる方がいらっしゃいましたら、ぜひ、ご相談ください。問題解決のお役に立てると思います。