メニュー

公開日:
7 min read
技術革新

CloudflareのDNSリダイレクト設定で遭遇したトラブル

CloudflareのDNSリダイレクト設定で遭遇したトラブルのイメージ

よくある質問 (FAQ)

Google Search Consoleでwwwドメインのサイトマップエラーが発生する原因は?

CloudflareでDNSレコードを使いwww.aqz.jpをaqz.jpに転送している場合、www.aqz.jpはサイトマップに含まれていないため、Google Search Consoleでサイトマップエラーが発生します。

wwwドメインのリダイレクト設定方法は?

CloudflareのページルールでIF (www.aqz.jp/*) THEN 301 Redirect to https://aqz.jp/$1 を設定します。この設定により、全てのwwwトラフィックがnon-wwwドメインに転送され、wwwドメインのサイトマップは不要になります。

DNSレコードとページルールの違いは何か?

CNAMEレコードでaqz.jpをaqz-jp.pages.devに向ける設定はCloudflare Pagesの必須設定です。一方、wwwドメインについては、Aレコードで192.0.2.1に向けた後、ページルールで301リダイレクトを行うのが適切な設定方法です。

DNS_PROBE_FINISHED_NXDOMAINエラーの原因は?

このエラーは、wwwドメインに対するDNSレコードが完全に存在しないことを示しています。301リダイレクトを機能させるためには、まずwwwドメインのDNSレコードが存在し、その後ページルールによってリダイレクトが実行される必要があります。

CloudflareでWWWドメインのリダイレクトを設定する正しい手順は?

1. CloudflareのDNSセクションでwwwのAレコードを追加(タイプ: A、名前: www、IPv4アドレス: 192.0.2.1)、2. ページルールで301リダイレクトを設定、3. 必要に応じてHTTPからHTTPSへのリダイレクトも設定します。

AIツールからのアドバイスで失敗した教訓は?

AIが最初に「wwwのAレコードを削除してページルールのみでリダイレクトを設定する」と提案しましたが、実際にはDNSレコードが必要でした。AIツールの回答は必ずしも正しくないため、重要な設定変更は慎重に検証する必要があります。

設定変更後の確認方法は?

設定変更後は、実際にwwwドメインにアクセスして正常にリダイレクトされることを確認し、Google Search Consoleでエラーが解消されるまで(通常2週間程度)待つ必要があります。

canonical設定とリダイレクトの関係は?

canonicalは同じ内容のページが複数のURLで存在する場合に、どのURLが正式なものかをGoogleに伝える設定です。301リダイレクトを適切に設定すれば、canonicalは不要で、全てのトラフィックがメインドメインに転送されます。

Google Search Consoleは非常に便利だが、扱いがなかなか難しい。 しかしこれをマスターできないとSEO的に非常にまずい。 仕方がないから、エラーを地道につぶすのだが、なかなか消滅しない。 今もインデックスされていないURLが160もあると表示される。

もう知らない。面倒くさい。

そうは言っても、放っておくのも気持ち悪いので、気持ちに余裕ができたときに、少しずつ直すようにしている。

サイトマップのエラー対応

今度のエラーは、サイトマップにURLが無いと表示されている。 URLを確かめる。うん、www.aqz.jpはサイトマップには無いな。 cloudflareでDNSレコードを使いwww.aqz.jpaqz.jpに転送しているためだ。 解決方法をAIに問うてみる。

AIからの最初の提案

この問題について具体的な解決方法をご説明いたします。

Cloudflareでのリダイレクト設定に加えて、以下の対応が必要です:

  1. サイトマップの修正 両方のドメインバージョン(www有り無し)をサイトマップに含める、または canonical URLのみをサイトマップに含めます。

  2. Google Search Consoleでの設定

  • 両方のプロパティ(www.aqz.jpaqz.jp)を個別に登録
  • プロパティセットとして関連付け
  • どちらかを正規バージョンとして指定
  1. HTMLでの対応 すべてのページに以下のcanonical設定を追加:
   <link rel="canonical" href="https://aqz.jp/対象ページのパス" />
  1. リダイレクトの確認 301リダイレクトが正しく設定されているか確認。Cloudflareのページルールで:
   IF (www.aqz.jp/*)
THEN 301 Redirect to https://aqz.jp/$1

設定方法の確認

canonical設定が良く分からない。 aqz.jp/blogのページでwww.aqz.jp/blogをカノニカルに設定するだろうか? いや、cloudflareを使っているのだから、4の方が簡単ではないだろうか? AIを問い詰める。

リダイレクト設定の選択

AIの回答:いいえ、canonicalはメインドメインである「aqz.jp/blog」に設定します。

canonicalとは、同じ内容のページが複数のURLで存在する場合(例:aqz.jp/blogとwww.aqz.jp/blog)、どのURLが正式なものかをGoogleに伝えるためのものです。

ご指摘の通り、Cloudflareのページルールによる301リダイレクトの方が簡単で確実な解決策です。この場合:

  1. Cloudflareのページルールで設定:
   IF (www.aqz.jp/*)
THEN 301 Redirect to https://aqz.jp/$1
  1. 全てのトラフィックがaqz.jpに転送されるため、www.aqz.jpのサイトマップは不要になります。

  2. Google Search Consoleでは、aqz.jpのみを登録・管理すれば十分です。

DNS設定の混乱

なるほど。サブドメインの転送をDNSではなく、ルールで設定しろと。 これが転送の秘訣だというわけだな。 ならネイキッドドメインもcloudflare pagesのドメインに転送しているのだから、同じことだろう。 ルールにすればいいのではないのか?

重要な設定の区別

AIの説明によると、これは異なるケースだという。 CNAMEレコードでaqz.jpドメインをaqz-jp.pages.devに向けている設定は、Cloudflare Pagesの必須設定だ。

つまり次の通りに対応すればいいわけだ。

  • 削除すべきなのは:wwwのAレコード(192.0.2.1向け)
  • 維持すべきなのは:このCNAMEレコード(aqz-jp.pages.dev向け)

エラーの発生

設定を変更して2日後、アクセスしてみると:

このサイトにアクセスできません


www.aqz.jp にタイプミスがないか確認してください。


タイプミスでない場合は、Windows ネットワーク診断をお試しください。
DNS_PROBE_FINISHED_NXDOMAIN


解決への道のり

なんでやねん?! AIを問い詰める。話が違うやんけ!

このエラーはwwwに対するDNSレコードが完全に存在しないことを示しています。

実は、301リダイレクトを機能させるためには、wwwドメインのDNSレコードも必要です。以下の手順で修正しましょう:

  1. CloudflareのDNSセクションで:
  • wwwのAレコードを再度追加
  • タイプ: A
  • 名前: www
  • IPv4アドレス: 192.0.2.1(または現在のaqz.jpと同じIPアドレス)
  1. すでに設定済みのページルール(301リダイレクト)はそのままにしておきます。

この設定により:

  • まずDNSでwwwドメインが解決され
  • その後、ページルールによってnon-wwwにリダイレクトされる

という流れになります。DNS_PROBE_FINISHED_NXDOMAINエラーは、wwwドメインのDNSレコードが存在しないために発生していました。

痛恨の教訓

「実は…」って。あんたなあ?知ってて黙ってたんかい!

よく見かける警告文が頭をよぎる。 “Claude can make mistakes. Please double-check responses” ChatGPT の回答は必ずしも正しいとは限りません。重要な情報は確認するようにしてください。

ああ、そうですね。お前を信じた私が悪うござんしたね。 バイキンマンの言う通りだね。

「騙されたヤツが悪いんだ~!」

もっとも、AIを鵜呑みにするなという鉄則を守らなかった私が悪いのですから。 とはいえ、自分の非を認められるほど私は心が広くありません。

最終対応

削除したDNSレコードを再度設定した。 ついでにhttpからhttpsへのリダイレクトも設定しておいた。

これでまた様子見しよう。

翌日、問題なくリダイレクトされた。あとはGoogle Search Consoleでエラーが消えるのを待つだけだ。 確認できるは2週間後になる。頼むから消えてくだせえ。