トラブルシュート

QRコードで開くと404になるときの原因と直し方

印刷物やスライドに貼ったQRコードをスマホで読み取ると404エラーが表示される——このトラブルはQRコード自体の問題ではなく、埋め込んだURLの設定ミスや公開環境の変化が原因であることがほとんどです。原因を3パターンに分けて解説し、それぞれの直し方を具体的な手順で説明します。

よくある原因

404エラーの最多原因はURL自体の間違いです。QRコードを生成するとき、最後のスラッシュの有無や大文字小文字の違いだけで別のURLとして扱われ、存在しないパスにアクセスされます。例えば `https://example.com/preview` と `https://example.com/Preview` は別ページとして認識されるサーバーが多く、一方が404を返す可能性があります。QRコードの元データをデコードして正確なURLを確認するのが最初の手順です。

次に多い原因は、公開URLが変わってしまったケースです。ギガサイト便などの共有サービスでファイルを再アップロードしたとき、URLが新しく発行されてしまい、古いQRコードが古いURLを指したままになることがあります。また、Cloudflare Pagesなどを使っている場合はデプロイのたびにプレビューURLが変わる設定になっていることがあり、QRコードが古いプレビューURLを指してしまうケースがあります。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

自分側で確認すること

まずQRコードを別のQRコードリーダーアプリ(ZXing、QR & Barcode Scannerなど)でデコードし、埋め込まれているURLを文字列として確認します。確認したURLをPCのブラウザに貼り付けてアクセスし、正しく表示されるか確認してください。この手順でPCでは開けるのにQRコードだと404になる場合は、モバイル向けの別設定(`.htaccess`でのユーザーエージェント振り分けなど)が原因の可能性があります。

ギガサイト便でHTMLを公開している場合、ファイルを差し替えてもURLが変わっているかダッシュボードで確認してください。URLが変わっていた場合はQRコードの再生成が必要です。次回から同じ問題を防ぐには、QRコードにはカスタムドメインや固定の短縮URLを設定し、その短縮URLが指す先(転送先)だけを変更できる構成にすると、QRコード自体を刷り直さずに済みます。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

相手側で確認すること

相手から「QRを読んだら404になった」と報告を受けたときは、まずスクリーンショットを送ってもらいます。404ページの内容(サーバーが返す404かCloudflareの404か)で原因の方向が変わります。Cloudflareの404は「1001 DNS resolution error」などのメッセージを含むため、ドメイン設定の問題と判断できます。

相手のスマホのQRコードリーダーアプリが古い場合、長いURLや特殊文字を含むURLを正しく解析できないことがあります。標準カメラアプリのQRコード読み取り機能を使うよう依頼し、それで解決すれば「リーダーの互換性問題」と確定します。また、URLに日本語やスペースが含まれていると、エンコードが不完全なQRコードを読み取ったときに404になるため、URLはASCII文字のみで構成することを推奨します。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

再発防止の運用

QRコードを印刷物や配布物に使う場合は、短縮URLサービス(Bitlyなど)や自前のリダイレクト設定を経由させる構成を取ります。こうすることでコンテンツのURLが変わってもQRコード自体を刷り直す必要がなく、転送先URLだけを更新すれば済みます。

QRコードを配布する前に必ず複数台のスマホ(iOS/Android両方)で読み取り確認をします。異なるQRコードリーダーでも試して、すべてのパターンで正しいページが開くことを確認してから印刷・配布してください。特にイベント当日に差し替えが発生した場合のリカバリ手順(短縮URLの転送先変更手順書)を事前に用意しておくと慌てずに対応できます。

  • HTML内の外部script・form action・iframeを確認する
  • APIキーやトークンらしき文字列がないか検索する
  • 画像・CSS・JSのパスが公開後も解決できるか見る
  • noindexと認証を混同せず、必要なら両方設定する

よくある質問

QRコードのURLは合っているのに404になります。何が考えられますか?

サーバー側でそのパスのルーティングが設定されていない可能性があります。SPAのようなJavaScriptアプリの場合、サーバーが `/preview` を直接要求されても対応するファイルがなく404を返します。サーバー設定でフォールバックを `index.html` にするか、静的HTMLとして公開してください。

QRコードを再生成せずにURLを変更する方法はありますか?

短縮URLサービスを経由させるのが最も簡単です。QRコードにはBitlyやご自身のドメインのリダイレクトURLを埋め込み、転送先だけを管理画面から変更します。QRコード自体は固定のままで、指す先だけを差し替えられます。

イベント会場でQRコードが404になっていることに気づきました。すぐできる対応は何ですか?

短縮URLを使っている場合は管理画面から転送先を即変更します。そうでない場合は、正しいURLをその場でテキスト共有(LINEやチャット)で参加者に送り、QRコードの案内を一時停止するのが現実的です。再発防止のために次回から短縮URL経由にしてください。

関連記事

トラブルシュート

OGP画像が更新されないときの原因と直し方

HTMLページを更新してもOGP画像が変わらない原因と直し方を知りたいWeb制作者向けに、キャッシュの仕組み・デバッグツールの使い方・再発防止の運用を具体的な手順で解説する記事。

5分で読める
トラブルシュート

ファビコンが更新されないときの原因と直し方

ファビコンが更新されない現象に悩むWeb制作者・デザイナー向けに、ブラウザキャッシュ・CDNキャッシュ・HTML記述ミスの3層を切り分けて解決する手順をまとめた記事。

5分で読める
トラブルシュート

iPhoneだけ横スクロールするときの原因と直し方

iPhoneだけ横スクロールが発生するレイアウト崩れに困っているWeb制作者向けに、overflow・viewport・固定幅要素・margin負値の4パターンを診断・修正する手順をまとめた記事。

6分で読める
「トラブルシュート」の記事をもっと見る →