取得できないURLがある理由と確認ポイント
SiteTune にURLを入力しても、すべてのページが必ず解析できるわけではありません。これは不具合とは限らず、Webサイト側のアクセス制限やレスポンス形式によって自然に起こります。
この記事では、解析できないURLがある理由と、確認すべきポイントを整理します。
ログインが必要なページ
会員ページ、管理画面、購入履歴、社内向けページなど、ログイン後にしか見られないページは、SiteTune から取得できません。SiteTune はユーザーのログイン情報を使ってページを取得するサービスではないため、公開されているHTMLだけを対象にします。
アクセス制限があるページ
IP制限、Basic認証、地域制限、Bot対策、WAFなどがあるページも、取得できない場合があります。ブラウザでは見えていても、サーバー側の取得リクエストには別のレスポンスが返ることがあります。
JavaScriptで後から本文を生成するページ
最近のWebアプリでは、最初のHTMLには最低限の要素だけがあり、本文はJavaScriptで後から生成されることがあります。SiteTune は取得したHTML構造を解析するため、サーバーから返ってきたHTMLに本文が少ない場合、音の材料も少なくなります。
レスポンスがHTMLではないページ
PDF、画像、JSON、ダウンロードファイルなどは、SiteTune の解析対象として適していません。URLを入力する場合は、通常のHTMLページを指定してください。
短時間に何度も試した場合
SiteTune はサーバー負荷を避けるため、取得頻度を制限することがあります。短時間に同じURLや多数のURLを連続で試すと、一時的に rate limited になる場合があります。その場合は少し時間を置いてから再度試してください。
確認するときの順番
- ブラウザのシークレットウィンドウでURLが見えるか確認する
- ログインやBasic認証が必要ないか確認する
- URLがPDFや画像ではなくHTMLページか確認する
- 数分おいて再度試す
- トップページや別の公開記事ページで試す
取得できないことも情報になる
取得できないURLがあることは、必ずしも悪いことではありません。会員ページや管理画面は取得できないほうが自然です。ただし、公開したいページが取得できない場合は、公開設定、認証、HTML出力、キャッシュ設定を確認する価値があります。
開発者向けの確認ポイント
自分でサイトを管理している場合は、まず対象URLのHTTPステータスを確認します。200 OK が返っていても、実際の本文がJavaScript実行後にしか出ないページでは、SiteTune が取得したHTMLに十分な情報が含まれないことがあります。サーバーから返るHTMLの中に、タイトル、見出し、本文、meta description が入っているかを見ると原因を切り分けやすくなります。
WordPressサイトであれば、キャッシュプラグインやセキュリティプラグインが外部リクエストを制限していないかも確認します。特定のUser-Agentや国外IPを強く制限している場合、通常ブラウザでは見えても、SiteTune のサーバー取得では失敗することがあります。
ユーザー側でできること
利用者として試す場合は、まずトップページや公開記事ページのような分かりやすいURLから始めるのがおすすめです。次に、同じサイト内の別ページを試して、音の違いが出るか確認します。複数ページでほとんど同じ音になる場合は、ページごとの差がHTML上にあまり出ていない可能性があります。
取得できないURLがあっても、すぐに諦める必要はありません。時間を置く、別ページを試す、URLの末尾スラッシュを確認する、リダイレクト先を使うなど、少し変えるだけで解析できることがあります。
公開ページなのに取得できない場合
ブラウザでは見えているのにSiteTuneでは取得できない場合、サーバー側がリクエスト元によってレスポンスを変えている可能性があります。たとえば、Bot対策、国外IP制限、WAF、短時間アクセス制限、User-Agentによる制御などです。サイト運営者にとっては正常な防御設定でも、解析サービスから見るとHTMLを取得できない原因になります。
運営者が確認できる項目
- 対象URLがログイン不要で公開されているか
- HTTPステータスが 200 OK になっているか
- meta refresh や JavaScript リダイレクトに依存していないか
- サーバーから返る初期HTMLに本文や見出しが含まれているか
- セキュリティ設定が外部取得を過度に遮断していないか
特にJavaScriptで本文を後から描画するサイトでは、初期HTMLがほとんど空に近いことがあります。その場合、ブラウザ上の見た目は充実していても、SiteTuneが取得するHTMLには音に変換する材料が少なくなります。SEOやアクセシビリティの観点でも、重要な本文や見出しを初期HTMLに含めることは有利です。
原因の切り分けには、シークレットウィンドウでの表示確認、curlでのHTTPステータス確認、HTMLソース内の本文確認が役立ちます。取得できないURLは、サイトの公開状態やHTML出力を見直すきっかけにもなります。