Shopifyで"CNAMEレコードがありません"と表示される原因とその解決法(Cloudflare編)

Shopifyで"CNAMEレコードがありません"と表示される原因とその解決法(Cloudflare編)
Photo by 傅甬 华 / Unsplash

はじめに

Shopifyで独自ドメイン(今回は shop.sakashita.page)を接続した際に、「CNAMEレコードがありません」というエラーが出続けて困った経験、ありませんか?

実際に私もこのエラーに直面し、Cloudflare側の設定を見直すことで解決したので、その詳細と原因、対処法をこの記事でまとめます。


結論:Cloudflareの"CNAMEフラット化"が原因だった!

Shopifyの管理画面でCNAMEレコードが正しく設定されているにもかかわらず警告が出る原因は、 Cloudflareの"CNAMEフラット化(CNAME Flattening)"という機能が有効になっていたからでした。

この機能が有効だと、CNAMEレコードの“名前”を返すのではなく、解決済みのIPアドレス(Aレコード)を返してしまうため、 Shopify側では「CNAMEが見つからない」と判断されてしまいます。


CNAMEフラット化とは?

CNAME(Canonical Name)レコードは、あるドメイン名を別のドメイン名に別名として割り当てる仕組みです。

例えば:

shop.example.com → shops.myshopify.com

このように“名前 → 名前”の関連を作るのがCNAMEですが、DNSの仕様上、ルートドメイン(apex domain)にはCNAMEを使えないという制約があります。

そこで登場するのがCNAMEフラット化です。

CloudflareのようなDNSサービスでは、ユーザーがCNAMEを設定していても、外部からの問い合わせに対してはIPアドレス(Aレコード)として返すことができます。 これにより、

  • ルートドメインでもCNAMEのような運用ができる
  • ブラウザのレスポンスが高速化する という利点があります。

ただし、“CNAMEがあるかどうか”をチェックするサービス(今回のShopifyなど)には、CNAMEが存在しないように見えてしまうというデメリットがあります。

メリット:

  • 高速な名前解決が可能
  • ApexドメインでもCNAME的な挙動を実現できる
  • 一部のCDNやクラウドサービスと相性が良い

デメリット:

  • CNAMEレコードがクライアントから見えない
  • Shopifyのように“CNAMEの存在”を前提とする仕組みと相性が悪い

私の設定環境|サブドメインのセットアップ

そもそもですがサブドメインのセットアップは正常に行われていることを確認してください。以下の公式ページを参考にしてください。

そして以下が私の設定環境です。

  • ドメインプロバイダー:Cloudflare
  • 使用ドメイン:shop.sakashita.page
  • Shopifyストアの接続先:shops.myshopify.com
  • DNSレコード:
    • shop サブドメインに CNAME を設定
    • CNAME先は shops.myshopify.com
    • プロキシ(オレンジの雲):オフ(DNSのみ)
    • それでも警告が消えない状態でした

試したこと一覧(すべて失敗)

  • Aレコードを使ってみる → Shopifyは動くが、警告は消えず
  • サポートに連絡 → 「www を使え」など的外れな回答
  • ローカルのDNSキャッシュ削除 → 解決せず

解決した方法

Cloudflareの設定画面にある以下の項目をオフにしました:

"すべての CNAME レコードの CNAME フラット化"

これをオフにすることで、DNSクライアントやShopify側からもCNAMEが明示的に見えるようになり、 即座にShopify管理画面上の警告が消えました。

成功画面のキャプチャ

フラット化ってそんなに悪いの?

実はそんなことはなく、通常のWebサイト運営では高速化や安定性のために有効な機能です。 ただし今回のように、「CNAMEの存在」を検出するシステムとの相性が悪いことがあるというだけ。


まとめ

  • Shopifyが"CNAMEがない"と表示するのはCNAMEレコードがないのではなく、見えていないだけの可能性がある
  • Cloudflareを使っている場合は"CNAMEフラット化"をオフにすることで解決できる
  • Shopifyサポートよりも自力で調査した方が早い場合も…(笑)

おまけ:技術的検証に使ったコマンド(Windows PowerShell)

# DNSキャッシュをクリア
Clear-DnsClientCache

# CNAMEレコードの確認
Resolve-DnsName shop.sakashita.page -Type CNAME

# Aレコードの確認
Resolve-DnsName shops.myshopify.com -Type A

この記事が役立つ人

  • Shopifyでカスタムドメインを使っていて、接続はできているのにエラーが出る人
  • Cloudflareを使ってDNSを管理している人
  • サポートに問い合わせたけど解決しなかった人

もしこの記事が役立ったら、ぜひシェアやブックマークをお願いします! あなたの時間を少しでも節約できますように ☕

Read more

Ghost 6.0 Major Update

Ghost 6.0 Major Update

Ghost 6.0がリリース 夜中にメールを確認すると、Ghostからメールが。どうやらメージャーアップデートが来たらしい。 Ghost 6.0Networked publishing, native analytics, and $100M earned by indie publishersChangelogJohn O’Nolan ほうほう、なんと今回でGhostが6.0になる模様。 目玉機能 パッとリリースノートを見た感じでは、ActivityPubへの対応が大きなポイントのようだが、個人的にはブログをSNSっぽく使いたくない気持ちもあり、あんまり関係ないなぁと思っていた。とはいえ、ウェブの海で孤島のようになっているブログがつながり始める動きがあるのは面白いね。 しかし後ろまで読んでいると、どうやらアナリティクスの統合もあるとのこと。しかもなんとクッキーレスなプライバシー重視な形のサービス統合し、とっても高性能な模様。 Tinybird · Managed ClickHouse® for AI-Native DevelopersEverything you ne

By Yasunobu
高知周遊 I 柏島&四万十川

高知周遊 I 柏島&四万十川

大学の友人の勧めで柏島に行ってきました。 東京湾に見慣れた身なので、ちょっと信じられないぐらいきれいでした。 わお!浮いてるだけの船すらも絵になる! 野生のイルカっているんですねえ、かわいい。 てか、透明しか言ってないな、おい。 海底がきれいなので澄んで見えるだと友人は言ってました。 なるほどぉ。 四万十川へ せっかくなので、四万十川によって帰ります。 道が狭い!友人のハンドルさばきを信じて。 ちょうど梅雨明けしたぐらいにいったのですが、なんか花が咲いててきれいでした。 沈下橋で有名なので、一番有名なところに行きたく、佐田沈下橋(今成橋)という橋に向かいました。四万十川の最下流にある沈下橋ですが、最長とのことで290メートルあるそうです。 四万十川の沈下橋とは、増水時に川に沈んでしまうように設計された欄干のない橋のことです。 四万十川の沈下橋について - 四万十市公式ホームページ四万十市公式ホームページ法人番号9000020392103 たしかに欄干がない。橋というより、なんか川の上にある道って感じね。 市のWebサイトを見る限り、四万十川にはずいぶんたく

By Yasunobu
大学のレポートで使う書式

大学のレポートで使う書式

大学のレポートはWordで作ることが多いと思いますが、Wordのデフォルトテンプレートは欧米基準で作られているのでそのまま使うわけにはいきません。とはいえ、いちいち直しているのでは手間がかかるので、テンプレートを編集してしまおうという話です。 大学で使っているレポートのたたき台としてのテンプレートなので自由に使ってください。 紙面のレイアウト まずは余白と文字数についてです。文字数は授業で支持があればそれに従います。特に指示がなければ、「標準の文字数を使う」でかまわないでしょう。 余白は欧米では広く取られますが、和文では間が抜けて見えるため小さめにとることにします。明確な決まりがあるわけではないので、好きにすればいいのですが、参考までに、私は普段上下左右の余白を17mmに統一しています(A4の場合です)。 デフォルトのフォントなどをレイアウト画面から設定できるのでここで設定を済ませておきます。 テーマ Word文書は後述しますが、スタイルによってパラグラフごとに管理されています。そしてそれらのスタイルはスタイルセットという形でまとめて管理されています。さらにこのスタイ

By Yasunobu
Ghost(Pro)ではNewsletterを削除できないよ

Ghost(Pro)ではNewsletterを削除できないよ

私は利用していませんが、ブログの運営でNewsletterを活用することは古典的ですが効果的です。 当然GhostにもNewsletter機能があります。というか、Ghostは"Ghost: The best open source blog & newsletter platform"です Email Newsletters — Ghost Developer DocsSites using the Members feature benefit from built-in email newsletters, where all posts can be delivered directly to segments of your audience in just a few clicks.Ghost -

By Yasunobu