WordPressをインストールしてしばらくするとこんなことをしたくなるのではないかと思います。
- 別のテーマを使って別デザインのサイトを追加したい
- 一部しか使っていないプラグインが増えすぎて大変なことになっているのでジャンル別にサイトを分けたい
WordPressではカスタム投稿タイプを使ってジャンルを分けることもできますし、テーマにbodyクラス指定があればページや投稿タイプなどでデザインを変えることもできます。
が、どうにもならないことが・・・それは
- 性質の全く違うサイトを作りたい場合
- 特異な機能を持つサイトを作りたい場合
の2つ。
1つめはメインとなるのは情報を公開するサイトだけどサイト内で誰かに投稿してもらうようなものを作りたい・・なんていう場合、2つめはいろいろなジャンルのことを公開するサイトで一部のコンテンツにしか使わないプラグインがいっぱい出てきた場合。
誰かに投稿してもらう機能=会員制サイトに近いものになると思うのですが、情報公開を主として行うサイトにこの機能を追加しようとすると結構大変なんですね、経験上。あるところには制限をかけてあるところはフリーにして・・・みたいなことをしなければなりませんから。多分やってみて挫折した人は多くいるのではないかと思います。
プラグインの数に関しても、ある程度までは削減できますが、それ以降はやっぱり共通のものを使うジャンルだけのサイトにした方が圧倒的に少なくすみ、プラグインの負荷による表示速度の低下も防ぐことができます。
で登場するのがサブディレクトリに別のWordPressをインストールするという技。
- 新しいWordPress用に別のデータベースを作る
- 今稼働しているサイトのindex.phpがある場所に別のフォルダを作成する
- WordPressのプログラム類を2へ追加する(要wp-config.phpの修正)
- インストールする
簡単に書くとこんな感じで子(サブディレクトリ)サイトを作ることができます。
サブディレクトリのサイトは基本的に親サイトの一部として検索エンジンからは認識されますから、現在公開しているサイトで会員制の掲示板を追加したい!!なんて場合には子サイトで掲示板だけのものを作れば親サイト内へログインされて何か起こる・・・という心配は一切なくなることになります。
まあまあ、サブディレクトリ話はこの位にして、今回はサブディレクトリに子サイトをインストールした後の処置で疑問に思ったことと、実際に行ったことについていくつか紹介していきたいと思います。
Google Search Consoleへの設定
Google Search Consoleへ登録したからと言って巷で言われているようにインデックスが早まったり、検索順位に影響が出たり・・ということは私の経験上ではあまり実感がありませんが、せっかく使っているなら登録はしておきたいところですね。
WordPressでxmlサイトマップを自動生成するプラグインはたくさんあり、これらには別のxmlサイトマップを追加できるようになっています。サブディレクトリに別のWordPressをインストールした場合にはそのサイトでもサイトマップを自動生成させたうえで、親サイトのオプションにそのサイトマップのURLを入力すればいいのかと思いましたが、そうではないようです。
この方法を用いると、最終更新日など必要な情報が含まれなくなるため、Search Console上でエラーが出ました。
サブディレクトリに別のWordPressをインストールしたときは
- 普通のサイトと同じようにサイトマップ自動生成プラグインを使って「sitemap.xml」を生成させる
- Google Search Consoleでサブディレクトリ上に生成されたサイトマップの追加を行う
をすることで簡単に親ディレクトリのサイトの一部としてサイトマップ登録ができます。
このことを紹介するページによっては別でサイト情報を登録するなどといったものもありますが、サブディレクトリに作成したWordPressサイトはそもそも親ディレクトリのサイトの一部なのですから別にサイト登録をすることがナンセンスなのかも知れませんね。
ちなみに別サイトとして登録しても認識はされますのでどちらがいいのかはお好みで・・・
Google Adsenseの設定
Google Adsenseは現在ドメイン・サブドメイン単位で認証が必要となっています。でも、サブディレクトリはドメインの一部ですから特に審査は必要ありませんから、そのまま広告コードを貼り付ければすぐに広告配信されます。
だからといって規約に違反するようなサイトだった場合には親サイトや他の認証サイトもろともアウト!となることもありますので、審査されても大丈夫なものにしてからコード追加するようにしましょう。

その他の広告サービスの設定
何回も書いているので飽きた?感はありますが、サブディレクトリのサイトは親サイトの一部なのですから特に何も変更や申請をする必要はありません。
が、それぞれのサービスに関する規約は守るようにしてくださいね。
Google Analyticsの設定
親サイト・子サイト関係なく解析したい場合には子サイトにヘッダーへ親サイトに挿入している解析コードをコピーすれば完了です。
親サイトと子サイト別々にアクセス解析したい場合にはアナリティクスのアカウントを追加すればいいと思います。
Google Analyticsはヘッダーに解析コードが挿入されているもののみに反応しますから、上の2つのいずれかを行えば重複なくアクセス解析ができます。
常時SSLの設定
サブドメインの場合はSSL証明書をワイルドカード設定にするか、サブドメインに対してもSSL証明書を取得して割り当てるかのいずれかになりますが、サブディレクトリはドメインの一部ですからこの措置は必要ありません。
親サイトがSSLの場合(httpsで開くサイトの場合)にはサブディレクトリのサイトへhttpsでアクセスしてみてください。
・・・ね!きちんとSSL通信でサイトに到達できますよね??(まあ当然ですけど・・)
これが確認できたら、WordPressの設定から「サイトアドレス」と「WordPressアドレス」を共に「https:~」に変更すればSSL化は完了です。
すべてのコンテンツをSSL通信のみにしたい場合(これを常時SSLと言いますが)は
などを参考に普通のサイトと同じように対処すれば問題なく常時SSL化できます。
サブディレクトリにサイトを作ると全く別のサイトでありながらドメインの一部として認識されるので、カスタム投稿タイプなどを使って無理やりコンテンツのジャンルを増やしたりするよりもよっぽど簡単に専用サイトを量産できます。
今まで1つのサイトでいろいろなことしよう!と格闘していた方、この方法なら問題は一気に解決するかも知れません。
サブディレクトリサイトの弱点?
同一サイトと認識されながら別のサイトであるサブディレクトリの子サイト。当然ながら親サイトの情報を引っ張ってきたり、子サイトの情報を引っ張ってきたりということはできませんから新着記事の一覧などはRSSを取得するプラグインなどで行うことになります。
もしも完全に共有したいということであればマルチサイトという機能を使うことになりますが、これを使うと同一のデータベースで複数のサイトの情報を引っ張り出し合うことになります(同時に複数のサイトへアクセスされればその分サーバーへの負担が増えます)から、どちらがいいのかは考えればいいかと思います。
私的な意見としては複数のデータベースが作成できるサーバーならサブディレクトリへ単独のWordPressをインストールする、1つしかデータベースを作れないサーバーならマルチサイトにすることをおすすめします。ちなみにマルチサイトから単独サイトへ変更するにそれなりの知識が必要ですのであらかじめどちらにするかを判断してからサイト作りをすすめた方がいいでしょう。