複数のサイトを一つのサイトに統合する作業手順と注意点

いくつかのサイトに掲載されているコンテンツを、一つのサイトにまとめる作業を行っています。今後も同様な作業を行う可能性もあり、作業手順や注意したいことなどの記録です。

統合

まとめる先になるサイトは、HTMLサイトとWordPressが混在しているサイトです。
そのサイトに対して、WordPressで運営していたサイトのコンテンツと、別のHTMLサイトのコンテンツを統合させる・・こんな面倒くさい作業です。

統合後のサイトでのURLの整理の仕方

サイトの統合を行い、なお且つ「301リダイレクト」を使って、以前のURLのページRankなどを引き継ぐので、事前にURLの整理をきちんとしないといけませんが、リダイレクトを使わずに統合できる場合もあるので、まずURLの整理ついてまとめた記事です。

リダイレクトが必要の無いケース

同一サイト内のHTMLサイトをWordPressに統合する場合、サブディレクトリとページURLによりリダイレクトの必要が無いケースは次のようなケースです。

HTMLサイトのURL
http://sample.com/sub1/page1.html

WordPress側で次のようにパーマリンク設定ができるのであれば、リダイレクトは必要ありません。

  1. カテゴリ名のスラッグに「sub1」を設定する
  2. パーマリンク設定はカスタム構造として「/%category%/%postname%.html」とする
  3. パーマリンク設定のオプションは「カテゴリーベース」として「.(ドット)」を入力する
  4. 他のカテゴリーやHTMLサイト側の他のディレクトリ内に同じページ名(page1.html)が無くパーマリンクがダブることが無い

この条件が整えば、まったく同じURLになるので、リダイレクトは必要ありません。

ここで、4番目のページ名のダブりについてもう少し詳しく。

例えば
HTMLサイトでは、ディレクトリの「sub1」と「sub2」にそれぞれ「page1.html」があるなんていう場合があります。

index.html(ルートディレクトリ)
┣sub1(サブディレクトリ1)
┃ ┣page1.html
┃ ┣page10.html
┃ ┣page11.html
┣sub2(サブディレクトリ2)
┃ ┣page1.html
┃ ┣page20.html
┃ ┣page21.html

WordPressではページのURLの最後が同じものは設定できないので、

「http://sample.com/sub1/page1.html」
「http://sample.com/sub2/page1.html」

とこのようなURLを作ることはできません。

もう一つ注意しなければならない点があります。

HTMLサイトの場合はルートディレクトリには必ず「index.html」ファイルがありますが、サブディレクトリにもだいたい「index.html」があります。

WordPressでは、パーマリンク設定を上のようにカスタム構造にすると、「index.html」というページを一つだけ作れますが、他のカテゴリーに「index.html」を作ろうとすると「index2.html」となってしまいます。

HTMLサイトで作っていた各サブディレクトリのトップページは作れません。
代わりにカテゴリー一覧ページが各サブディレクトリのトップページになります。

HTMLページをWordPressに移動する作業は手作業になるので、1ページずつ移動が終えたらHTMLサイト側のページファイルは必ず削除します。

同一サイト内でHTMLページをWordPressに移動してリダイレクトするケース

同一のページURLがあったりして、ページURLを新たに設定しリダイレクトさせなければならないケースの手順です。

  1. HTMLファイルのデータをコピーしてWordPress投稿画面にペースト
  2. 画像データをWPの「メディア」に移動する場合は、アップロードと画像の呼出リンクを再設定
  3. パーマリンクを設定・アイキャッチ画像の設定・カテゴリーの設定
  4. 「メタディスクリプション」のテキストを入力
  5. .htaccsessファイルに転送させるコードをページごとに記述
  6. 記事を投稿した後、.htaccsessファイルをアップロードし転送されているかを確認

このケースでの.htaccsessファイルの記述は以下です。

redirect 301 /sub1/page1.html http://sample.com/newsub1/newpage1.html

redirect 301 /sub1/page2.html http://sample.com/newsub1/newpage2.html

redirect 301 /sub2/page1.html http://sample.com/newsub2/newpage3.html

複数ページある場合は、一行ずつ記述していきます。
*エックスサーバーの場合ですが、一行改行しないと反映されないようです。

URLを変更し301リダイレクトを使用するケース(HTML)

複数のサイトのコンテンツを一つに統合するので、移動するページのURLは変更し301リダイレクトを使用して、以前のページへの被リンクなどを引き継ぐようにします。

移動元のサイトがHTMLサイトとWordPressサイトの場合の二通りありますので、まずHTMLサイトの手順を記録しておきます。

HTMLサイトからの移動はすべて手作業です。

  1. HTMLファイルのデータをコピーしてWordPress投稿画面にペースト
  2. 画像データをWPの「メディア」に移動する場合は、アップロードと画像の呼出リンクを再設定
  3. パーマリンクを設定・アイキャッチ画像の設定・カテゴリーの設定
  4. 「メタディスクリプション」のテキストを入力

ここまでの手順は上の「同一サイト内でHTMLページをWordPressに移動してリダイレクトするケース」と同じです。

ページのURLの最後の部分が移動元と移動先とで、同一に出来る場合は.htaccsessファイルの記述が簡単になります。
ページごとにリダイレクトを設定する必要はなく、サブディレクトリまでの転送設定でOKです。
*HTMLサイトからの移動なので、WordPressのパーマリンク設定はカスタム構造になっていることが必要です。

このケースでの.htaccsessファイルの記述は以下です。

redirect 301 /sub1/ http://sample.com/newsub1/

redirect 301 /sub2/ http://sample.com/newsub2/

サブディレクトリ名とカテゴリー名を同一に出来る場合は、ドメインだけの転送でOKです。

redirect 301 / http://sample.com/

サブディレクトリを移転に伴ってサブドメインに変える場合は以下です。

redirect 301 /sub1/ http://sub.sample.com/

URLを変更し301リダイレクトを使用するケース(WordPress)

WordPressサイトからWordPressサイトへの移動なので、それほど面倒な手作業ではありません。

WordPressの「エクスポート」「インポート」ツールを使って投稿データを移動させます。

画像へのリンクは移動元のURLになっています。
移動元サイトはそのまま動かしますので、画像リンクをそのままにしてもいいですが、移動元が非SSL、移動先がSSLの場合は画像リンクをそのままにすると“混在コンテンツ”になるので、画像を改めてアップロードした方がよいと思います。

インポートするとパーマリンクが移動先の設定で行われるので、移動元のページURLと同一かどうか確認します。

同一の場合はドメイン名の301リダイレクトだけでOKですが、パーマリンク設定が異なる場合は、最悪の場合すべてのページごとに301リダイレクトを記述することになります。