Bloggerのドメイン移行で失敗した事
いままで、Bloggerのページを改善するためにページ内の目次を自動生成してみたり、svgタグをページに取り入れてみたりしてきました。今回は、独自ドメインを取得します。ドメインは様々なところで取得できますが、Bloggerの母体でもあるGoogleが提供しているGoogle Domainsで取得してみました。その際の事を忘れないように書き残しておこうと思います。
Bloggerのカスタムドメイン
まずは、Google Domainsの申し込みをします。comやnet、jpなど様々な中からトップレベルドメインを選択できますが、種類により価格が違います。筆者は.netにしました。Google Domainsにはプライバシー保護の機能があります。通常ドメインを登録する際には登録者の名前や住所、メールアドレス等がWHOISに公開されてしまいますが、それらを架空の登録情報にできます。
Google Domainsで取得したドメインを設定すると、Bloggerのカスタムドメインの設定が簡単になります。Google Domainsの管理ページから「ウェブサイト」から自分のBloggerのページを選択するだけで、ドメインとの関連付け(DNSの設定)をしてくれます。あとはBloggerの設定ページで「カスタムドメイン」の欄に新しく設定したドメインを登録すればするだけです。
これはGoogle Domainsを利用した際に限ったことではありませんが、Bloggerにカスタムドメインを設定する際注意が必要なのは、カスタムドメインの設定をした後からは旧Bloggerのアドレスではアクセスできなくなることです。そのため旧ドメインでAdSenseを付けている場合は新ドメインでAdSenseを通すまで広告が表示できなくなります。もし、先に何かしらのBloggerに依存しないコンテンツを持っているなら、先にそちらのコンテンツを使って新ドメインのAdSenseを通した方が無難かもしれません。移行の場合は早ければ1日で審査が通るようですが、筆者の場合はそうはいきませんでした。
Search Console
Search Consoleを使っている場合は、新しいドメインの所有権の確認をします。これもGoogle Domainsでドメインを取得した場合は連携されているため自動で所有権の確認できます。
Search Consoleでは新しく取得したドメインと、Blogger用のサブドメイン付きのプレフィックスを登録します。
所有権の確認ができたら、「設定」の「アドレス変更」から旧ドメインから新ドメインへの移行(関連付け)登録をします。関連は半年間継続され、その間にSearch Consoleの中のデータが古いものから新しいものへ書き換わります。
またブログサイトの方では、古いサイトから新しいサイトへのリダイレクトを設定します。このリダイレクトは可能ならば301リダイレクトをすることが推奨されています。
Bloggerのカスタムドメインの設定を行えば、次のようにドメインを差し替える301リダイレクトが自動で設定されます。
https://seedoftalk.blogspot.com/2022/01/blogger.html ↓ https://nanbu.marune205.net/2022/01/blogger.html
301リダイレクト
301リダイレクトとはHTTPヘッダーでレスポンスコードを301にしてリダイレクトすることです。ドメイン移行時だけではなく、ページのパーマリンクの変更や、複数のページをひとつにまとめた時に利用するリダイレクトです。
レスポンスヘッダーベースの301リダイレクトの設定をすることで、恒久的にページが移動したことを検索エンジンに伝えることができます。
301の他302という一時的なリダイレクトもあります。これは、Bloggerにおいてはモバイル端末でアクセスしたとき.htmlから.html?m=1にリダイレクトする時に利用されていたりします。
リダイレクトはJavaScriptでも可能ですがこれだと検索エンジンに伝えられるシグナルがよいようです。筆者は一時的にJavaScriptでリダイレクトをしていましたが、その間は表示件数が激減していましたが、それを301のリダイレクトにかえたところ改善されていきました。もしかしたら時間が解決してくれたのかもしれませんが。
先ほども説明した通り、Bloggerではカスタムドメインを登録することで、旧ドメイン(blogspot.com)から新しいドメインへの301リダイレクトが自動的に適用されます。
ただ、このようなルールにそぐわないリダイレクトが必要な場合は、「カスタムリダイレクト」の機能を使います。指定できるのはドメインより下のアドレスです。「永続的」の設定をONにすると301、OFFだと302でのリダイレクトになります。
すでにカスタムドメインを使っているところから新たなドメインにしたい場合はこの機能は使えないと思うので、その場合は既にDNS設定を自由にできるドメインがあると思いますのでFirebaseのホスティングなどを使って、以前のページは一旦そこに振り向けた後で、自前で旧ドメインから新ドメインへのリダイレクトをすれば可能だと思います。
または、ページ毎の設定はできませんがDNSでCNAMEを使う方法があります。
Bloggerのコンテンツのバックアップに注意
筆者は既存の記事中の旧アドレスの内部リンクのドメイン置き換えを、バックアップデータをダウンロードしてテキストエディタで一括で変換して、再びサーバーにアップロードするという方法をとったのですが、この方法はやめた方がいいです。
バージョンによっても違うのかもしれませんが、次のような現象が発生してスムーズな移行に失敗しました。
- リストアでパーマリンクが書き換わる
カスタムパーマリンクのほとんどがタイトルからの自動付与になってしまいました(どういう条件か不明ですが一部に関しては残っていました)。これだと自動設定される301リダイレクト後のページで404「Not Found」が発生していまいます。
投稿を一度下書きに戻せば再度パーマリンクは変更できますが、この作業をすると今度は保存ディレクトリが変わってしまいます。(これも条件不明で一部昔のディレクトリが指定できました)
このトラブルに関しては、一件ずつカスタムリダイレクトを登録することで対応可能ですが、手間がかかります。
- ページ毎の検索向け説明が消える
ページ毎の「検索向け説明」が消えてしまったため、すべて書き直しとなりました。
- HTMLの中身が圧縮される
バックアップ時、HTMLエディタを使って入力していた際のスペースや改行は可能な限り削除されるようです。preで整形している部分は改行が<br/>に変換された状態で保存されます。これはリストア時そのままの状態になります。ページ表示には影響しませんが、あとからの編集で不便です。
もっと困ったのは、scriptタグ内のJavaScriptにもそのルールが適用されるようで、//でコメントアウトしていると、そのあとの改行コードは除去されてコードを続けられてしまうので、スクリプトが正常に動かなくなります。
これらは「ブログの投稿」と「ページ」のバックアップに限った事で、テンプレートXMLのバックアップではブランクや改行は保持されます。
AdSenseの審査しなおし
ドメインが変わったら、AdSenseの審査が必要です。取得したサブドメインのないドメインに対して審査をします。これが通ればサブドメインはあとから追加できます。
筆者の場合は先のような混乱があったせいか、何度も再審査に落ちました。
その過程で分かったのですが、Not Foundで404を返すページに広告がついていると高確率で落ちます。先のカスタムリダイレクトを使って404が出ないようにするか、BloggerではXMLテンプレート内で、<b:if cond='data:blog.pageType == "error_page"'>を使うことで、404エラーページの判別ができるのでそちらで回避することも可能だと思います。
過去に取得した人向けの話ですが、以前は「問い合わせフォーム」が必要だといわれていたのと同様に、近年では「プライバシーポリシー」も必要なようです。
また、抽出された審査対象のページがサイトマップのようなリンクだけのページといったページは価値のないコンテンツと判断されやすいので、そのようなページも広告を外せるようなら外すのがいいと思います。また、Bloggerの場合は、AdSenseのページからではなくBlogger経由で審査を請求するようにと書いてあり、それに従わなかったのも原因かもしれません。BloggerのXMLをいろいろカスタマイズしていたので、どれが原因かというのははっきりしませんが、AdSenseのScriptの遅延読み込みをしていると、審査の際にAdSenseが読み込まれず審査されない感じでした。
あと、旧サイトで使っていた広告コードをそのまま使うのもよくなかったのかもしれません。
結局、再度審査を通過するまで1カ月かかりました。審査が通った後、広告が載るのは各ページにAdSense用のロボットが巡回してからになるので、収入が戻るのはまたもう少し先になります。
アクセス数の落ち
他のサイトにも同様なことが書いてありますが、301のリダイレクトを設定しても元通りのアクセス数というわけにはいきませんでした。今回の筆者の場合は、混乱時は10分の1、混乱から回復した1カ月後の3分の1ぐらいでした。Googleハネムーン現象かもしれませんが、1.5カ月ほどで元に戻りました。
他
他必要だった作業は、Being Web MasterTool、Analytics、のドメイン変更や、SNSやGitHubに登録してあるホームページアドレスの変更、FontAwesome(Ver5)やAdSenseでサイト内検索バーのドメイン制限の値を変更しました。
AdSenseのJavaScriptライブラリの読み込みを遅延させるのは問題ない(審査が通った後に修正するのをお勧めします)とう話がちらほらでていますが、広告コードをJavaScript経由で生成するのはダメなようです。審査が通った後、サイトマップなどから広告を外す目的で動的に書いていたAdSenseの広告コードで表示された広告が、広告表示件数から除外される現象が多発しました。