既存サイトの引越しでWPのマルチサイトは使わないほうが良

複数ドメインを持つ意味

2010年秋かな?アメブロ●千個削除事件を皮切りにGoogleのパンダやペンギンアップデードで軒並みブログやサイトを切り捨てつつ、

完全に王道のSEOしかできなくなってきた最近は、複数のドメインを持ったりオールドドメインを持ったり日本語ドメインを持ったりする意味が薄れてきているので、僕も無茶をしたドメインから順に少しずつ断捨離してます。(まだ有効なのってあるのかなぁ?)

王道のSEOというのはようはちゃんとユーザーに役立つ記事を書いてアクセスを集めて目的の行動をしていただくという誰でもできるもの。かな?

今まで(2011年前)は裏ワザ・・・などで上位表示できた部分もあったものの(^_^;) 2011年秋くらいからは全くできなくなってきた。

なので、地道に良い記事を書いて人気サイトにしていくしかない。

良い記事を書いて商売をするには企画や記事を時間をかけて考えていかなければいけないので、たくさんのサイトにそれをやるには多くのちゃんとした記事を書ける人材が必要になってくるのでそれはできなくなってきた。

ドメインの放棄

これからは小規模の人材で数個のサイトを強力な記事をあげて上位表示していく戦略に変えていかざるをえなくなったので、

たくさんのドメインは邪魔なのでどんどん放棄していっています。

(ドメイン捨てないほうが良いよ!という意見をお持ちの方はぜひご指導いただけると幸いです。)

こちらの戦略のほうが長期的に安定して上位表示できるからドメインが資産になり社会的にも認められるものになると思う。

10年、20年の資産価値があるサイトを構築していくには数人の力だとせいぜい10ドメインくらいが限界です。

10ドメインでも大変!そんなに強力な記事を毎日書けないし・・・そんなすごい記事かける人材が今のところいないので・・・

今までは適当すぎるやり方で上位表示でき売上も上がっていたので今までが異常だったといえば異常でしたね(^_^;)

それも、Googleが相当頭が良くなったり、ネットが一般化して裏ワザ(汗)が通用しなくなったからですけど。

ちゃんと作ったサイトは更新しなければ徐々にアクセスが下がってきますがちゃんとアクセスがあって、

売上があるサイトもあるので別のサイトに統合してアクセスもそちらに流せるようにしていきたいので、

そういうわけで、既存のサイトを統合してなるべく1個のドメイン内のディレクトリで今まで複数のサイトだったのをディレクトリごとに分けていきます。

サイトを統合する理由

ドメインごとにサイトを運営すると更新作業もドメインごとにしなくてはいけないので、大量のサイトがあるとどうしても手が行き渡らない。

なので1個のドメイン内のしかもディレクトリ内であれば1回更新すれば変化があるサイトとみなされると思うので統合してそれぞれのサイトを順番に更新して他のサイトのアクセスを減らさない作戦。うまくいくかどうかは分かりません(^_^;)

ワードプレスのマルチサイトの機能を使ってサイトの統合をしようと思った・・・

なるべく1個のドメイン内で運用しようとすると、今まで複数だったサイトがメインのサイトの下に配置されるので、

下のディレクトリ内で表示するようにしたい。

https://bey.jp/     ←トップのサイト   以後メインサイト

https://bey.jp/sub1/ ←引越してきたサイト  以後サブサイト

https://bey.jp/sub2/ ←引越してきたサイト

こんなイメージで複数サイトを1個のドメインに統合していきます。

そこで、 ワードプレスのマルチサイトを使おうと設定しましたが結果から言うとやらないほうが良いです。

途中までこのほうが管理し易いと思って作業してみましたけど、できてみると既存のサイト+既存のサイトを統合すると、

いろいろと不具合がでてきました。

例えばサブサイトで運用するサイトは全部の設定をコピーできないのでいちいち手動で設定しないといけません。

なので、サブサイトで運用するサイトだけは新規でないといけない。みたい?

詳細は、引越してくるサイトのデータベース wp_2_optionsを既存のデータに上書きしても、追加しても既存の設定が反映されません。

既存の画像は別に移動しないといけないみたいだけどそこまでいくまでに諦めた(汗)

あと、WPの管理画面も複雑になるので管理が煩雑化します。

一応、途中まで設定してみたのでメモ代わりに残しておきます。

ワードプレスのマルチサイト設定

マルチサイトはサブドメイン型とディレクトリ型がありますが今回はディレクトリ型で設定してみました。

メインサイトサブサイトもすべて既存のサイトなので記事が1ヶ月以上過去のものだととマルチサイト化できないのでまずはバックアップしたあとに記事を削除していきます。

バックアップ

ScreenClip

まずは既存のデータをすべてバックアップしておきましょう。

ワードプレスの管理画面 ツール>バックアップ

これは後で使いますしなにかあった場合にも復旧できるので安心です。

ScreenClip

ローカルにダウンロードしておきましょう。

MySQLのデータもダンプしておいたほうが良いです。

MySQLのダンプの仕方はサーバー会社によって違うので確認してください。

既存の記事をすべて削除する

ScreenClip

記事の日付を一個一個全部変更するのは大変なので一度全部削除してしまいます。

ScreenClip

記事をすべて選択して「ゴミ箱へ移動」で適用ボタンを押します。

ScreenClip

全部ゴミ箱へ入れたら、また全部選択して「完全に削除する」で適用ボタンを押します。

固定ページ・記事の両方すべて削除します。

これをやっても記事が残っている場合があります。

FAQ Managerなどのプラグインを入れてあって特殊な記事がある場合はMySQLでアクセスしてすべての日付を1ヶ月以内にしてください。(削除はしないほうが良いと思います。)
SELECT * FROM wp_posts WHERE post_date < DATE_SUB(NOW(), INTERVAL 1 MONTH) AND post_status = 'publish'

ScreenClipphpMyAdminでアクセスしてSQLタブをクリックで上記を入れてポストデータの日付を全部1ヶ月以内に変更する。

ScreenClip

該当箇所を全部チェックして、「鉛筆」アイコンを押して編集画面に移る。

wp-config.phpに追加

削除ができたら次に wp-config.phpを編集します。

wp-config.phpはたいていドメイントップにあります。

以下を追加するだけです。(define(‘DB_COLLATE’, ”);の下あたりに追加します。)

define ('WP_ALLOW_MULTISITE', true);

ネットワークの設置

ScreenClip

ワードプレス管理画面 ツール>ネットワークの設置 にアクセスすると、

ScreenClip

こんなのが出ますのですべてのプラグインを無効にします。

プラグインを無効にしたら再度、ワードプレス管理画面 ツール>ネットワークの設置 にアクセスします。

ScreenClip

上記のような画面がでたら失敗です。

データベースに1ヶ月以上前の記事がまだ存在します。phpMyAdminで探して編集しましょう。

ScreenClip

こんな画面になったら成功です! ネットワークのタイトルやメルアドを入れて次にすすみます。

次に.htaccessと wp-config.phpを編集してくださいと指示がでます。

.htaccess 置き換え

# BEGIN WordPress~# END WordPressの部分を置き換えます。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

これを以下に置き換え
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

wp-config.phpに追加

define(‘WPLANG’, ‘ja’);の下あたりに追加しましょう。

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'loveavenue.net');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

マルチサイトの設定は完了

ワードプレスの管理画面で再度ログインしてみると左上が以下のような「参加サイト」などが追加になっています。

ScreenClip

マルチサイトちょっとわかりづらい設計です・・・

メインサイトの記事・固定ページ復旧

先ほど削除した記事などを復旧しましょう。

ScreenClip

ツール>インポート のページを表示します。

ScreenClip

WordPressを選んで先ほどエクスポートしたファイルを選んでアップロード

これで記事が復旧されてます。

うまくいかなかったりして最悪の場合はphpMyAdminからデータベースまるごとインポートすれば元に戻ります。

(マルチサイトの設定はなくなります。)

サイト追加

では、サブサイトを追加します。

ScreenClip

サイトネットワーク管理者>サイト を選びます。

ScreenClip

新規追加で新しいサイトを追加して、

上記のようになりますので、サブサイトの「ダッシュボード」をクリックします。

あとは、通常のワードプレス管理画面になります。

テーマの設定

テーマはメインサイトのthemesディレクトリの中に入れて以下のテーマをクリックしてテーマを有効化しないと使えるようになりません。

wp-content/themes この中に使いたいテーマを入れておきます。

ScreenClip

参加サイト>サイトネットワーク管理>テーマ から該当テーマを有効化します。

サブサイトのデータの移動は無理?みたい。

データがうまく移動できなくてここで挫折しました。

サブサイトは新規でないと無理そうです。

サブサイトのDBはナンバーがふられます。phpMyAdminから見るとこのようになっています。

ScreenClip

初期状態では以下の9個だけになっています。
wp_2_commentmeta
wp_2_comments
wp_2_links
wp_2_options
wp_2_postmeta
wp_2_posts
wp_2_terms
wp_2_term_relationships
wp_2_term_taxonomy

最低限必要なのは、wp_2_postmeta、wp_2_posts、wp_2_optionsです。

wp_2_postmeta、wp_2_postsは問題ないのですが、wp_2_optionsを書き換えてしまうとサブサイトの管理画面が表示されず、サイトも表示されなくなります。

テーブルを一度Dropしないでインサートのみでも同じです。

諦めて、ワードプレスのツール>インポートから必要なものだけインサートされるだろうと思ってやってみましたがダメでした。

あと、引越しの時は忘れてたけど直接データベースをいじっちゃいけなかった。

srdb2.phpなどのツールで変更しないとうまくいかない。これをやればうまく既存のサイトもサブサイト化出来るのかわからない?未確認

そういうわけで、既存のサブサイトをマルチサイト機能で運営するのはちょっと煩雑になるし無理そうなので諦めて、

ただディレクトリを移動するだけで運用することにしました。(これもちょっと問題発生・・・続く)

そのほうが簡単だ。

続きはこちら、WP1つのドメインに複数サイトを構築手順+ハマったところ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする