上記のようなことをお考えでしたら、このまま読んでいってください。
この記事では、「フラグメント」に関する下記の内容をわかりやすく解説いたします。
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
フラグメントとは?
フラグメントとは、URLの「#(シャープ)」以降に書かれる文字列を指します。
主な目的は、Webページ内の特定の場所へ移動することです。

ブラウザがフラグメントを読み取り、対応する位置までスクロールします。
フラグメント自体はサーバーへ送信されず、ブラウザ側で処理されます。
例えば次のURLを見てみましょう。
https://example.com/sample.html#aboutこの場合
https://example.com/sample.htmlがページのURLで、
#aboutがフラグメントです。
つまり「about」という場所まで移動するようブラウザへ指示しています。
フラグメントを身近な例で説明すると?

フラグメントは、本の目次によく似ています。
例えば100ページある本で、「第3章を読みたい」と思ったら目次を見て、そのページへ移動します。
Webページでも同じで、「#section3」なら「第3章」まで一気にスクロールします。
つまりページ内の目印だと考えると理解しやすいでしょう。
フラグメントは何に使われる?
主な用途は次のとおりです。
フラグメントの仕組み

フラグメントは以下の流れで動作します。
URLへアクセス
↓
ページを読み込む
↓
ブラウザが#以降を確認
↓
該当する場所までスクロールしかしながら、ページのどの部分にでも自由に移動できるわけではありません。
ページの見出しや段落に「id」が付与されている必要があります。
例えば「第2章」という見出しに「section2」というidが付与されていれば、フラグメントである「#section2」を指定することで、「第2章」へ移動できるというわけです。
また、フラグメントはサーバーへ送信されないという性質があります。
例えば、
https://example.com/page#section2へアクセスすると、サーバーが受け取るのは
https://example.com/pageまでです。
その後、ブラウザが
#section2を処理して目的の場所へ移動します。
フラグメントの書き方
基本形はこちらです。
https://example.com/page#section1HTMLでは以下のように「id」属性を含めることで「#section1」へ移動できます。
<h2 id="section1">フラグメントとは</h2>クエリパラメータとの違い
初心者が混同しやすいのがクエリパラメータです。
| 比較項目 | フラグメント | クエリパラメータ |
|---|---|---|
| 記号 | # | ? |
| 役割 | ページ内移動 | データを送る |
| サーバーへ送信 | されない | される |
| 用途 | 目次・アンカー | 検索・ログイン・商品検索 |
| 例 | https://example.com/page#faq | https://example.com/search?q=python |
「フラグメントはページ移動」、「クエリパラメータは検索や絞り込み」と理解しましょう。

フラグメントを使うメリット・デメリット
【メリット】
- 長い記事が読みやすい
- ページ内リンクが作れる
- ユーザーが目的の場所へすぐ移動できる
- FAQとの相性が良い
- マニュアルや解説記事で便利
【デメリット】
- ページ自体が変わるわけではない
- SEO効果は限定的
- id名を変更するとリンク切れになる
フラグメントに関するよくある質問
フラグメントとアンカーリンクは同じ?
ほぼ同じ意味です。
アンカーリンクはフラグメントを利用したページ内リンクを指します。
以降はサーバーへ送られる?
送られません。
ブラウザ側だけで処理されます。
フラグメントだけ変えてもページは再読み込みされる?
通常は再読み込みされません。
ブラウザがページ内をスクロールするだけです。
テキストフラグメントとは?
テキストフラグメントは、#:~:text= の形式でWebページ内の特定の文章を指定し、その箇所へ移動・強調表示できる仕組みです。
対応ブラウザで利用できます。
まとめ
フラグメントとは、URLの「#」以降に記述される文字列で、Webページ内の特定の位置へ移動するための仕組みです。
今回のポイントをまとめると、以下の通りです。
フラグメントを理解して活用すれば、読者が目的の情報へ素早くたどり着ける、使いやすいWebページを作成できます。
次に下記記事を読むことで、URLの理解をさらに深めることができます。



