2017年2月10日に5年間使ったはてなブログProからレンタルサーバー+Wordpressへ移行を行いました。
はてなブログからWordpressへ移行を検討している人も多いと思います。
自分も移行作業のエントリーを参考にしながら正解を探す感じで手順を試行錯誤してきました。
今回の移行作業と設定方法、その時注意すべき事などについて書いていきます。
長文ですがエントリーを分けずにこの記事だけ読めばいいように構成しています。
注意:本エントリーを読まれる際の注意事項
- この記事は個人的な作業記録を記した内容のため誤っている可能性があります。当サイトの閲覧によって発生したいかなる損害に関しても、当サイトは一切の責任を負うものではありません。
- 記事内ではテーマ「Simplicity2」の記述がありますが、現在は別のテーマを使用しています。
- 記事を書いた後に行っているカスタマイズによって、移行時の内容と現在のサイト状況が必ずしも合致していない部分があります。
はてなブログからWordpressへ移行した主な理由
5年間はてなブログを使っていましたが、幾つかの理由からはてなブログへの不満が大きくなり、自分のブログの状況も合わせて考えるとこの時点で移行すべきという考えになったため移行作業を開始しました。
- 2016年末の時点で560の公開エントリーがあり、これ以上エントリーが増えると現実的に移行が困難になると思っていたため。
- 普段から見ているサイトやブログがWordpressを使っているサイトが多かったため。
- SEとしてWordpressの実装も知識として知っておきたかったため。
- はてなのテーマや実装に限界を感じていたため。
- Googleがモバイルフレンドリーを進める中で「はてなスター」のような実装に意味があるのかという疑問が大きかったため。
- SSL化の対応を自分でやりたかったため。
- スマホのデザインを洗練された画面にしたかったが、はてなブログではデザインを大きく変更出来なかったため。
作業者のスキルレベル・移行元はてなブログ状態・移行先レンタルサーバー想定
移行作業者(筆者)のスキル
- HTML・CSSの一般的な知識あり。
- サーバーやネットワークについてSE職レベルの知識あり。
- WordPressに関しては知識なし。
移行前のはてなブログPro状態
- はてなブログPro+独自ドメイン使用(ドメイン運用期間約1年半)
- はてなブログの記事のパーマリンクは標準URL形式(entry/日付/月/日/数字ID)
- 移行前記事数560(→記事を削減しエクスポート時点では312)
- 画像ファイルサービス「はてなフォトライフ」(約数百枚)
移行前のドメイン状態
- ムームードメインに独自ドメインを登録
- ネームサーバはムームーDNSを参照
- CNAMEレコードでサブドメイン「www」を「hatenablog.com」に設定(はてなブログ独自ドメインでは一般的な設定)
移転後のWordpressサイトとドメインの想定
- レンタルサーバー「エックスサーバー」X10プランで契約
- ドメイン名は変更しない
- 移転後もムームードメインを引き続き利用
- エックスサーバーのネームサーバ情報はエックスサーバー側に設定
- ムームーDNSに設定しているCNAMEレコードは移行時に削除
- 画像ファイルサービスにGoogleフォトを利用(はてなフォトライフから画像を移転)
移行プラン
以下に詳細を書いていますが、はてなブログからワードプレスへの一発切り替えをしようとして、記事に色々な不備が出たり、スマホ表示が上手く出来ずに失敗。
一旦、別のドメインを取って、仮ドメインで作業用のワードプレスを作成し、そこにはてなブログ記事を移行し、記事を調整。
作業用ワードプレスで記事の整形が完了後、作業用ワードプレスを閉鎖し、本ドメインのワードプレスに整形した記事を移行する、という作業工程で移行しています。
移行の準備作業
準備作業1.画像サービスをはてなフォトライフからGoogleフォトに移行
2017年1月末頃から、レンタルサーバー(Wordpress)への移行を考え始め、移行方法について、情報収集を始めました。
自分の場合、はてなブログで書いていた記事データを移行する必要があり、記事データの移行時にどのような問題があるのかを中心に考えていました。
Wordpressの知識はほとんどなかったため、最初に概要を知るためビギナー用書籍(「WordPress Perfect GuideBook 4.x対応版」佐々木恵著/ソーテック社)を購入しました。
書籍では一般的なWordpressサイトの立ち上げ方法とWordpressの設定はどのようにするのかといった基本的な知識が得られました。
その後、実際に移行を行った人や、移行について検討した人のエントリーの情報を探して自分の「移行プラン」を考えました。
画像をGoogleフォトに移し変える
自分の場合、はてなブログで書いた記事の多くに画像を入れていましたが、画像の参照先ははてなブログ標準サービスの「はてなフォトライフ」を使っていました。
そのため、移行先でも画像の参照先をはてなフォトライフにしたままか、他の画像サービスを使うかが問題でした。
「Wordpressに移った後、画像の参照先がはてなフォトライフのままでもWordpressへデータ移行して表示することが出来た」という情報もあったため、はてなフォトライフのままでも問題なかったかもしれませんが、その場合はてなのサービスの一部を使い続けることになるため、移行を機に画像サービスも全てはてなフォトライフ以外の画像クラウドサービスに移すことにしました。
画像クラウドにはGoogleフォトを使うことにして画像データだけをまず全てGoogleフォトに移し変えました。
画像を全て移行するのに10日以上作業がかかりました。
その際、記事のリライトと、不要な記事の削除も平行して行い、560あった記事数を310くらいまで減らしました。
準備作業2.Wordpressに移行を試みるが失敗
2017年1月29日夜から、実際に移行作業を行いました。が、途中で失敗と判断し、はてなブログに切り戻しを行いました。
この時の移行作業の概要だけを書くと、エックスサーバーのX10プランで仮契約、はてなブログから記事データエクスポート、Wordpressをエックスサーバーインストールし、記事データをインポート、ドメインのネームサーバーをはてなブログからエックスサーバーに切り替えという流れで行っています。
エックスサーバーを選択しているのは、Wordpressを使用しているユーザーが多くネット情報やエントリーが多いこと、多機能・高機能で値段も抑えられていることなど。
情報が多いのはレンタルサーバーを選ぶ上で非常に重要ですがその点も重く見ると現状ではエックスサーバーが最有力となります。
移行作業を行ったエントリー。結果的には失敗して切り戻し(2020年追記:記事非公開としています。)
この時、事前の調査で分かっていなかった問題が多数出て失敗と判断しました。
例えばドメイン切り替えから安定してWordpress管理画面に接続出来るまでに時間がかかる、Googleフォトが正常に表示されない、Amazon商品リンクのAmazletの表示が崩れる、Youtube動画、ニコニコ動画が表示されないなど。
この後、これらの問題を一つずつ調査して解決しました。
準備作業3.失敗原因を解決
ドメイン切り替えから安定してWordpress管理画面に接続させる
ドメイン切り替え後はドメイン浸透期間に繋がるか繋がらないか分からないため安定して接続するのが難しい状況になりますが、対策としてはhostsに自分用のエックスサーバーのIPアドレスと自分の独自ドメインを対応させるように書くと常にエックスサーバー側に繋がるようになります。
hostsについては移行作業の中で書きます。
エックスサーバーのマニュアルでもhostsを使った作業について説明があります。
Googleフォトが正常に表示されない
テーマによって表示される・されないがあるようです。
自分はSimplicity2というテーマを使っていますがGoogleフォト画像の表示が可能です。
Amazletの表示が崩れる
これもテーマによって崩れる・崩れないがあるようです。
Simplicity2テーマでは問題なく表示されています。
Youtube動画、ニコニコ動画の表示
はてなブログとWordpressでは使っているタグが違うため記事データを移行しても表示されませんでした。
タグの書き方を変更することで表示出来るようになります。
準備作業4.Wordpress作業環境を作る
この時点で方針としては、一旦、ムームードメインで「別の独自ドメイン」を取得し、Wordpressで作業環境を作って、移行前の作業とテストを行うことにしました。 今でこそWordpressの環境では普通に作業出来ていますが、この当時はそこまで知識が無く、Wordpressのテーマはどれを選ぶべきか?といったことすら試行錯誤が必要でした。 テーマによっては、スマホサイトすらまともに表示できなかったため、「スマホサイトが表示出来るかどうか」といったこともこの時点の確認内容でした。
また、記事を単にWordpress側にインポートしただけでは、形崩れやタグ崩れが発生することが想定されたため、「Wordpressの環境でインポートした後に記事をチェックして形崩れやタグ崩れの箇所を修正する」「修正したデータを再度Wordpressにインポートしてチェックする」という工程が必要でした。
また、作業環境として別ドメインを取る理由については、本ドメイン(このサイトでは「varis.jp」)を使うと、この時点でドメインがCNAME参照しているはてなブログの方に影響があると思ったためです。
が、今思うと実際には「作業用ドメインは不要」でした。
エックスサーバーで「varis.jp」(本ドメイン)を登録し、PCのhostsファイルにエックスサーバーとvaris.jpの一対一対応を書いておけば、はてなブログに影響なく作業が可能でした。(hostsについては本エントリーの中で記します。)
この時点ではこのことに気付かなかったため、このような手段を取っていました。
以下のエントリーで作業ドメイン、Wordpress作業環境を作りそこでの作業内容を書いています。(2020年追記:記事非公開としています。)
準備作業5.Wordpress作業環境での作業
作業環境での作業内容を箇条書きで書きます。以下の作業を2/1から2/9頃まで行っていました。
- はてなブログサブブログを作成し仮記事を作成
- エックスサーバーX10プラン本契約(仮契約期間が過ぎたため本契約)
- 作業用の独自ドメインをムームードメインで取得
- 作業用ドメインをはてなブログに設定しムームードメインにCNAMEレコードを設定
- 作業用ドメインをエックスサーバーに設定
- エックスサーバーにWordpressインストール
- ムームーDNSでネームサーバーをエックスサーバーのものに変更
- はてなブログのメインブログの記事名とURLの一対一対応したXLSファイル作成
- Akismetプラグイン導入
- Googleフォトプラグイン導入、認証設定
- 投稿フォーマット変更
- 設定>パーマリンク設定>カスタム構造
/entry/%year%/%monthnum%/%day%/%postname%
- マルチバイトプラグイン導入
- 検索クロール回避
- パスワードロックプラグイン導入
- 設定>パスワード保護有効
- はてなブログメインブログから記事データエクスポート
PCローカル環境でエクスポートファイルの修正- エディタ(Sakura)でエクスポートファイルを開きH3をH2に一括置換(はてなブログではh3が最大だがWordpressではh2になるため)
- STATUSをPrivate(非公開)に一括置換
- はてなブログメインブログのエクスポートファイルをWordpress作業環境にインポート
- WordPress作業環境でメインブログの記事を修正(ここで修正した記事データを最終的にWordpress本移行でインポートする)
- 記事パーマリンク修正
はてなブログでインポート時点では年月日とpostnameが合体してそのままでは移行元とURLが変わるため、Wordpressにインポート後記事のパーマリンクを以下の形式に修正する。/entry/%year%/%monthnum%/%day%/%postname%
例:
元記事https://varis.jp/entry/2016/12/31/123456
↓
Wordpressインポート直後https://varis.jp/entry/2016/12/31/20161231123456
↓
以下の形に修正するhttps://varis.jp/entry/2016/12/31/123456
- 画像をGoogleフォトサブアカウントへ変更
サブアカウントで画像をアップロードし直す予定でしたが、表示だけならメインアカウントでアップロードした画像でも表示出来ており、作業量を少なくするため一旦このままとしました。 - テーマの選定
無料で使えるものとしてはSimplicity2が一番良さそうでした。
ネット上の情報も多くカスタマイズするのに問題はないレベルの情報量があります。
スマホ対応もSimplicity2でやってくれるためプラグインは不要です。Simplicity2テーマサイト
Simplicity | 内部SEO施策済みのシンプルな無料WordpressテーマSimplicity2の親テーマと子テーマの二つはセットで使います。
(実際に有効にするのは子テーマのみ。CSSの設定も子テーマだけに行い、親テーマのCSSは変更しない。)テーマ配布サイトからZIPをダウンロードして管理画面にアップロードして有効化します。 - ニコニコ動画スクリプト修正
Simplicity2子テーマCSSにvideo-container用記述を入れます。
これを入れないと動画幅がレスポンシブにならないため。.video-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; } .video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
実際にニコニコ動画を記事に埋め込む時は以下のように入れます。
<div class=”video-container”><script src=”http://ext.nicovideo.jp/thumb_watch/smxxxxxxxx?w=480&h=270″ type=”text/javascript”>
</script></div> - Youtubeスクリプト変更
video-containerを使うとシークバーの表示が切れるため使わず、普通にiframeで表示させることにします。<iframe src=”https://www.youtube.com/embed/xxxxxxxx” width=”480″ height=”270″ frameborder=”0″ allowfullscreen=”allowfullscreen”></iframe>
- アイキャッチ画像
Simplicity2テーマ機能側で表示されるため特に作業なし。 - CSSカスタマイズ
Simplicity2子テーマにカスタマイズを入れます。(親テーマCSSは変更しない。)参考記事
- カテゴリースラッグ作成、親・子階層化、グローバルメニュー作成
グローバルメニューを作るにはカテゴリーを階層化する必要があります。
カテゴリーははてなブログから移行した段階で反映されていますが、Wordpressの機能である英語名のスラッグには対応していないせいでスラッグに日本語が入っていて英語に変更出来ませんでした。(はてなブログの時点で英語カテゴリーにしていれば英語化されるかもしれません)
そのため最初からカテゴリーを設定し直してスラッグを作成し記事に割り当てが必要になります。自分の場合はカテゴリーを最初から設定し直し、スラッグを設定しカテゴリーの階層化を行ってグローバルメニューを作成しました。- カテゴリー設定、スラッグ設定、階層化
- 記事へのカテゴリー再設定
- グローバルメニュー作成
参考記事
アフィリエイトサイトの作成手順 | サーバー選びからWordpress設定まで全部紹介 |2.2 子テーマを編集しヘッダーとグローバルナビを設定する方法http://www.how-to-make-affiliate-blog.com/design-heder-and-global-navi/本記事では,インストールしたSimplicity2の子テーマを編集していき,サイトのヘッダー(画面上のタイトル部分)とグローバルナビ(画面上のメニュー部分)を設定していく方法について説明します.上の画像の変更...- 2.2 子テーマを編集しヘッダーとグローバルナビを設定する方法
- 2.3 プラグインを用いてグローバルナビを変更する方法とスタイルシート(style.css)の編集方法
- コメント非許可設定
投稿一覧>編集・適用>コメントを許可しないで一括設定出来ます。 - スマホ表示テーマまたはスマホ用プラグイン導入
Simplicity2で対応しているため不要です。 - サイドバー設定、ウィジェット設定
この時点ではお知らせ(固定ページ)、最新記事と新着記事(Simplicity2機能)のみ表示させていました。 - フッター設定(コピーライト)
テーマカスタマイズ>その他>サイトのライセンス表記 - 固定ページ作成
Wordpressでは通常のエントリーとは別に固定ページを作る機能があるため、運営者紹介、サイトポリシー、サイト沿革等を作成しました。
これらは記事投稿では作らず固定ページで作成します。 - お問い合わせフォーム設置
通常はお問い合わせフォームとして「Contact Form 7」というプラグインを使うが、メール送信元がエラーになる、プラグインを入れた方がいいなどの情報もあり対策が面倒でした。自分は元々はてなブログの時点でGoogleフォームをお問い合わせフォームとして使っていたためそちらのコードを流用することにします。
固定ページにはてなブログ側のGoogleフォームコードをそのままコピーして作成しました。 - その他プラグイン導入
- Jetpack
- WordPress Ping Optimizer
不要なPingを打たず更新リストにのみpingを打つプラグインです。
リストにURLを入れてenable pingingにチェックを入れてsave settingsで保存します。 - Broken Link Checker
リンク切れをチェックします。 - Category Order and Taxonomy Terms Order
カテゴリー並び替えを可能にします。
投稿>TaxonomyOrderから並び替え - No Self Pings
内部リンクでコメントの自動付与されることを防ぎます。 - TinyMCE Advanced
ビジュアルエディタにPタグやbrタグを可視化します。 - WordPress Popular posts
新着・人気記事表示用 - Max Mega Menu
スマホのグローバルメニューデザイン変更。参考記事
アフィリエイトサイトの作成手順 | サーバー選びからWordpress設定まで全部紹介 |2.2 子テーマを編集しヘッダーとグローバルナビを設定する方法http://www.how-to-make-affiliate-blog.com/design-heder-and-global-navi/本記事では,インストールしたSimplicity2の子テーマを編集していき,サイトのヘッダー(画面上のタイトル部分)とグローバルナビ(画面上のメニュー部分)を設定していく方法について説明します.上の画像の変更...- 2.2 子テーマを編集しヘッダーとグローバルナビを設定する方法
- 2.3 プラグインを用いてグローバルナビを変更する方法とスタイルシート(style.css)の編集方法
- ヘッダー文字を等間隔にします。
参考記事
- EWWW Image Optimizer
画像の自動リサイズ - Table of Contents Plus
目次の自動作成 - モバイル用スライドメニュー設定
参考記事
- モバイル用サイトトップロゴ設定
サイトタイトルとサイト説明は入れないと検索評価に影響があるため、入れた上でCSSで消します。
外観>カスタマイズ>ヘッダー>モバイルヘッダー背景画像>予めメディアで入れておいたトップ用画像などを設定。
ヘッダーの高さpxを45程度に設定
保存テーマの編集>Simplicyty2 child>mobile.css編集>cssを保存#site-title{ display:none; } #site-description{ display:none; }
- Revision Control
投稿リビジョン(履歴データ)数を制限する - Edit Author Slug
セキュリティ用プラグイン
各ユーザーにAuthor Slug設定参考記事
- Force email login
セキュリティ用プラグイン
ログインをIDで出来なくする(メールアドレスのみ)参考記事
- 設定>メディア>画像サイズを全て0にする
- 記事を修正後Wordpress形式でエクスポート>Wordpress形式でインポート>体裁確認>を繰り返して記事を仕上げる
- 記事がカラム落ち(divタグ落ち)していないことをチェック
- 全てOKになったら全記事を非公開
投稿一覧からチェックボックス全てチェック>一括操作>編集>適用>ステータスを非公開>更新で一括変更
移行作業の前に気になっていたこと
ここまでで、Wordpress作業環境で記事データの修正、テーマの選定やCSS設定、プラグインの導入、スマホ用の表示設定など全て作業を完了していますが、移行作業に直ぐに踏み切れませんでした。
まだ自分の中で解決していない疑問点があったためです。気になっていたのは主に3つでした。
- エックスサーバー側で削除したドメインをエックスサーバーで再度登録出来るかどうか
- ディレクトリ構造を変更すべきか
- 記事に付けられているインデックス評価はどの程度維持されるのか
エックスサーバー側で削除したドメインをエックスサーバーで再度登録出来るかどうか
1月末に行った作業の際、一度本ドメイン(varis.jp)を登録して削除していました。
このドメインを再度設定出来るのかどうか分からなかったためエックスサーバーサポートに確認しましたが使用可能という回答でした。
ディレクトリ構造を変更すべきか
WordPressをマルチサイト化する際はディレクトリ構造を分けてインストールするというやり方もあり、どういうやり方がいいのか迷いましたが、調べたところ、「マルチサイトはプラグインの非対応などもあり初心者には敷居が高い」という情報が気になったため、自分は慣れていないこともあり今回はディレクトリ構造に手を入れずインストールすることにしました。
記事に付けられているインデックス評価はどの程度維持されるのか
これは二つの側面があり、一つ目は移行中やドメイン浸透期間に同じ内容の記事が二つ存在するため、検索エンジンにコピーコンテンツと看做されペナルティを受けることを避けること。
ペナルティを避けるためcanonical設定を入れるが、はてなブログでは記事個別にヘッダー設定が出来ないこと。
二つ目はコピーコンテンツペナルティを避けるため元記事のはてなブログにアクセスされた際にWordpressの同じ記事に301リダイレクトさせたいが、はてなブログでは個別の記事から301リダイレクトが行えないこと。
現在インデックスされているドメインはwww.varis.jpですがWordpressインストール時にサブドメインのwwwなしでインストールした際はサイトURLがvaris.jpになります。
そうすると検索エンジンから見るとwwwなしになるため別URLでインデックスされこれまでの検索エンジン評価がなくなってしまいます。
対応としてvaris.jpにアクセスされた際にwww.varis.jpに転送させる301リダイレクト設定を行うのが普通ですがはてなブログでは301リダイレクトが行えません。
これについて有志がJavaScriptで実装している例がありました。
具体的にはJavaScriptを検索クローラーが読み込むため、301リダイレクト出来ないはてなブログでも記事の本文にJavaScriptを差し込めばcanonical設定出来るという内容です。
参考記事
記事の評価の維持についてどこまでやるかですが、自分はこれらのやり方は使いませんでした。
GoogleフォーラムではてなブログからWordpress移行について質問している方がおられてGoogle社員が回答している内容を参考にしました。
質問内容は掲載しませんがGoogle社員の回答だけ掲載します。
ブログ移行に関する質問へのGoogle社員の回答
- 移転がwebmastertool(サーチコンソール)のインデックスに反映されるには数週間程度時間がかかる
- 旧ブログに対する noindex などの処理でGoogle のクローラーが認識する前にコンテンツは削除されてしまったのではないか(記事が先に削除されればnoindexを認識できない)
- rel=”canonical”もサイトマップも設定されているのであれば次第にURL登録が進むはず
- 最低でも移転から1ヶ月は様子を見るべき(webmastertool(サーチコンソール)のインデックス状況)
「ここで移行すると今もらっている検索順位やインデックス評価がなくなるかもしれない」
「はてなブログは現状を維持してWordpressは新規サイトとしてスタートすべきではないか」
移行の最終判断を行うにあたりかなり悩みましたが、ブログ移行後はある程度評価やインデックスが落ちても仕方がないと踏ん切りを付けました。
そもそもの考え方として、今もらっているブログへの評価は、はてなブログ自体が検索エンジンに評価されているという部分の影響が大きく、移行後ははてなの評価がなくなり自分の独自ドメインだけの評価に変わるため、検索エンジンから見た評価が一気に落ちる可能性があるためです。
移行というのははてなブログからもらっている評価を失うことと同義でこれを受け入れないと移行をすることは出来ません。
また、自分の場合は、「同じ独自ドメインから独自ドメイン」というURLが変わらないケースであり、サイト移行でも最も難易度が低いため、恐らく移行に当たり想定している以外に大きな問題は出ないだろうという感触もありました。
(Googleフォーラムではもっと複雑な問題も報告されていました。)
今回、結論としては、フォーラムの質問者と同じようなやり方で移行する事にしました。
WordPressに記事データ移行後に以下の対策を行います。
検索エンジン向けの対策
はてなブログ側は全記事を削除し、サイト移転の報告のみトップページに表示させます。
(全記事を削除し、サイト移転記事の掲載でもクローラーが認識するという報告があります。)
はてなブログのヘッダーにnoindex、canonical等を入れてインデックスを防ぎます。ヘッダーの設定は個別の記事ではなくブログ全体のみですがやらないよりはやっておく方が良さそうです。
ユーザ向けの対策
はてなブログヘッダーにmeta refreshを入れてWordpressサイトに自動的に移動するようにしておきます。移転記事をクリックしてもらえなくても数秒後に移動するようにしておきます。
流れ的には以下のような形で推移します。
- ムームードメインでドメイン切り替え
- はてなブログ側検索回避
- はてなブログ側全記事ゴミ箱
- はてなブログに設置している広告やサイドバーは全て削除
- トップ記事に移転のお知らせを書き、新ドメインを表記
- はてなブログ側でヘッダーにnoindex,canonical,meta refreshを設定
- はてなブログ側でドメイン削除
本番移行作業
本番移行作業1.Wordpress側作業
以下、移行の本作業の内容となります。
作業環境の作業と被っているものもありますがそのまま掲載します。
本作業では先にセキュリティ系の設定、プラグインでセキュリティを高めてその後記事に必要になる設定を入れて記事データをインポートするという流れで行います。
作業開始時刻は2月11日の0時頃から行いました。
- エックスサーバーで本ドメイン設定(varis.jp)
- エックスサーバーでデータベース作成、DBユーザー作成、DBユーザーをDBに割り当て
自分の場合は手動で作っていますが、Wordpressインストール時に自動で作成されるため、手動・自動どちらでも可能です。 - WordPressインストール(インストール時に作成したDBを指定)
- ムームーDNSでネームサーバーをエックスサーバーのネームサーバーに変更
- PCのhosts設定
移行作業で使っているPCのhostsファイルを編集し、ドメイン浸透期間の影響を受けずに作業出来るようにします。ネームサーバーを変更するとドメイン浸透が始まるため、エックスサーバー側に到達せずエラーになる場合があります。
そのため、ドメインの影響なくhostsファイルに一時的にエックスサーバーのIPを記して確実にエックスサーバー側に辿りつけるようにします。やり方としてはsakuraエディタでC:\Windows\System32\drivers\etc\hostsを開き、以下の2行を一番最後に入れて保存します。自分のエックスサーバーのIP varis.jp 自分のエックスサーバーのIP www.varis.jp
- WordPress管理画面ログイン(http://ドメイン/wp-admin/)
- WordPressサイトタイトル、サイト説明設定
- 設定>RSS/Atom フィードでの各投稿の表示
抜粋のみを表示にチェック - WordPress検索回避設定
設定>検索エンジンでの表示
「検索エンジンがサイトをインデックスしないようにする」にチェック(公開準備が出来たら解除します。) - 投稿者ユーザー作成
- コメント非許可設定
設定>ディスカッション設定
自分宛のメール通知は全てオフにする(スパムコメントでメールが大量に来るため) - Password Protected導入、有効化
設定>パスワード保護有効 - Akismetプラグイン導入
APIキー認証>受信メールでアクティベイトしてサインイン>バーを左スライドで0円にしてcreate subscription>表示されたAPIキーをコピーしてWordpress管理画面に貼り付け - Edit Author Slug
各ユーザーにAuthor Slug設定 - Force email login
- 投稿フォーマット変更
設定>パーマリンク設定>カスタム構造/entry/%year%/%monthnum%/%day%/%postname%
- マルチバイトプラグイン導入
- テーマの新規追加からSimplicity2テーマとSimplicity2子テーマをアップロード(作業サイト用にダウンロードしたファイル)
- Simplicity2子テーマを有効化
- WordPress形式のインポートを可能に設定
ツール>インポート>Wordpress - 記事データのインポート
作業用サイトで記事を修正したエクスポートファイルをインポート
インポート時に作成した投稿者ユーザーに記事を割り当てる
※この時は「添付ファイルをダウンロードしてインポートするにチェック」を外していたためトップエントリーとアイキャッチ画像が全て表示されなくなったためチェックを入れるべきでした。 - Category Order and Taxonomy Terms Order
カテゴリーを未分類を一番上にする(デフォルトだと一番下にあってスクロールするのが面倒なため) - インポートした時全記事がカテゴリー未分類に分類されるため、未分類をオフにする(クイック編集で開いて編集)
- 記事のURLがインポート元を維持しているかを確認(数個ランダムに確認)
- カテゴリー構造とカテゴリースラッグがインポート元を維持しているかを確認します。
作業サイトで行ったカテゴリー構造を維持していました。 - この時点で発生していたエラーの対応(作業用環境では発生していないエラーがあったため対応)
- 記事のアイキャッチ画像が表示されない
- トップページのトップエントリーの画像が表示されない
記事を一旦削除してインポートし直し、その際画像も全て添付付きでインポートする(添付ファイルをダウンロードしてインポートするにチェック)
この対応でアイキャッチ画像とトップエントリーの画像を表示出来ました。
インポート後、再度未分類のカテゴリーを外します。 - Max Mega Menu導入、グローバルメニュー作成
- ヘッダー文字を等間隔にする
- ウィジェット等の設定
作業サイトと同じ設定にします。 - CSSカスタマイズ
Simplicity2子テーマに作業サイトと同じカスタマイズを入れます。(親テーマCSSは変更しない。) - スマホ用のCSS、メニュー等の設定
作業サイトと同じ設定にします。
Simplicity2子テーマのCSSまたはモバイル用CSSに設定します。 - 固定ページ作成
作業サイトで作成した固定ページを維持していたため不要。 - 固定ページにnoindex設定
- フッター設定(コピーライト)
- モバイル用スライドメニュー設定
- モバイルサイトトップロゴ設定
- 設定>メディア>画像サイズを全て0にする
- その他プラグイン導入
- Jetpack
- Broken Link Checker
- No Self Pings
- TinyMCE Advanced
- WordPress Popular posts
- EWWW Image Optimizer
- Table of Contents Plus
- Revision Control
本番移行作業2.はてなブログ側作業(1)
- はてなブログ側のAnalyticsコードを外す
- はてなブログ側のGoogleSearchConsoleコードを外す
- はてなブログ側でAdsenseに影響しそうなものは外す
本番移行作業3.ドメイン関連作業
- はてなブログ設定でドメイン削除
この後はてなブログへのアクセスはxxxxxx.hatenablog.comからのみ可能になります。 - ムームードメインのCNAMEレコードを削除
この後、ドメインがある程度浸透するまでは、自分のPC環境ではhosts設定で見えていますが実際にはどういう状態なのか判断することが難しいため、キャッシュを削除したブラウザで確認します。
自分は作業環境としてFirefoxでWordpress管理画面にアクセスして設定作業。
はてなブログやWordpressブログの確認はIEでキャッシュをクリアして表示させて確認しました。
本番移行作業4.公開準備完了後
- WordPress側でパスワード保護解除
- WordPress側で検索回避設定を解除
設定>検索エンジンでの表示
「検索エンジンがサイトをインデックスしないようにする」のチェックを解除
本番移行作業5.はてなブログ側作業(2)
- はてなブログ設定で検索回避
- はてなブログトップページにサイト移転の記事を掲載
- はてなブログで上記1記事を除き全記事を削除(ゴミ箱)
- はてなブログヘッダー設定
この時点で2月11日PM19時頃でしたがドメイン浸透に時間がかかるため一旦作業を終了しました。
本番移行作業6.ドメイン浸透後作業
2月12日AM9時頃nslookupでドメインの回答が返るようになり、ブラウザからも表示されていることを確認したので作業再開しました。
- PCのhostsファイルを元に戻す
- 各記事のチェック
記事名とURLの一対一対応XLSファイルでURLが全て該当の記事が表示されることを確認
→パーマリンクやpostnameの設定ミスが数件あったため修正 - hostsなしの状態でキャッシュをオフにしたブラウザでアクセス出来ることを確認
- スマホのSafariからアクセス出来ることを確認
- Simplicity2テーマ設定からAnalyticsコードを入れる
Analyticsコードははてなブログで設定していたものをそのまま使用(移行前・後ともドメインが同じのため)
本番移行作業7.www正規化設定作業
この時点で作業開始から1日半経過していますが、ここまで順調に作業出来ているため、www正規化設定についてもクローラーからインデックスされる前に対応しておこうと思いました。
参考記事
www正規化とは、自分の場合はこれまでwww.varis.jpではてなブログを運営していたため、検索インデックスがwwwありで検索クエリと結び付けられています。
https://varis.jp/entry/yyyy/mm/dd/postname
で記事を公開するとwwwなしのURLでインデックスされるためこれまでのインデックス評価がゼロになります。
実際には、エックスサーバーの仕様でドメインを登録時にwwwサブドメインについてもAレコードで自動登録されているため、wwwあり・なしどちらでもアクセス可能です。
ただその場合はWordpressインストール時に設定したサイトURLに一元化されます。
掻い摘んで言うとwwwあり・なしどちらでもアクセス出来ますが到着ページはvaris.jpになります。
この状態でインデックスされるURLはwwwありとなしで半々になる可能性もありますが、恐らくwwwなしの状態でインデックスされると思います。
wwwなしだとパーマリンクの構造を維持していてもこれまでの記事のインデックス評価がゼロになります。
これをwwwありに一元化する設定がwww正規化です。
移行前の評価を引き継ぐなら、移行元が「wwwあり」の場合は移行先も「wwwあり」に設定します。
www正規化については、これまで調べていた情報から.htaccessでwwwサブドメイン付きURLへリダイレクトさせるのが正しいと思っていましたが、エックスサーバーに問い合わせすると.htaccessでの301リダイレクトは不要との回答でした。
単にWordpress管理画面でWordpressURL、サイトURLの二つをwwwありのURLに変更するだけでよいとのことです。
技術的な理由としては「WordPressの仕様で、管理画面にて設定されたサイトURLへ自動的に転送されるため、[.htaccess]ファイルへの記述は不要」とのことです。
自分もWordpressに詳しいわけではないためこの理由はよく分かりません。
WordPress管理画面からWordpressURLとサイトURLを変更した状態
WordPressアドレス(URL) | https://varis.jp |
サイトアドレス(URL) | https://varis.jp |
変更後、管理画面に入るためのURLが変わります。
- 変更前 http://wwwなしドメイン名/wp-admin/
- 変更後 http://wwwありドメイン名/wp-admin/
変更後はトップページや記事のアクセス先はwww付きで表示されるようになりました。
https://varis.jpでアクセスしてもhttps://varis.jpがランディングページのURLになりwww正規化出来ています。
本番移行作業8.サーチコンソール・サイトマップ関連作業等
- Google XML Sitemapsプラグインを導入しsitemapを作成します。
参考記事
Google XML Sitemapsはバージョン4.0以降ほぼ自動化されており、これまでのようにsitemap.xmlをサーバーに保存したり手動で送る必要はなくなっています。(手動で送る事も可能)
Google XML Sitemapsをプラグインインストールして有効化します。
管理画面の設定>XML Sitemapで設定して保存。
Notify Search Engines about your sitemapの所のyour sitemapを押すと更新されます。
サーチコンソール側のクロール>サイトマップ>サイトマップの追加/テストから
サイトマップをURLで指定して送る事も出来ます。
- サーチコンソールで全記事をFetch as Googleする
本来やるべきですが面倒なのでやっていません。 - WordPress Ping Optimizer
リストにURLを入れてenable pingingにチェックを入れてsave settingsで保存します。
更新通知先はWordpress公式で掲載しているほか、有志が年度毎にPing送信先サーバーを作っているのでそれを参考にします。WordPressCodex日本語版更新通知サービス
参考記事wpdocs.osdn.jp1 User20 Pockets更新通知サービス - WordPress Codex 日本語版https://wpdocs.osdn.jp/更新通知サービス - Simplicity2テーマ設定から広告設置
URL正規化し接続が安定したため広告を設置しました。(2月12日PM20時頃) - アドセンス広告のブロックを許可
これまで、アドセンスの広告ではてなの規約抵触のリスクから一部のデリケートな広告をブロックしていましたが、はてなが関係なくなったため、デリケートな広告を表示可に変更します。 - はてなブログ側アクセスが減っていることを確認
これを書いている2月14日AM0時時点では0です。
本番移行作業9.移行の最終判断
この後、企業の本番サーバーの手順であれば「移行の最終判断」という工程が入ります。
移行手順とテスト結果からOKかNGかを判断して作業を行います。
OKケースだと切り戻しなしで現状を維持します。
NGケースではそれまで検索順位があったキーワードで極端に下がったりインデックスが新サイトにされない場合ははてなブログに切り戻しをするかどうかを検討し切り戻しを行います。
戻す場合は、はてなブログ記事管理画面の右下のゴミ箱から記事を復元出来るので記事を戻し、はてなブログを公開にして検索回避を解除します。
Wordpress側を検索回避にして全記事を非公開にします。
双方のドメインも切り戻し、はてなブログのネームサーバーを復活させCNAMEレコードではてなブログにドメインを向けます。
エックスサーバーのネームサーバーを入れていた設定は削除します。
作業的には切り戻しも直ぐに行えます。
今回は特に問題なく移行出来ているため切り戻しなしとしています。
理由としてはsite:ドメイン名で表示されるインデックス数が移行前・後とも同じ。
検索結果から表示されるURLで移行先(新サイト)に飛ぶこと。
Google Analyticsの統計が取れていることなどから判断しています。
実質的にはユーザーから見て接続断がドメイン切り替えから浸透期間の間の一日程度でその間クロールされたとしてもごく僅かな記事に留まるはずなので影響はほとんどありません。
上に書いているように以前は自分のドメインでもはてなに301リダイレクトされていたため、検索順位におけるはてなの影響は少なくないと思いますが、ドメインがはてなから完全に独自ドメインの評価だけになるため検索順位はある程度落ちると思っています。
それは最初からWordpressで運営して来なかった自分の問題なので仕方ありません。
以上で移行作業は終了です。
以下残作業や付記などを記載します。
次のページへ
最新記事 by VRS (全て見る)
- 世界樹の迷宮V 長き神話の果てゲームレビュー「新規システムが多数も空振り気味、ストーリーも薄めで印象に残らない」【3DS】 - 2023年8月27日
- デビルサバイバー オーバークロック ゲームレビュー「悪魔が現れた東京で7日間を生き抜くサバイバルSRPG」【3DS】 - 2022年12月22日
- 世界樹と不思議のダンジョン ゲームレビュー「ライトに遊べる世界樹系ローグライク」【3DS】 - 2022年10月22日