※アフィリエイト広告を利用しています

広告




wordpress

独自ドメイン・SSLでwordpressのマルチサイト化(サブディレクトリ型)で困ったことの解決法やポイント。

投稿日:

普段、ブログをやっていてadsenseなどで収益したいと思っているのですが、今やっているのは雑記ブログというものでいろんなジャンルの記事が混ざっている。
これを、一つのジャンルに絞って記事を書くことで、SEO的に強いブログにできるというので、自分でもやってみようと新しいwordpessを立ち上げることにしました。
それがこのサイトなのですが...^^

ブログの構成は、大きなテーマのブログが一つあって、その下に関連の狭いジャンルのブログが複数並んでいる...という構造にしようと思い、それをwordpressのマルチサイト機能を使ってやろうと考えました。
マルチサイト化するにあたって、ちょうど立ち上げて間もないいブログがあったので、それに対してマルチサイト化のカスタマイズをかけたのですが、色々と思うようにならなかったり、エラーの連発があったりしたので、これらの対策とポイントをメモしておくことにしました。

うちのマルチサイト化の条件を書いておくと...

・ロリポップのスタンダードプラン
・wordpressの自動インストール
・独自ドメインを関連づける
・SSL化する
・wordpressをサブディレクトリ型でマルチサイト化する
とこんな感じです。

全ての手順

上の条件を実現するのに、実際にやった手順を書いておきます。
1.ロリポップでサーバーを借りる。
2.wordpressをインストールする。
3.ムームードメンで独自ドメインを取る。
4.独自ドメインをサーバーと関連づける。
5.独自ドメインをSSL化する。
6.必要に応じてwordpressをバックアップ
7.wp-config.phpと.htaccessのダウンロード。
8.wp-config.phpに「define('WP_ALLOW_MULTISITE', true);」を追加しアップロード
9.プラグインを全て停止。
10.ネットワークの設置、WordPress サイトのネットワークの作成で、「インストール」を
11.ネットワークを有効化中の画面に切り替わるので、 wp-config.php と .htaccess ファイルを編集してアップロード。
12.ログアウトし、再ログイン。
13.参加サイトなどのメニューが追加されている。
14.「参加サイト」の「サイト」メニューから「新規追加」する。
15.ロリポップで子サイト用フォルダを作成する。
16.子サイトのダッシュボードへログインで完了。

以下、工程とポイントを書いていきます。

最初にwordpressをインストールした時の表示設定

最初にwordpressをインストー流した時はをwordpressフォルダーが公開URLになっているが、以下の作業をする前に、ドメイントップ(ルート?)になるように調整してから作業を進めた。
https://lifephoto.work/wordpress

https://lifephoto.work/

ディレクトリ型でサイトを新規作成できない

wordpressのインストールから1ヶ月が経過すると、ディレクトリ型の新規サイトを作成できない仕様になっています。ネット上には、これの対策がいくつかありましたが、私は新規でwordpressをインストールしました。

wp-config.phpファイル内に一文を追記する

define('WP_ALLOW_MULTISITE', true);

この時、wp-config.phpファイルをアップロードしても書き換えができないことがある。
この場合、FTPクライアントで、wp-config.phpのパーミッションが400になっている場合があり、これを600に変更すれば書き換えができた。書き換え後は400に戻す。

ここで、プラグインはすべて停止。

ダッシュボードを開くと、サイドメニューの「ツール」に「ネットワークの設置」というメニューが表示されているのでクリック。

WordPress サイトのネットワークの作成というページになります。
ネットワークのタイトルと管理者メールアドレスに変更が無いか確認します。
問題が無ければインストールボタンをクリック。

wp-config.php と .htaccess ファイルを編集


すると、WordPress サイトのネットワークの作成ページに、wp-config.php と .htaccess ファイルを編集するソースコードが表示されるが。
ネットではどちらも、wordpressフォルダー直下のファイルと書いてあるが、うちの環境で表示されたのは、.htaccessはサーバーのルート(wordpressの一つ上)を指していたのでそちらを編集・書き換えた。

wp-config.php のサイトネットワーク構成ルールの一行、
define( 'SUBDOMAIN_INSTALL', true );
この"true"がサブドメイン指定らしい、これを"false"にするとサブディレクトリが可能になるとのこと。
私は、1ヶ月未満だったが、"false"に変更した。

ブログと管理画面の表示チェック

各工程をやるたびに、サイト(ブログ)と管理画面の表示をチェックした。そうしないと、どの工程から見えなくなっていたのかわからないからだ。
これは、独自ドメイン、SSLなどの工程からやっていて、これらの時は反映するのに時間がかかったり、管理画面のログアウト・ログインをすることで正常になることがあった。

マルチサイト機能の設定は完了。子サイトの新規追加。

設定が完了すると、管理画面に「サイトネットワーク」「参加サイト」のメニューが増えている。
ここで、あちこちのメニューを選んでみると、各種エラーが出ることがあったが、やはりログアウトと少しの時間経過(リロード)で解消された。

子サイトの新規追加もあっけなく完了した。

ところが、子サイトの管理画面に入れない

ところが、すぐに子サイトの管理画面に入れないことがわかった。

これの対処法が載っていたブログによると...
ロリポップでwordpressを簡易インストールする(子サイトを作ったのと同じ設定で)というものだった。
これでは普通にwordpressがインストールされてしまうのではないか?

ということで、あれこれ見ていくと、.htaccessファイル内の以下の部分で...

RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) home/$1 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ home/$1 [L]

この"$1"を"$2"にすると動作できるようになった。
3つめのブログを作ってみると、今度はこの部分を変えなくても管理画面に入ることができた。
これ、あてずっぽうなので正しい方法が知りたい。
※この方法は試さないでください、どうなっても責任は取れません。

また、ログインボタンを押しても、またログイン画面にリダイレクトされてしまう場合は、Cookieを削除するとログインが出来るようになることがあるようです。

マルチサイト を解除する

これについて記述したページがありました。

https://chaika.hatenablog.com/entry/2018/02/01/090000
wp-config.phpに追加した define('MULTISITE', true); の値をfalseにするとDBやマルチサイトのデータを残したまま、マルチサイトでないメインのサイトだけの状態に戻すことが出来るようです。
但し、テーマ内にget_blog_details()の様なマルチサイトの時しか使えない関数があるとエラーになるので注意が必要です。

まとめ

以上、wordpressのマルチサイト化に関するメモでした。
新たな事実、対策、街が、正しい方法などありましたらコメントにて教えてください。

広告




広告




-wordpress
-

Copyright© ライフブログ , 2024 All Rights Reserved Powered by STINGER.