存在しないアンカー
正しいページに到達しても、目的の見出しやセクションに移動できないリンクを修正します。
フラグメントを確認する#
# の後の部分がフラグメントです。例えば /docs/setup#installation の #installation です。通常のセクションリンクでは、リンク先ページの要素 ID と一致する必要があります。HTTP 200 を返すページでもアンカーが存在しないことはあります。
完全な URL を開き、リンク先の読み込みを待って、目的のセクションに着くか確認します。表示する見出しではなく、実際の ID とフラグメントを比較してください。大文字・小文字やエンコードされた文字が影響することがあります。
- #fragment を含む完全な URL を確認します。
- ブラウザータブで開きます。
- 参照が案内する見出しや要素を見つけます。
- エディターやブラウザーの検証ツールで ID を確認します。
- その ID とフラグメントを比較します。
修正する#
セクションに安定した ID がある場合は、リンク元をそれに合わせて更新します。他の記事が古いフラグメントを使うなら、既存の参照を壊すのではなく、目的の位置にその ID を残すことを検討してください。
変更を公開し、リンク元から完全なリンクをテストします。フラグメントを除けばページには到達しますが、読者をセクションへ直接案内するという約束は維持できません。
動的な内容#
サイトによっては JavaScript の実行後や、利用者が内容を展開した後に ID を作ります。サイト全体チェックは取得した HTML を調べるため、表示されたページとは異なる場合があります。現在のページスキャンでは、開いているタブですでに利用できる ID を調べられます。
使えるリンクを変更する前に、関連する内容を読み込み、新しいタブでテストします。特別な操作後にしか使えないなら、新しい訪問者がその操作を行えるか、リンク元に分かりやすい説明が必要か確認してください。
仮のリンクとセクションリンクを区別する#
空のリンク、# だけのリンク、javascript: の URL は、存在しないセクションではなく仮の画面操作用リンクかもしれません。「設定」で「仮のリンクを確認」を有効にすると、別に一覧表示できます。
ナビゲーションには意味のあるリンク先やフラグメントを使います。画面上の操作には、存在しない HTTP ページとして扱うのではなく、意図する動作を確認してください。