ドメインを変更してサイト移転をする際にいくつか引っかかってしまった部分もあったので、自分の備忘録と同じような状況の人のためにいくつか書いておきます。
サイト移転に関してはGoogleのSearch Consoleヘルプにも手順の概要が記載されていますが、少々わかりづらく感じました。
このSearch Consoleのヘルプの順に従いながら実際に行ったことを画像付きで説明します。
大まかな手順
Search Consoleに記載されている大まかな手順は以下の通りです。
次の 4 つの基本手順で行います:
1.新しいサイトを準備して、全体をテストします。
2.現在の URL から対応する新しい形式への URL マッピングを準備します。
3.元の URL から新しい URL にリダイレクトするようサーバーを設定して、サイト移転を開始します。
4.元の URL と新しい URL 両方のトラフィックを監視します。
この順に従っていきます。
「4.元の URL と新しい URL 両方のトラフィックを監視します。」については特別何かをしなければならないわけではありません。
いつも通りSearch ConsoleやGoogle Analyticsを使ってサイトをチェックしておけばOKです。
私のケースでは…
エックスサーバー
移転元
WordPressで移転元の日本語ドメイン・パーマリンクのサイトを運営
http://スマホpc自宅で稼ぐ方法まとめ.com
移転先
WordPressで移転先の通常ドメイン・パーマリンクのサイトへ移転
http://kasegunet.jp/
なぜ移転したかというと、ドメイン・パーマリンクにおけるSEOの実験が終了したからです。
サイト自体も消してしまおうかとも思いましたが、すでに掲示板など利用してくださっている方もいたので移転することにしました。
特に日本語ドメイン・パーマリンクを使っていたことに依って移転作業が煩雑になってしまいました。
新しいサイトの準備
通常通り新規ドメインを取得し、WordPressをインストールします。
WordPressを入れたら、WordPressのテーマのインストールもしておきます。
ここまではいつも通りのサイトを作る手順なので問題はないでしょう。
- 手順まとめ
- ドメイン取得
- WordPressインストール
- テーマのインストール
移転元のWordPressのエクスポート
いくつか方法があります。
- FTPソフトを使う
- プラグインBuckWPupを使う
- 「ツール」を使う
どれでも良いとは思いますが、細かい設定等の変更を考えると「ツール」を使うのが良いと思います。
というか、私の場合、FTPソフトとBuckWPupを使う方法ではエラーが生じてしまいうまくいきませんでした。
よって「ツール」を使っていきます。
これで移転元のデータをダウンロードすることができました。
- 手順まとめ
- 移転元で「ツール」
- 「エクスポート」
- 「エクスポートファイルのダウンロード」
移転先のWordPressにインポート
ここは注意が必要です。
まず、移転元のWordPressで入れていたプラグインは手動で移転先にも入れておいたほうが良いと思います。
いくつか移転先で予め入れていなかったプラグインに設定が引き継がれていませんでした。
また、WordPress自体の設定も可能な限り、移転元と同様にしておいた方がよい(※)です。
これも不具合の原因になった(っぽい)です。
「設定」→「表示設定」→「検索エンジンがサイトをインデックスしないようにする」
これは、サイトの所有権を確認する前にGoogleにインデックスされて模倣サイトと見做されないようにするためです。
インポートの方法もいくつかあります。
- FTPソフトを使う
- プラグインBuckWPupを使う
- プラグイン「WordPress Importer」を使う
これも全て試したのですが、私の環境ではプラグイン「WordPress Importer」を使うことでしかインポートがうまくいきませんでした。
依って、移転先で「WordPress Importer」を使います。
すると以下のような画面になります。
最初の赤枠はどのユーザ名でインポートするかです。
さほど気にしなくても問題ないと思います。
ふたつ目の赤枠のチェックボックスはチェックを入れます。
このチェックを入れないと記事に添付していた画像などがインポートされません。
最後に送信します。
これでインポート完了です。
私の場合、FTPソフトやBuckWPupを使ってインポートを試みていたため(エラーばかりだった)、これに辿り着くまでに少々時間をロスしてしまいました。
- 手順まとめ
- 移転先でプラグイン「WordPress Importer」をインストール
- 「ツール」→「インポート」
記事やプラグインの設定などが引き継がれているか確認する
インポートが終わったら記事やプラグインなどの設定を一通り確認していきます。
私には以下のような問題が生じていました。
- 一部プラグインが設定を引き継いでいない
- 一部の記事添付画像が表示されていない
- パーマリンクが全記事同一になってしまっていた
結構しんどい問題が発生しましたが、すべて力技で解決できました。
同様の問題が生じた人のために簡単に説明しておきます。
問題が生じなかった人は飛ばしてください。
TablePressの文字化け
TablePressで作っていた表が文字化けしていました。
これは簡単に直せます。
この時、エクスポート形式を「JSON-JacaScript Object Notation」を選びます。
これを選んでおかないとインポート時にテーブルIDが続きから始まってしまい、記事のテーブルIDを全て修正しなければならなくなってしまいます。
インポートの時も形式は「JSON-JacaScript Object Notation」を選びます。
これで全て直りました。
All in ONE SEOの設定
これも初期化されていたので、手動で設定しなおしました。
しんどかったのは、各記事のmeta情報の再設定です。
ひたすらコピペしました。
インポート前にプラグインを手動で入れておけば回避できたのかな?とも思いますが今となっては不明です。
一部の添付画像の非表示
大きめのpng画像が表示されていないという事態が発生していました。
不具合が生じている画像については「Broken Link Checker」というプラグインで検出できるので一つずつ画像を再アップしました。
パーマリンクの不具合
もともと全てのパーマリンクを日本語から変更するつもりでしたが、全記事のパーマリンクが同一になってしまっていました。
これも手動で修正しました。
日本語パーマリンクがよくなかったのかな?
URLマッピングの準備
最初の画像に戻ります。
これの2番めですね。
「URLマッピングって何?」という状態でしたが、要するに移転先サイトの内部リンク等を修正してねってことのようです。
あとはリダイレクトの準備もですね。
移転先サイト内のパーマリンク・内部リンク等の修正
まず移転先のサイト内のパーマリンクを修正します。
パーマリンクは移転元と同一で良いという人は修正の必要はありません。
私の場合、日本語パーマリンクから全て手作業で修正しました。
次に、内部リンクを修正します。
私の場合は日本語ドメイン・日本語パーマリンクからの修正だったので全記事修正する必要がありました。
内部リンクはプラグイン「Search Regex」を使えば一括変換ができます。
それでも記事数分の修正が必要でした。
Search Regexを使う場合、日本語パーマリンクからの変更の場合は日本語部分のpunycodeを大文字・小文字それぞれで検索してください。
Search Regexでは大文字・小文字を区別せず検索する機能がありますが、これがなぜか機能せずそれぞれを手作業で修正する必要がありました。
Broken Link Checkerでリンクエラーの確認をする
サイト内のパーマリンク・内部リンク等を修正したら、プラグイン「Broken Link Checker」で修正漏れがないかを確認します。
プラグインを有効化すると自動でリンクエラーを検出してくれます。
Search Regexも使って移転元サイトのドメインで検索をしてみると変更漏れの確認になります。
301リダイレクトの設定
移転元サイトへのアクセスがあった場合に移転先サイトへユーザーを転送する設定をします。
リダイレクトの設定方法はたくさんあるのですが、簡単な方法で行いました。
パーマリンクの変更を伴わない場合
移転元サイトと移転先サイトで各記事のパーマリンクを全く変更せずにドメインを変更しただけであれば非常に簡単にリダイレクトの設定が行えます。
私の場合はパーマリンクの変更を伴っているのでこの方法は使えませんでしたが紹介しておきます。
「アドレス」部分のパーマリンクを空欄にし、リダイレクト先を移転先のサイトURLにしておくと一括で転送してくれます。
各記事のパーマリンクに変更がないのであれば、対応したパーマリンクの記事に自動で転送してくれます。
パーマリンクの変更を伴わないのであればこれを設定するだけなので非常に簡単です。
日本語パーマリンクを使用していた場合、エックスサーバーのリダイレクト設定ではリダイレクトがうまくいきませんでした。
この場合は下で説明する方法を試してください。
パーマリンクの変更を伴う場合
パーマリンクの変更を伴っていたり、移転元で日本語パーマリンクを使っていた場合はこっちの方法になります。
WordPressのプラグインにはリダイレクト設定を行えるものがたくさんありますが、移転元サイトで日本語パーマリンクを使っていた場合、不具合によりうまくリダイレクト処理ができないものがありました。
そこで、「Simple 301 Redirects」というプラグインを使用しました。
このプラグインでは移転元サイトで日本語パーマリンクを使っていても不具合が生じることなく使用できています。
あとは、左に移転元のパーマリンク、右に移転先のURLを入力するだけです。
※左の移転元はURL全てではなくパーマリンク部分のみなので注意
これを全てのURLに大して行います。
移転元サイトへのアクセスを一括して移転先サイトのトップページなどにリダイレクトするのはGoogleも推奨していません。
面倒ですがひとつひとつ設定した方が良いでしょう。
サイト移転を開始する
「サイト移転を開始する」ですが、ここまでくればもうほとんどの作業は終わっています。
インデックスを開始する
最初にWordPressで行った設定を解除します。
「設定」→「表示設定」→「検索エンジンがサイトをインデックスしないようにする」のチェックをはずします。
サイトの所有権を確認する
これもいつも通りの作業です。
Search Consoleで所有権の確認をしてください。
サイトマップを送信する
移転先サイトのサイトマップをSearch Consoleに送信します。
特別気をつける点はありません。
Search Consoleでアドレス変更の通知を送信
これが重要な手続きなので、必ずやっておきましょう。
私の場合、画像の「4.アドレス変更のリクエストを送信する」の部分で「リダイレクトがうまくいってないよー」と言われ何回か失敗しましたが、しばらく時間を置いたら成功しました。
最後のステップまで完了すると、移転先のSearch Consoleでは以下の画像のように表示されます。
まとめ
もともと実験のために作ったサイトであって、移転せずにそのままサイトを破棄しようと思っていたので移転作業は非常に面倒くさかったです。(特に手動部分)
1日掛かりでした。
ただGoogleが「一気に移転作業やったほうがいいよ」っていうものですから一気にやりました。