サブディレクトリのWordPressサイトマップを統合

 ドメインの中に二つ目のWordpressをインストールしました。マルチサイトも考えたのですが、データベースの構造など、理解できていないことも多かったので二つインストールするという方法を選択しました。

 さて、サブディレクトリにインストールしたサイトをそのままサーチコンソールに登録し、サイトマップを送信すると、問題なく送信されたのですが、ルートディレクトリのサイト(ここです)のサイトマップが「保留」になってしまいました。サブディレクトリのサイトマップが、ルート側にも勝手に登録されてしまって、そちらがアクティブになっています。

 これを2分で解消しようというのが本稿の狙いです。

  • 問題は、サーチコンソール対策です。
  • プラグインを使いました。
  • .htaccessを触る必要があるようです。
  • ちゃんと動いているようです。

問題の所在

 今回、何が問題になったかというと、サーチコンソールでサイトマップの競合?が起こったという点です。
 サブディレクトリのサイトマップをサーチコンソールに登録すると、気づいたらルートのサイトマップにも登録されていて、サイトマップが二つになっていました。それ自体は問題ないのでしょうけれど、ルートのサイトマップが保留になったままだったのです。
 これはよろしくない。ですので、この競合を避ける必要があった。これが出発点です。

プラグインを使いました。

 他に解説している日本語ブログはありませんでしたので、海外のブログとプラグインのヘルプに当たりながらやってみました。

 使ったプラグインは、幸運にも最初からサイトマップ生成で使っていた「Google (XML) Sitemap Generator」です。

1.Override the base URL of the sitemapを書き換える

まず「ダッシュボード」→「設定」→「XML-sitemap」へ移動し、「基本的な設定」の下の方にある「Override the base URL of the sitemap」を設定します。
私の場合「/minpaku/」というサブディレクトリにインストールしましたので「https://www.miyako-office.net/minpaku/」と入力しています。
そして、更新します。そうすると、一番上にある「サイトマップの場所」を示すURLが「https://www.miyako-office.net/minpaku/sitemap.xml」に変わっていました。

.htaccessの書換

 次に、.htaccessファイルを書き換えます。正確には、書き足しです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^sitemap(-+([a-zA-Z0-9_-]+))?\.xml(\.gz)?$ /minpaku/sitemap$1.xml$2 [L]
</IfModule>

これを書き足してアップします。

3.再び設定確認

 その後、サイトマップ設定欄の一番上にある「サイトマップの場所」を見てみると、あら不思議、元の「https://www.miyako-office.net」に戻っています。

4.サイトマップの再送信

 サーチコンソールに入って、サイトマップを削除し、もう一度サイトマップを送信してみました。
 そして、しばらくして見てみると、あらあら不思議。サイトマップがちゃんと二つ登録されています。
 うん、これで問題ない。サイトマップ自体を一つに統合するのは無理でも、グーグルに二つ登録されていれば問題はないでしょう。

 ちなみに、サブディレクトリのサイトマップもちゃんと登録されていて、ルートのサイトマップコンテンツ数は、サブディレクトリを合算したものになっています。そしてサブディレクトリのサイトマップコンテンツ数は、サブディレクトリのみの数字が反映されていました。

まとめ

 サイトマップの登録はやっぱり気になるところ。きっちりしておくのが安心です。
 結果としてタイトルに記載した「統合」ができた訳ではありませんが、グーグルの認識が「統合」されているのであれば、問題ないと考えています。

 士業系のサイトでは、よく、「建設業」「相続」「車庫証明」など、業務分野別にサイトを作るという方式を散見します。ドメイン自体のトップページが持つチカラを考えるとそれも一つの方法とは思いますが、私は全てを一つに統合してドメイン全体のチカラを高める方が検索エンジンに訴求効果が高いのではないかと思っていて、今回も別ドメインではなくサブディレクトリに作成しました。

 ドンピシャリの情報を探していらっしゃった皆さまのお役に立てることを願っています。