当サイトは最初はさくらインターネットで取得したサブドメインで運営していました。
しかしアドセンスが表示されない問題が発生したため、独自ドメインを取得し変更しました。
アドセンスの件はまた別投稿しようと思いますが、ドメイン変更後、WordPressのデータ変換や301リダイレクト、グーグルサーチコンソールへの追加・変更などやらなければいけない事がけっこうありました。
ここではドメインを変更後にやるべき事を順を追って覚書しておきます。
WordPressのドメインを変更した時にやるべき3つの事
1、データベース内のURLを変換するプログラムを実行する。
古いURLを、新しいURLに置き換えるには、ローカル環境から本番環境へ移行する時にも使用した「Search Replace DB」という無料配布されているプログラムを使います。
「Search Replace DB」をダウンロードする。
以下のページからダウンロード可能です。
入力したEmailアドレスに、ダウンロードリンクが届きます。
ページの中盤ぐらいに下図のようなダウンロード用のフォームがあります。
Knowledge checkの内容
- I accept this script can be a security risk
私は、このスクリプトがセキュリティ上の危険であるかもしれないことを認める。 - I understand that this script must not be left in a public facing web server
私は、このスクリプトをサーバーに残してはならないと理解している。 - I am a developer and I know what I’m doing!
私は開発者であり、このスクリプトの機能を理解している。
だいたいこういう内容なので、確認してチェックを入れ名前も入力します。
チェックを入れるとEmail入力欄が表示されるので入力し、 [SUBMIT] ボタンで送信します。するとすぐに入力したEmail宛に2通のメールが届きます。
以下の件名のメールを開くと、文中にスクリプトのダウンロード先へのリンクがあるのでクリックすると、任意の場所にダウンロードされます。
Dear (入力した名前) – here’s your Search Replace DB download Link
「Search Replace DB」をアップロードする。
ダウンロードしたScriptを解凍し、フォルダごとWordPressサイトのフォルダ直下にアップロードします。
「Search Replace DB」の操作手順
アップロードしたら、サイトのドメインの後ろに /Search-Replace-DB-master/ をつけて Search And Replaceにアクセスします。
https://サイトのドメイン(サーバのアップロード先)/Search-Replace-DB-master/
今回の例:https://移転前の古いドメイン/Search-Replace-DB-master/
1、旧ドメインを入力
画面の1の欄に旧ドメインを入力します。
ドメイン入力時には最後の/を入力しないようにする。
間違い× http://localhost/wordpress/
正しい〇 http://localhost/wordpress
2、新ドメインを入力
ここに、本番サイトのURLを入力します。旧ドメイン同様、最後のスラッシュは省きます。
ドメイン入力時には最後の/を入力しないようにする。
間違い× http://localhost/wordpress/
正しい〇 http://localhost/wordpress
3、データベースの情報
データベースは、自動で入力されるのでノータッチです。
4、dry run
実行したらこうなります、というのを表示してくれるのでチェックしてみます。
5、live run
置換を実行します。最終確認画面が出るので、dry runで問題なければOKをクリック。すると一括置換がスタートします。
6、 delete me【重要】
置換が終わったら、このボタンをクリックしてScriptを削除します。このScriptを残したままだと、アクセスされたら攻撃者に一括置換されて大変危険です。
これで、データベースの古いURLを、新しいURLに置き換える事が出来ました。
2、.htaccess(エイチティーアクセス)で301リダイレクトする
.htaccess(エイチティーアクセス)で301リダイレクトする理由
すでにサーチコンソールなどに旧ドメインで登録が済んでいるので、検索エンジンにドメインの変更を知らせなければなりません。
知らせる事で、検索エンジンの評価を保ったまま、元のページから移転先のページへ転送させる事ができます。
つまり、前のドメインが持っていたパワーも引き継ぐ事が出来るのです。
ここでは前のドメインにアクセスがあった時に、新しいドメインへ飛ばすように設定します。
WordPressでページをリダイレクトする方法は二種類あります。
・プラグインを利用する方法
・.htaccessを利用する方法
ですが、.htaccessを利用した301リダイレクトが検索エンジンから推奨されているのでそのようにします。
.htaccess(エイチティーアクセス)で301リダイレクトする方法
WordPressでブログを作ると、そのフォルダの一番上の階層に「.htaccess」というファイルがすでにできているので、それに追記します。
そのファイルをFTPソフトでダウンロードして編集してアップする方法もありますが、私の契約しているさくらのレンタルサーバーでは、コントロールパネルの「ファイルマネージャー」から直接「.htaccess」ファイルを編集できるので今回はそのようにします。
さくらのコントロールパネルにログインし、ファイルマネージャーから編集したい「.htaccess」ファイルを開き、以下を追記し保存します。
RewriteEngine On RewriteCond %{http_host} ^移転前の古いドメイン RewriteRule ^(.*) http://移転後の新しいドメイン/$1 [R=301,L]
FTPソフトでファイルをアップする時は、「.htaccess」という名前ではテキストを保存できないので、sample.htaccess.textなど、保存可能な名称で保存してルートディレクトリ(一番上の階層)にアップロードします。アップロード後に、FTP上でファイルを右クリックし、「名前の変更」を選択し、「.htaccess」へと変更します。
また、FTPソフトでアップロード・ダウンロードした時につまずいたポイントも覚書しておきます。
・「.htaccess」ファイルを保存する時はSHIFT-JS、改行コードはLF、パーミッションは604
・FFFTPでアップする時はアスキー転送モード、S-JISで(通常は「ファイル名で切り替え」)
(phpもアスキー転送モードでアップする)
.htaccessを設定した後、きちんと転送されるか古いURLでアクセスして確認します。
3、グーグルサーチコンソールのアドレス変更ツールを使う
無事に301リダイレクトの設定が済んだ後は、Search Console のアドレス変更ツールを使用します。
アドレスの変更通知を利用すると、現在の Google 検索の掲載順位への影響を最小限に抑えながら、新しいアドレスの新しい URL をインデックスに登録するために必要な Google での移行プロセスを管理できるとの事なので、必ず設定します。
1、新ドメインをサーチコンソールに登録する。
このアドレス変更ツールを使うには、新ドメインの登録と、301リダイレクトが済んでいなければなりません。
まだ新しいドメインをサーチコンソールに登録していなかったので、登録します。
このとき、旧ドメインはサーチコンソールから削除せず、そのまま残しておきます。
サーチコンソールにログインし、右上の「プロパティ追加」をクリックします。
URL記入欄に新ドメインを入力して、「追加」をクリック。
次は所有権を確認で、「別な方法」を選択し、旧ドメインと別な確認方法をとります。
旧ドメインと同じ確認方法では、今度は旧ドメインが見つからなくなってしまいました。
なので、旧ドメインが「メタデータで確認」したのであれば、新データは「HTML ファイルをアップロード」で確認、という風にそれぞれ別な確認方法をとる事で問題回避できました。外にもっと良い方法があるかもしれません。
ここまで済んだら、旧ドメインを選択し、設定 > アドレス変更をクリックします。
新サイトのドメインを選択し、すべてに緑のチェックマークがつくとアドレス変更のリクエストが送信できます。
送信後は、サーチコンソールで新ドメインにアクセスし、ドメイン変更をクリックすることで移行手続きが確認できます。
しばらく時間がかかるので、移行手続きが完了するのを待ちます。
以上で終了です。
サーチコンソールでドメイン変更リクエストをすることでインデックスが促進されるので、ドメイン変更をした場合は忘れずに通知を行っておきます。