はてなブログ:独自ドメインをネイキッドドメインに移行しリダイレクト、ads.txt

はてなブログを独自ドメインで運用する場合にサブドメイン(wwwなど)なしのネイキッドドメインで運用できるようになりました! ってことを知りませんでした(涙)。もう1年も前のことです。




ネイキッドドメインでの設定はAレコード

f:id:ausnichts:20210501093536j:plain
(はてなブログ開発ブログからの画像)


ネイキッドドメインで運用する場合は Aレコードで設定します。設定用の IPアドレスを逆引きしてみますと AWSでバーチャルドメインのサーバーが組まれているようです。Aレコードに IPアドレスを2個振るのは負荷分散のためのラウンドロビンということでしょう。


注意事項として、ネイキッドドメインに移行するとそれまでの記事についていた「はてなスター・はてなブックマーク」が消えてしまう(多分)ということと、独自ドメインのサブドメインで運用していたブログをネイキッドドメインに移行した場合はリダイレクトされないので自分でやってくださいということです。

はてなのサブドメインのブログははてな側でリダイレクトされるんでしょうね。個人じゃどうしようもないですもんね。ん? 不可能じゃないですね、同じブログをつくって Javascriptでリダイレクトさせれば 302にはなりますができなくはなさそうです。いずれにしても今回は独自ドメインからの移行ですからその件はスルーです。


仮のドメインで試してみる

www付きで運用中のブログをいきなりネイキッドドメインに移行するのはちょっと危険ですので、安いドメインを取って試してみましょう。


私は ValueDomainを使っていますので、53円/1年で imuza.workを取りました。ただ、お名前コムを見ましたら comでも35円ですね。もちろん1年だけで2年目からは通常の料金を取られます。


ネイキッドドメイン移行の流れ

  1. ドメインのDNS設定で、Aレコードにはてな指定の IPアドレスを振る
    同じく Aレコードでホスト名 wwwにリダイレクト用サーバーの IPアドレスを振る
  2. サーバーに www付きドメイン設定をし、.htaccessで wwwなしにリダイレクトする
    同じくサーバーに ads.txtを作成し、リダイレクトの前に応答するように設定する
  3. はてなブログの独自ドメイン設定にネイキッドドメインを設定する
  4. ブログの Javascriptで ads.txtを www付きドメインにリダイレクトする


これでいけるんじゃないでしょうか。


DNS設定(Value Domainの場合)

f:id:ausnichts:20210501115138j:plain

サーバーのアドレスは下の「当サービス内サーバーの自動DNS設定」で、取得した、あるいは持っているサーバーを選択するとテキストボックス内に表示されます。IPアドレス以外は削除してしまいます。


サーバーのリダイレクト設定(XREAの場合)

f:id:ausnichts:20210501121134j:plain

サーバーのコントロールパネルを開き、「サイト設定の新規作成」で www.imuza.workを作成します。


f:id:ausnichts:20210501121705j:plain

www.imuza.workフォルダに .htaccessと ads.txtを作成します。


RewriteEngine on
RewriteRule ads\.txt - [L]
RewriteCond %{HTTP_HOST} ^www\.imuza\.work$
RewriteRule ^(.*)$ https://imuza.work/$1 [R=301,L]


ads.txtについては Adsenseのサイトなどをご覧ください。今回はテストですのでテキストは適当に入れておきます。


はてなブログに独自ドメインを設定する

リンク先の指示通りに設定し「変更する」で保存します。


ブログの <head></head> で ads.txtをリダイレクトする

f:id:ausnichts:20210501122909j:plain

ブログの詳細設定の「headに要素を追加」に Javascriptを書きます。これで https://imuza.work/ads.txt が呼ばれたら、https://www.imuza.work/ads.txt にリダイレクトします。


<script>
if(location.pathname === '/ads.txt') location.href = 'https://www.imuza.work/ads.txt';
</script>


2021/5/10追記

ブログの固定ページに ads.txt名のファイルを作成しないと 404 Not Found. が返されてしまいますので、空ページのファイルを作成しておきます。


リダイレクト確認

f:id:ausnichts:20210501135501j:plain

https://www.imuza.work から https://imuza.work に 301リダイレクトされています。


f:id:ausnichts:20210501135624j:plain

ads.txt の方は https://imuza.work/ads.txt から https://www.imuza.work/ads.txt にリダイレクトされています。おそらくテキストファイルが取得できればいいんじゃないかと思いますし、仮に ads.txtがなくても Adsenseで決定的なことが起きるわけではないと思います。


実際のブログテキストでチェック

あとは実際のブログテキストを入れてみてリンクのチェックをしてみようと思います。

次回です。