wordressのシングルサイト化

 便利だと思って始めたXserverでWordPressを使いマルチサイトにしたホームページですが、便利なのは便利なのですがけっこう面倒でもありました。

マルチサイト化をやめた2つの理由

 最初にマルチサイト化する作業も面倒でしたが、運用していて特に辛かったのが以下の2点です。

1. プラグイン設定の手間が数倍かかる

 シングルサイトならプラグインの設定は一発で終わるのですが、マルチドメインにはそれぞれの子サイト毎にWordPressがインストールしてあるので、それぞれのサイトのWordPressでプラグインの設定を行わないといけません。
 5つのサイトで作成されたホームページなら同じ作業が5回必要となり、面倒くさがり屋の私には不向きでしたね~。

2. 謎のログイン不具合(データベースの勝手な書き換わり)

 それと原因は分かりませんが、子サイトのWordPressにログインしようとすると、ログインできずに大元のサイトのWordPressにログインしていまう(リダイレクトされる)という現象が頻繁に起きました。
 これはネットで調べても全くヒットしなかったのですが、色々調べていくと子サイトのデーターベースが勝手に書き変わってしまうのが原因だと思われます。

【解決策】Xserverでのログインループ対処法

 検索しても原因も対策も分からなかったのですが、この対策で私が編み出した解決策はコレです。

  1. Xserverのサーバーパネルにログインする。
  2. phpMyAdmin(データーベース)にログインする。
  3. ログインできないサイトのWordPressデーターベースが入っている場所(wp7ならwp7など)を開く。
  4. テーブル内の「option」を見る。
  5. 本来アドレスが「camp」とかになっている筈のアドレス(siteurlやhome)が「wp」に勝手に書き換わっているので、正しいアドレス(campなど)に修正する。

 すると子サイトのWordPressにログインできるようになります。
 が、この現象は修正しても修正しても頻繁に起こるため本当に厄介な現象でした。

マルチサイトからシングルサイトへの移行手順

 以上のような理由でマルチサイトで作成したサイトをシングルサイトに戻すことにしました。
 やり方はググると色々と出てくると思いまが、忘れてはいけないのはバックアップです。

 シングルサイトに戻す前にマルチサイトのそれぞれのサイトできちんとデータをエクスポートしてバックアップしていれば、シングルサイトに戻した後、バックアップしていたデータをWordPressでインポートすればちゃんと元に戻ります。

 ただ、各ページに張り付けられたりリンクされた画像等のアドレスは以前のマルチサイトのアドレスのままなので、修正する必要があり(campフォルダ等になっている参照場所をwpフォルダに修正する)、これがなかなか面倒でした。
 私は各ページのテキストをマイクロソフトワードにコピーして、検索・置換で一括修正し、それを再びコピーしてテキストに戻しました。

移行時の失敗談:バックアップ漏れ

 これで順調に進んでいたのですが、大失敗がありました。全てのサイトのバックアップをきちんとしたつもりだったのですが、1つのサイトだけ前述の「WordPressのアドレスが書き換わる現象」が発生していたようでバックアップが取れていませんでした。私の確認不足が原因ではあるのですが・・・。
 仕方なく1つのサイトだけ手動で復元しました。

パーマリンク変更による404エラー問題

 他にも困った問題は色々とありました。中でも一番困ったのは、パーマリンクが変わってしまうことでした。後の祭りですが、調べると注意事項としていっぱい出てきますよね。
 これによりGoogleでの検索結果をクリックしても404エラーとなり、ページが表示されません。アドレスが変わったのだから当然ですよね。

  • サイト内リンク:「Broken Link Checker」などのプラグインを使い、全て新しいリンク先に修正しました。
  • Google検索からの流入:これに関しては「301リダイレクト設定」で解決する方法もあるようですが、私はそのままにしておくことにしました。結果はどうなるでしょうか?

 なんとか苦労してシングルサイトにし、ちゃんと表示できるようになりました。

WordPressのシングルサイト化完了画面

無事にシングルサイト化が完了しました。

 それから少し更新もしました。

 興味のある方はご覧下さい。

 

にほんブログ村 アウトドアブログ キャンプへ
にほんブログ村
にほんブログ村 写真ブログへ
にほんブログ村

 

コメント

タイトルとURLをコピーしました