トラブルシュート

リンク先が別ドメインに飛ぶときに共有前に確認するチェックリスト

HTMLを公開・共有する前に「リンク先が別ドメインに飛ばないか」を体系的に確認したいなら、チェックリスト形式で抜け漏れなく点検するのが確実です。特にAIが生成したHTMLはプレースホルダURLやサードパーティフォームが混入しやすく、目視だけでは見落としやすいポイントがあります。

よくある原因

AI生成HTMLで外部リンクが混入する原因の第一位は、モデルがデモ用として挿入する`https://example.com`や`https://your-domain.com`といった仮URLです。これらはHTMLの見た目には影響しないため、ブラウザでプレビューしても気づかずに共有してしまうことがあります。

CDNから読み込む外部ライブラリ(Bootstrap、jQuery等)の`<script src>`タグ内に`onload`コールバックで外部APIを呼ぶコードが含まれている場合も、意図しない外部通信として問題になることがあります。共有先の社内セキュリティポリシーによっては閲覧自体がブロックされるケースもあります。

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

自分側で確認すること

共有前チェック①:`grep -n 'href="http\|action="http'` をHTMLファイルに実行し、外部URLの行番号をリストアップします。件数が0であれば外部リンクなしと確認できます。Windowsの場合はメモ帳の「検索」→「次を検索」で`href="http`を逐次確認してください。

共有前チェック②:ブラウザで開いた状態でDevToolsの「Elements」タブを開き、`<a>`タグをすべて展開して`href`属性を目視確認します。件数が多い場合はコンソールで`document.querySelectorAll('a[href^="http"]')`を実行するとリンク要素の配列が返るので効率的です。

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

相手側で確認すること

相手から「別のサイトに飛んだ」と連絡が来たときは、まずスクリーンショットまたはアドレスバーのURLを共有してもらいます。「どのボタン・テキストリンクをクリックしたか」も併せて聞くと、HTML内の対象箇所を素早く特定できます。

PCとスマホで発生状況が異なる場合、スマホブラウザ(Safari/Chrome for iOS)がAMPやリダイレクトを自動適用している可能性があります。相手にChromeのシークレットタブで試してもらい、再現すればHTML側の問題、しなければ環境依存と切り分けられます。

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

再発防止の運用

チェックリストをNotionやSpreadsheetに常設しておき、共有のたびにチェックボックスを埋める運用にすると見落としが減ります。「href外部URL確認」「form action確認」「iframe src確認」の3行だけで大半のトラブルをカバーできます。

ギガサイト便にアップロードする直前を「最終確認タイミング」と決め、ファイルを開いてCtrl+Fで`http`を検索する手順をSOP(標準作業手順書)に明記しておくと、チームメンバーが代行する場合にも品質を保てます。

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

よくある質問

チェックリストを自動化する方法はありますか?

Node.jsが使える環境なら`cheerio`でHTMLをパースし、全`href`属性を配列にして外部URLをフィルタするスクリプトが10行程度で書けます。CIに組み込めば毎回自動でチェックできます。

iframe内のリンクも別ドメイン扱いになりますか?

iframeのsrc属性が外部ドメインであれば、iframe内のすべての操作はそのドメインのコンテキストで動きます。クリックが外部へ飛ぶというよりiframe自体が外部ページを表示する点を区別して確認してください。

relative pathに直してもローカルでは動くのに共有先では404になります

相対パスはHTMLファイルの配置場所からの相対になります。ギガサイト便のようにルート直下に置く場合と、サブディレクトリに置く場合でパスが変わるため、`/`始まりの絶対パスに統一するか、CSSやJSをHTMLにインライン化するのが確実です。

関連記事

トラブルシュート

リンク先が別ドメインに飛ぶときの原因と直し方

WebデザイナーやノーコードユーザーがAI生成HTMLを共有したとき、リンクが別ドメインに飛ぶ原因を原因別に解説。ソース確認から修正・再公開までの手順を具体的にまとめます。

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

外部API呼び出しがCORSで失敗するときの原因と直し方

外部APIへのfetchがCORSエラーで弾かれて困っている開発者・制作者向け。ブラウザ側とサーバー側それぞれの原因と、プリフライトリクエストの仕組みを踏まえた具体的な修正手順を解説します。

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