WordPressディレクトリ毎データを移動する方法
WordPressディレクトリ移動方法
移動方法にはいくつかありますが、実際に簡単そうだなという順にやってみました。
可能な事と出来なかった事を整理してみます。
ただし、私の場合は以下のような前提条件をベースに考えております。
A、http://domain.com/blog/ ⇒ http://domain.com/ への移動
B、http://domain.com/blog/ は http://blog.domain.com/ というサブドメインが適用されており、どちらでもアクセスが可能。
C、現状のURLは既にいくつかのページがサブドメインでインデックスされているが、それらのURLに対するアクセスはできれば301リダイレクトで新しいURLに永久移動したことを表現したい。
D、リダイレクトができない場合、リライト(旧URLでアクセスするとアドレスバーが旧URLのままでアクセスできる)でもいいが、canonicalの設定はできるようにしたい。
E、ページ内リンクは、新URLにしたい。
F、当然、サイトマップも新URLにしたい。
①インポート・エクスポート
これは一番簡単そうだと思いはじめに試した方法です。
以下に手順を示します。
1.WordPressの管理画面にログインし、「ツール」の「エクスポート」を選択。
2.「すべてのコンテンツ」を選択し、「エクスポートファイルをダウンロード」をクリック。
3.新しいディレクトリにワードプレスをインストール
4.新しいディレクトリの管理画面にログインし、旧ディレクトリに使っていたプラグインを全てインストール
5.同様に、旧ディレクトリで使っていたテーマを新しいWordPressにインストール
6.管理画面の「ツール」の「インポート」を選択し、「WordPress」を選択。
7.インポートツールのインストール
8.インポート
以上、これで完了です。
この方法の一番のデメリットは、上記だけではURL引継できていない。と言うことです。
クローラーに対して、旧URLを新URLに引き継がせるためにはどうするの?ってことは無視されています。
旧ディレクトリのWordPressをインストールすれば、単純にNOT Foundですので、別途「.htaccess」等でリダイレクトの設定が必要です。
各ページの旧URLに対して、ある一定のルールで新URLにリダイレクトすることも「.htaccess」で設定可能です。
ただ、PostIDはインポート時に変わるので、パーマリンクにPostIdを入れている場合は、一定のルールでは適用できません。
メリットは再インストールなので、気持ち的にすっきりするとこですかね。
私のブログみたいにまだ歴史が浅く、SEO評価も薄い場合は、この方法がいいかもしれません。
②擬似的にURLを変更する。
これはもっと簡単でした。
インストールはそのままで、ルート/でアクセスできるようにします。
つまり、ブログをルート/にしたいけど、コアファイル等を本当は/blog/にインストールされているようにしたい。と考えている方も使える方法だと思います。
1.WordPressがインストールされた旧ディレクトリ直下にあるindex.phpをコピーして、新ディレクトリに置く。
2.同様に旧ディレクトリにある、「.htaccess」もコピーして、新ディレクトリに置く。
3.新ディレクトリに置いたindex.phpの以下の箇所を修正
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
↓
require( dirname( __FILE__ ) . ‘/blog/wp-blog-header.php’ );
4.新ディレクトリに置いた「.htaccess」もURIの記述があれば、同様に変更
5.WordPressの管理画面の設定タブ>一般から「サイトアドレス (URL)」欄に新URLを入力して保存。
以上、これで完了です。
そうすると、http://domain.com/でアクセスしても同じブログが見れます。
ここから、他ページへ遷移しても、基本的にはhttp://domain.com/のドメインで動きます。
ですので、クローラーもこのhttp://domain.com/のドメインでクロールされるはずです。
ただし、管理画面にアクセスすると、http://blog.domain.com/となっております。
また、それ以外にも問題点があります。
例えば、プラグインでSitemapを作っていたのですが、それが動かなくなりました。
おそらくこれは、設定タブ>一般 の 「WordPress アドレス (URL)」と「サイトアドレス (URL)」が違う状態であることによって起こる問題ではないかと思います。
その他、この違いによる、問題については、想定できておりません。
自分にとってはSitemapプラグインが動かないのが大きな問題でしたし、将来、この方法で致命的な課題にぶつかるとつらいので、この方法は採用していません。
ただし、クライアントのサーバでどうしても、ルートにWordPressができない環境があったので、その時はこの方法を採用しています。
③強引にファイルを移動してしまう方法
これは、FTP等で、旧ディレクトリのファイルや子ディレクトリを全て、新ディレクトリに移し替えてしまう方法。
ある意味、考え方としてはシンプルです。
ただし、「.htaccess」の変更、データベースの修正(phpMyAdminなどで操作)が2箇所必要です。
データベースは触りたくなかったので、私はトライしていません。
詳細は以下のURLに記載されていますので、興味ある方はチャレンジしてみて下さい。
http://d.hatena.ne.jp/minorio/20080814/1218696892
今度は、SEO対策を意識したURLの引継方法についてまとめてみたいと思います。
photo credit: http://www.pakutaso.com