DNSリダイレクトとは、一般的に「ドメインのアクセス先を別の場所へ向けること」を指して使われる言葉です。
ただし、厳密にいうと、DNSそのものにURLを転送するリダイレクト機能はありません。
DNSの役割は、ドメイン名とサーバーの情報を結びつけることです。
たとえば、
example.com → 203.0.113.10
のように、ドメイン名に対応するIPアドレスを案内します。
一方、Webサイトでいうリダイレクトは、
https://example.com
↓
https://www.example.com
や、
http://example.com
↓
https://example.com
のように、アクセスしたURLから別のURLへ転送する処理です。
これはDNSではなく、Webサーバー、CDN、レンタルサーバー、アプリケーション、WordPressなどで設定します。
「DNSリダイレクト」は、厳密な技術用語というより、実務上の便宜的な表現として使われることが多い言葉です。
主に以下のような意味で使われます。
たとえば、Aレコードを変更して、ドメインの接続先を新しいサーバーに向けるケースです。
example.com → 新しいサーバーのIPアドレス
この場合、ユーザーは新しいサーバーへアクセスします。
ただし、ブラウザのURLが別ドメインに変わるわけではありません。
example.com にアクセス
↓
新しいサーバーへ接続
↓
URLは example.com のまま
つまり、これはURL転送ではなく、DNSの参照先を変更している状態です。
同じドメインのままサーバー移転をする場合は、DNS設定の変更だけで対応できることがあります。
一方で、ドメインやURLが変わる場合は、DNS設定だけでは不十分です。
その場合は、旧URLから新URLへ301リダイレクトを設定する必要があります。
DNSには、CNAMEレコードという設定があります。
CNAMEは、あるホスト名を別のホスト名の別名として扱うためのDNSレコードです。
たとえば、
www.example.com → example.net
のように設定します。
この場合、www.example.com は example.net の参照先を利用します。
ただし、これもURL転送ではありません。
ユーザーが www.example.com にアクセスしても、ブラウザのURLが自動的に example.net に変わるわけではありません。
www.example.com にアクセス
↓
example.net の接続先を参照
↓
URLは www.example.com のまま
ただし、CNAMEで向けた先のサーバーがリダイレクトを返す場合は、結果的にURLが変わることがあります。
その場合でも、リダイレクトしているのはCNAMEではなく、接続先のWebサーバー側です。
ドメイン管理会社やレンタルサーバーでは、「URL転送」「ドメイン転送」「リダイレクト設定」といった機能が用意されていることがあります。
このようなサービスを、便宜的に「DNSリダイレクト」と呼ぶ場合があります。
ただし、内部的にはDNSだけでURL転送しているわけではありません。
多くの場合は、次のような流れになります。
DNSで転送用サーバーに向ける
↓
転送用サーバーがHTTPリダイレクトを返す
↓
別URLへ移動する
つまり、表面上はDNS設定のように見えても、実際のURL転送はWebサーバー側で行われています。
DNS設定とリダイレクトの違いは、次のように整理できます。
| 種類 | 主な役割 | URLは変わる? | 主な用途 |
|---|---|---|---|
| DNS設定 | ドメインの接続先を決める | 基本的に変わらない | サーバー移転、ドメイン設定 |
| Aレコード | ドメインをIPv4アドレスに向ける | 変わらない | Webサーバーへの接続 |
| CNAMEレコード | 別ホスト名の別名にする | 変わらない | サブドメインの参照先設定 |
| 301リダイレクト | 恒久的に別URLへ転送する | 変わる | サイト移転、URL変更 |
| 302リダイレクト | 一時的に別URLへ転送する | 変わる | 一時的なページ移動 |
| meta refresh | HTML側で転送する | 変わる | 例外的な転送 |
| JavaScript転送 | JavaScriptで転送する | 変わる | 特殊な転送処理 |
SEOやサイト移転の場面で重要なのは、DNS設定と301リダイレクトを混同しないことです。
DNSは「どのサーバーへ接続するか」を決める仕組みです。
リダイレクトは「どのURLへ移動させるか」を決める仕組みです。
DNSだけでは、以下のようなURL転送はできません。
example.com から example.net へ転送する
http から https へ転送する
wwwあり・wwwなしを統一する
特定のページだけ別URLへ転送する
ディレクトリ単位で転送する
301や302のHTTPステータスコードを返す
たとえば、
https://example.com/blog/sample
↓
https://example.net/blog/sample
のようなページ単位の転送は、DNSでは設定できません。
この場合は、WebサーバーやCDN、CMS側でリダイレクトを設定する必要があります。
サイト移転やURL変更を行う場合、SEOの観点では301リダイレクトが重要です。
301リダイレクトは、「このURLは恒久的に新しいURLへ移動しました」と検索エンジンやブラウザに伝えるための転送方法です。
たとえば、旧ドメインから新ドメインへ移転する場合は、以下のように設定します。
https://old-example.com
↓ 301リダイレクト
https://new-example.com
記事ページの場合は、できるだけ対応する新しいページへ1対1で転送するのが理想です。
よい例
https://old-example.com/blog/sample
↓
https://new-example.com/blog/sample
避けたい例
https://old-example.com/blog/sample
↓
https://new-example.com/
すべての旧URLを新サイトのトップページへ転送すると、ユーザーが目的の情報にたどり着きにくくなります。
また、検索エンジンにとっても、旧ページと新ページの対応関係がわかりにくくなります。
そのため、サイト移転時は可能な限り、旧URLに対応する新URLへ個別に301リダイレクトを設定することが重要です。
DNS設定を変更しても、すぐにすべての環境で反映されるとは限りません。
DNSにはTTLというキャッシュ時間の設定があります。
そのため、AレコードやCNAMEレコードを変更しても、しばらくは古い情報が参照される場合があります。
サーバー移転時には、以下の点に注意しましょう。
DNS変更前にTTLを短めにしておく
旧サーバーもしばらく稼働させておく
新旧どちらにアクセスされても問題ない状態にする
SSL証明書の設定を確認する
メール設定への影響も確認する
特に、Webサイトとメールを同じドメインで運用している場合は、DNS変更によってメール配信に影響が出ないように注意が必要です。
DNSリダイレクトと混同しやすい設定には、以下があります。
Aレコードは、ドメインをIPv4アドレスに向けるためのDNSレコードです。
example.com → 203.0.113.10
これは接続先サーバーを指定する設定であり、URLを転送するものではありません。
AAAAレコードは、ドメインをIPv6アドレスに向けるためのDNSレコードです。
Aレコードと同じく、URLを変更する機能はありません。
CNAMEレコードは、あるホスト名を別のホスト名の別名として扱う設定です。
便利な設定ですが、URL転送ではありません。
NSレコードは、そのドメインのDNS情報を管理する権威DNSサーバーを指定するレコードです。
NSレコードを変更すると、DNSの管理先が変わります。
ただし、これもURLを転送する設定ではありません。
MXレコードは、メールサーバーを指定するためのDNSレコードです。
Webサイトのリダイレクトとは関係ありません。
TXTレコードは、任意の文字情報を登録するためのレコードです。
SPF、DKIM、DMARC、サイト所有権確認などで使われます。
これもURL転送を行うものではありません。
DNSリダイレクトという言葉は使われることがありますが、厳密にはDNS自体がURLを転送しているわけではありません。
DNSの役割は、ドメイン名に対して接続先のサーバー情報を返すことです。
一方、リダイレクトは、アクセスしたURLから別のURLへ移動させる処理です。
整理すると、次のようになります。
DNS設定 = ドメインの接続先を決める
リダイレクト = アクセスしたURLを別URLへ転送する
同じドメインのままサーバーを移転するだけなら、DNS設定の変更で対応できることがあります。
しかし、ドメイン変更やURL変更を行う場合は、DNS設定だけでは不十分です。
SEO評価をできるだけ引き継ぎ、ユーザーを正しいページへ案内するためには、旧URLから新URLへ301リダイレクトを設定する必要があります。
以上、DNSリダイレクトとはなんなのかについてでした。
最後までお読みいただき、ありがとうございました。