Googleが提供するブログツールの「Blogger」ですが、最初に決めたブログのアドレスを後から変更することが可能です。この機能は他の多くのブログサービスでも実装されている機能ですが、「Blogger」のアドレス変更機能は他のサービスと違い、古いアドレスから新しいアドレスへリダイレクトされなかったのです。
ちなみに、以前のアドレスにアクセスしてきた訪問者には「このブログは削除されました。」というメッセージのページが表示されるだけとなっていました。要するに、今までの被リンクやブックマーク登録していただいた訪問者を全て失う事となります。さらに検索エンジンから今まで受けていた評価や流入も無くなります。
これは困ったものですから何か対策をと、いくつか考えて試してみました。
まず試したのは、アドレス変更した新しいブログの他に新たにもう一つブログを作り、そちらのアドレスに以前使っていた旧アドレスを設定して、メタタグ(refreshとcanonical)を使い転送とアドレスの正規化をする方法。今のところ「Blogger」は、アドレス変更により空いたアドレスはすぐに利用可能でした。
この方法の具体的な手順は、他サイトにも多数掲載されているのでこちらでは簡潔に書きます。まず「Blogger」のテーマ編集画面からHTML編集モードにして、headセクション内に次の2つのコードを各々対応するURLと転送までの秒数を記載して付け加えます。秒数を0秒にすると永続的なリダイレクトと捉えられ検索結果にリダイレクト先が表示され、0秒より長く設定すると一時的なリダイレクトと捉えられ検索結果にリダイレクト元が表示さます。
- <link rel='canonical' href='(新しいブログアドレス)' />
- <meta http-equiv='refresh' content='(転送までの秒数);URL=(新しいブログアドレス)' />
これにより以前のアドレスにアクセスしてきた訪問者は、自動的に新しいアドレスに転送されます。しかしこの設定の欠点は、どの個別記事にアクセスしてきても、すべてトップページに転送されてしまう事です。
これを回避するために、「Blogger」の独自タグである条件分岐タグ(<b:if cond='data:blog.url == (転送元のURL)'>)にて個別記事ごとに転送先を割り振る事を考えました。しかし、「Blogger」の仕様なのか転送元のURLが実際に公開されているURLでないと条件分岐タグが、機能しないことが分かりました。
そして、これも「Blogger」の仕様なのか以前使っていたブログアドレスで新たに作ったブログには、たとえカスタムパーマリンク機能を使ったとしても同じURLを設定する事ができませんでした。それは「Blogger」のURLは、https://example.blogspot.com/2021/12/○○○.htmlのように、○○○の部分は自由に変更できても日付を基にした数字部分は自動生成されるため変更できないのです。
たとえ「Blogger」のバックアップとインポート機能を使ったとしても、記事内容や固定ページなどはバックアップされるのですが、記事URLは完全コピーされなかったのです。
ということで結論としては、文頭で紹介した方法のとおりアドレス変更前の全てのページを、アドレス変更後のトップページに転送する方法が今のところの最善策かと思います。現在のところ「Blogger」を使ってブログを始める際は、ブログのアドレスを変更しないことを念頭に、じっくりとアドレスを考えて設定するべきですね。早く「Blogger」にもリダイレクト機能が実装される事を願います。
2022/01/23追記:「サーチコンソール」のアドレス変更ツールにて301リダイレクトが利用できない場合は、HTMLのheadセクションへ「meta refresh」リダイレクトタグを、0秒設定で書き込むことでもリダイレクトとして認識されました。