サブドメインによるマルチサイトを元に戻してみた、そしてドハマリした【KUSANAGI】

この記事は約5分で読めます。

2017-07-20IT雑記, KUSANAGI for ConoHa, WordPressプラグイン

kusanagiのイメージキャラクター草薙 沙耶 ©PRIME STRATEGY
kusanagiのイメージキャラクター草薙 沙耶 ©PRIME STRATEGY

本記事は、KUSANAGIでマルチサイト化(サブドメイン方式)で分割したサイトを元に戻すまでの過程を記すものです。
思わぬところでドハマリしました……。

なお、適宜読み替えれば、KUSANAGI以外のサイト移転にも応用できると思います。

マルチサイトを元に戻した理由

始めに記しておきますと……戻したくなかったです。
だって、マルチサイト化はいいこと尽くめでしたから

  • WordPress特化型サイトの分、それでフォローしてくれる人が増えた
    元々、分離したのは本サイトとWordPress関連があまりに掛け離れているからです
  • 分離サイトの回遊率・滞在率が上がった
    WordPressの記事だらけですから必然的に巡回しやすくなります
  • アドセンスの広告単価が上がった
    特化サイトの方がターゲットに訴求しやすくなりますので

しかし、以下の理由により戻さざるをえませんでした。

アドセンスの関連コンテンツの「広告」がいつまで経っても表示されない。

この原因は、恐らくサイトを分離したタイミングにあります。
関連コンテンツを導入した直後に分離したんですよね。
そのせいで本来なら2週間くらい待てば表示されるはずの広告が3か月経っても出てこない。
色々試してみたのですが改善されることもなく。
やむなく再統合するに至った次第です。

これが原因であれば、しばらくすると広告が出てくれるのでしょう。
その際は、この項を独立した記事にしたいと思います。

マルチサイトの再統合手順とはまった点

はじめに ~ドハマリした主な原因

まず、やるべきことを端的に記しておきます。

KUSANAGIを最新版にアップデートする

最後にアップデートしたタイミングによるのですが、そうしないとNginxやApache回りの不具合でインポートできない場合があります。
症状と原因は、こちらに詳しいです。

以下、私の場合。
ファイル分割など色々試してもインポートがうまくいかないので、試しにApacheに切り替えてみました。
すると投稿一覧を含めて「無効な投稿形式。」や「このページを閲覧する権限がない」が出るように。
そこで調べたところ上記記事が引っ掛かったのでアップデート。
これで原因の1つが解決しました。

原因の1つというのは……もう1つ原因があるから。
その対処法は手順1をお読みくださいませ。

移転元サイトをGoogle Analyticsに登録しておく

大抵はしていると思うのですが、していない場合はしておいてください。
理由は後述します。

手順1 Advanced Export for WP & WPMUを使ってエクスポートする

※WordPress標準のエクスポートツールでうまく行く場合は、それで構いません。

私の場合、WordPress標準のエクスポートツールでは上手く行きませんでした。
これは容量が大きすぎるため。
そこで、プラグインAdvanced Export for WP & WPMU を使ってエクスポートしました。
Advanced Export for WP & WPMUは、カテゴリごとにエクスポートできる便利なプラグイン。
(その他の条件付けも可能です)

カテゴリごとにエクスポートしたい場合は、画像を参考にしてください。

手順2 インポートする

WordPress標準のインポートツールでできました。

手順3 301リダイレクト設定をする(Nginxのケース)

まず、etc/nginx/conf.d/(移転元のプロファイル名)_ssl.confを開きます。

最初の辺りに次の記述があります。

server {
 listen 443 ssl http2;
 server_name wordpress.kimoota.net;

私の場合、移転元がhttps://wordpress.kimoota.netでした。
これを参考にして書き換えて下さい。

すぐ下に、次の記述を加えます。

rewrite ^(.*)$ https://kimoota.net$1 permanent;

私の場合は移転先がhttps://kimoota.netです。同じく参考にして書き換えて下さい。

変更を保存してサーバーを再起動すると301リダイレクトが適用されています。

なお注意点として、変に気を回して「表示設定」の「検索エンジンがサイトをインデックスしないようにする」にチェックを入れないように。
検索エンジンに301リダイレクトが伝わらなくなりますので。

手順4 記事内の移転元ドメインを移転先ドメインに書き換える

プラグインSearch Regex を使うと便利です。
使い方は見ればわかります。

手順5 googleにサイト移転を伝える

サーチコンソールを使います(もちろん登録していることが前提です)。

移転元サイトのURLをクリックします。

右上にある歯車をクリック、プルダウンメニューから「アドレス変更」を選択します。

次のページが開きます。

1は移転先サイトを選択します。
2は「確認」を押します。
3はGoogle Analytics IDによる方法を選択して確認を押します(このために予め登録が必要)。既に301リダイレクトしてしまっているので、メタタグやHTMLファイルアップロードの方法は使えません。
4の「送信」を押します。

手順6 Fetch as Googleを使ってクローラー巡回を促す

これで終わりです。

まとめ

解答者の写真
あちこち調べながらだと案外ハマる箇所が多くて苦労すると思う
でも、この記事見ながらやれば大丈夫
頑張って!