この章では、Webサイトの表示トラブルを切り分ける方法を学びます。
制作中や公開後には、「表示されない」「反映されない」「スマホだけ崩れる」「クライアントだけ古い表示になる」といったことが起きます。
大切なのは、慌てずに原因を分けて確認することです。
まず状況を整理する
トラブルが起きたら、いきなりコードを直す前に状況を整理します。
確認したいのは、次のような情報です。
- どのURLで起きているか
- いつから起きているか
- どの端末やブラウザで起きているか
- 自分の環境でも再現するか
- 全ページで起きているか、一部ページだけか
- 直前に何を変更したか
- エラーメッセージやスクリーンショットがあるか
状況があいまいなまま作業すると、原因と関係ない場所を触ってしまうことがあります。
自分の環境だけか確認する
まず、自分の環境だけで起きているのか、他の人の環境でも起きているのかを確認します。
たとえば、次のように切り分けます。
- 別ブラウザで見る
- シークレットウィンドウで見る
- スマホで見る
- Wi-Fiとモバイル回線を変えて見る
- 他の人にも同じURLを見てもらう
自分だけ古い表示なら、ブラウザキャッシュの可能性があります。
全員が見えないなら、サーバー、DNS、ファイル配置、コードの問題を疑います。
URLが正しいか確認する
表示されない時は、まずURLが正しいか確認します。
よくあるミスは次の通りです。
- スペルが違う
- 余計な文字が入っている
wwwありなしが違うhttpとhttpsが違う- 下層ページのパスが違う
- URL末尾の
/の扱いが違う
特にクライアントから共有されたURLは、コピー時に余計な文字が入っていることがあります。
まず正しいURLでアクセスしているかを確認します。
DNSが反映されているか疑う
ドメイン設定を変更した直後は、DNS反映に時間がかかることがあります。
次のような場合はDNSを疑います。
- サーバー移転直後
- ドメインの向き先を変えた直後
- 人によって見えるサイトが違う
wwwありだけ見えない- 独自ドメインだけ見えないが、仮URLでは見える
DNSはすぐに全員へ反映されるとは限りません。
設定直後は、時間を置いて確認する必要があります。
サーバーにファイルがあるか確認する
静的サイトの場合、公開先に必要なファイルがあるか確認します。
よくある原因は次の通りです。
- HTMLファイルをアップロードしていない
- CSSやJavaScriptをアップロードしていない
- 画像ファイルが不足している
- ビルド前のファイルをアップロードしている
- 公開ディレクトリを間違えている
Astroのような静的サイトでは、開発中の src ではなく、ビルド後の dist などが公開対象になることがあります。
パス指定を確認する
一部の画像だけ出ない、CSSだけ効かない、下層ページだけ壊れる場合は、パス指定を確認します。
確認するポイントは次の通りです。
srcやhrefのパスが正しいか../の数が正しいか- CSS内の
url()の基準がCSSファイルになっているか - ファイル名の大文字小文字が一致しているか
- ブラウザが実際に探しているURLはどこか
Networkタブで404になっているファイルを見れば、ブラウザがどこを探しているか確認できます。
404か500かを見る
ステータスコードを見ると、原因の方向性がわかります。
| コード | 疑うこと |
|---|---|
| 404 | URL、パス、ファイル配置、アップロード漏れ |
| 403 | 権限、サーバー設定、アクセス制限 |
| 500 | サーバー側の処理や設定 |
| 301 / 302 | リダイレクト設定 |
404なら、まずファイルやURLを確認します。
500なら、HTMLやCSSだけではなく、サーバー側の問題も疑います。
キャッシュを疑う
修正したのに反映されない場合は、キャッシュを疑います。
確認する順番は次の通りです。
- ハードリロードする
- シークレットウィンドウで確認する
- 別ブラウザで確認する
- CMSやサーバーのキャッシュを削除する
- CDNキャッシュを削除する
- ファイル名が変わっているか確認する
ただし、キャッシュと決めつける前に、編集したファイルが本当に公開されているか確認します。
Consoleエラーを見る
JavaScriptが動かない時は、Consoleタブを見ます。
エラーが出ている場合、処理が途中で止まっている可能性があります。
よくある確認ポイントは次の通りです。
- 対象要素が取得できているか
- JavaScriptファイルが読み込まれているか
- ライブラリが先に読み込まれているか
- 記法ミスがないか
- スマホ幅だけ別の処理になっていないか
Consoleエラーは、エラー文、ファイル名、行番号をセットで見ます。
Networkタブを見る
Networkタブでは、読み込み失敗や通信の状態を確認できます。
次のような時に役立ちます。
- CSSが読み込まれているか確認する
- JavaScriptが読み込まれているか確認する
- 画像が404になっていないか確認する
- フォーム送信が成功しているか確認する
- リダイレクトが起きているか確認する
- キャッシュから読まれているか確認する
見た目だけで原因がわからない時は、Networkタブを見る習慣を付けます。
誰に何を伝えて相談するか
自分だけで解決できない場合は、状況を整理して相談します。
相談時には、次の情報を伝えると相手が確認しやすくなります。
- 問題が起きているURL
- 起きている現象
- 再現する端末とブラウザ
- いつから起きているか
- 直前に変更した内容
- スクリーンショット
- Consoleエラー
- Networkタブのステータスコード
- 自分で試した確認内容
「表示されません」だけだと、相手は原因を探しにくいです。
情報を整理して伝えることで、解決までの時間を短くできます。
切り分けの基本手順
表示トラブルの切り分けは、次の順番で考えると整理しやすいです。
- 現象を整理する
- URLが正しいか確認する
- 自分だけの問題か確認する
- DevToolsでConsoleとNetworkを見る
- ステータスコードを確認する
- パスやファイル配置を確認する
- キャッシュを疑う
- DNSやサーバー設定を疑う
- 必要な情報を整理して相談する
最初からすべてを疑うのではなく、確認しやすいところから順番に見ます。
この章のまとめ
- 表示トラブルでは、まず状況を整理する
- URL、端末、ブラウザ、発生タイミング、直前の変更を確認する
- 404ならURLやファイル、500ならサーバー側を疑う
- CSSや画像が出ない時はNetworkタブで読み込み状況を見る
- JavaScriptが動かない時はConsoleタブを見る
- キャッシュ、DNS、サーバー設定は、変更直後や人によって見え方が違う時に疑う
- 相談時は、URL、エラー、ステータスコード、試したことを整理して伝える