HTMLのarticleとsectionの違いを徹底解説!初心者でも迷わない使い分けの基準
生徒
「HTMLで文章を書くとき、articleタグとsectionタグのどちらを使えばいいか迷ってしまいます。どちらも箱のような役割に見えるのですが、明確な違いはあるのでしょうか?」
先生
「とても鋭い視点ですね。実は、プロの開発者でも悩むことがある部分です。簡単に言うと、その中身だけで独立した読み物として成立するかどうかが、大きな判断基準になりますよ。」
生徒
「独立して成立する、ですか?もう少し詳しく教えてください!」
先生
「例えば、新聞の切り抜きのように、それだけを誰かに渡しても意味が通じるならarticle、大きな話の一部としての区切りならsectionを使います。具体的な例を見ながら学んでいきましょう。」
1. HTMLのarticleタグとは何か
articleタグは、その名前の通り「記事」を意味するタグです。このタグの最大の特徴は、自己完結しているコンテンツであるということです。自己完結とは、その部分だけを取り出して別のサイトに掲載したり、SNSでシェアしたりしても、内容がしっかりと理解できる状態を指します。
例えば、ブログの投稿、ニュースサイトの記事、ユーザーのコメント、フォーラムの投稿などがこれに当たります。これらは、周りのデザインや他の文章がなくても、その中身だけで一つの作品として成り立っています。Googleなどの検索エンジンにとっても、articleで囲まれた部分は「ここが一つのまとまった情報だよ」という強力な目印になります。
2. HTMLのsectionタグとは何か
一方で、sectionタグは「章」や「節」を意味します。本をイメージすると分かりやすいでしょう。一つの物語の中に、第1章、第2章と区切りがあるように、ページ内の関連する内容をグループ化するために使います。sectionタグは通常、見出しを伴うべきものとされています。
sectionはarticleと違い、それ単体では意味が不十分な場合が多いです。例えば「当サイトのサービス紹介」という大きなページの中に、「料金プラン」というsectionがあるようなイメージです。「料金プラン」という部分だけを切り取っても、どのサービスの料金なのか分からなければ、それはarticleではなくsectionが適切です。Webサイトを整理整頓するための、機能的な区切りだと考えてください。
3. articleとsectionの使い分け判断基準
初心者が一番迷う「どっちを使えばいいの?」という疑問に対する答えはシンプルです。「その部分だけを切り抜いて、別のページに貼り付けても意味が通じるか?」と自問自答してみてください。
YESであればarticleを使い、NOであればsectionを使います。また、構造的な親子関係もヒントになります。一つのarticle(記事)の中に、内容を整理するための複数のsection(章)があるという形は非常に一般的です。逆に、大きなsection(特定のテーマの範囲)の中に、複数のarticle(独立したニュース一覧など)が含まれることもあります。
ここで、基本的なブログ記事の構造をコードで見てみましょう。記事全体をarticleで囲み、その中の見出しごとにsectionで区切る例です。
<article>
<h1>美味しいカレーの作り方</h1>
<p>家庭で作れる本格的なカレーのレシピを紹介します。</p>
<section>
<h2>必要な材料</h2>
<p>玉ねぎ、人参、じゃがいも、そして秘伝のスパイスを用意します。</p>
</section>
<section>
<h2>調理の手順</h2>
<p>まずは野菜をじっくり炒めるのがコツです。</p>
</section>
</article>
ブラウザ表示
4. asideタグの役割と活用方法
ここで、もう一つの重要なタグであるasideについて解説します。asideは、メインコンテンツとは関連があるけれど、直接的な流れからは少し外れる「補足情報」や「余談」を表すために使います。ブログのサイドバーや、記事の途中に挿入される「豆知識」などがこれに該当します。
asideを使うことで、検索エンジンに対して「ここはメインの話題ではないけれど、関連した情報だよ」と伝えることができます。例えば、記事の著者プロフィールや、関連記事へのリンク集、広告などはasideで囲むのが一般的です。メインの文章を邪魔しないけれど、読者にとっては役立つ情報を配置する際に非常に便利です。
以下は、記事の横にサイドバーとして補足情報を置くイメージのコードです。
<main>
<article>
<h1>最新のプログラミング学習法</h1>
<p>現代では効率的な学習プラットフォームがたくさんあります。</p>
</article>
<aside>
<h2>おすすめの参考書</h2>
<ul>
<li>HTMLの基本がわかる本</li>
<li>CSSデザインの教科書</li>
</ul>
<img src="/img/sample150-100.jpg" alt="参考書のイメージ">
</aside>
</main>
ブラウザ表示
5. divタグとの違いを知って適切にマークアップする
初心者のうちは、すべてをdivタグで囲んでしまいがちです。divタグは「特に意味を持たない汎用的な箱」です。見た目を整えるためのデザイン目的で使う分には問題ありませんが、コンテンツの意味を伝える力はありません。一方、article、section、asideなどは「セマンティックタグ」と呼ばれ、タグ自体に意味があります。
プログラミング未経験の方がWebサイトを制作する際、検索エンジンに正しく内容を伝えるためには、この「意味のあるタグ」を使うことが非常に重要です。これをSEO対策(検索エンジン最適化)と呼びます。divばかりを使うのではなく、可能な限り意味に合ったタグを選んでいきましょう。ただし、単にCSSで色をつけたり位置を調整したりするためだけの箱であれば、無理に意味を持たせずdivを使うのが正解です。
6. ニュースサイトを例にした実践的な構造例
より複雑な構造を理解するために、ニュースサイトのトップページを想定してみましょう。トップページには、最新ニュースのリストが並んでいます。それぞれのニュースは独立した「記事」なのでarticleを使います。そして、そのニュースリスト全体を「最新ニュース」という一つのsectionでまとめることができます。このように、タグを入れ子(中に入れること)にして使うのが一般的です。
さらに、ページの端には「人気の記事ランキング」や「天気予報」などが置かれることがあります。これらはメインのニュースとは別の情報なので、asideが適しています。このように役割を分担させることで、コードが読みやすくなり、メンテナンス性も向上します。
<section>
<h2>本日注目のニュース</h2>
<article>
<h3>プログラミング教育が必修化</h3>
<p>全国の小学校で新しいカリキュラムが始まりました。</p>
<img src="/img/sample120-120.jpg" alt="教育のイメージ">
</article>
<article>
<h3>AI技術の劇的な進化</h3>
<p>人工知能が私たちの生活をどのように変えるのか解説します。</p>
</article>
</section>
ブラウザ表示
7. セマンティックHTMLがSEOに与える影響
なぜここまでタグの使い分けにこだわるのでしょうか。それは、GoogleのロボットがあなたのWebサイトを訪問したとき、タグを頼りに「何が重要な情報か」を判断しているからです。もしすべての文章がpタグやdivタグだけで構成されていたら、ロボットはどれが一番伝えたいニュースで、どれがただの補足情報なのか判別するのが難しくなります。
articleタグを正しく使っていれば、「ここがメインのコンテンツですよ」とアピールできます。また、sectionで見出しを整理していれば、情報の構造を正しく伝えることができます。これは検索順位に良い影響を与える可能性があり、結果としてより多くの人にあなたの記事を読んでもらえることにつながります。パソコンを触り始めたばかりの方でも、この「整理整頓のルール」を覚えるだけで、質の高いWebサイトが作れるようになります。
8. asideを使ったサイドバーの実装と注意点
asideを使う際の注意点として、何でもかんでもasideに入れないということが挙げられます。メインコンテンツと全く無関係なものは、asideではなく単なるfooterやdivで十分な場合もあります。あくまで「メインの内容に関連しているけれど、わき道に逸れるもの」というニュアンスを大切にしてください。
例えば、ブログ記事の下に「この記事を書いた人」というプロフィール欄を置く場合、それは記事(article)に関連する情報なのでasideで囲むのはとても良い設計です。また、長い記事の途中で用語解説を差し込む場合も、asideを使うことで「本筋からは離れるけれど役立つ情報」であることを示せます。
<article>
<h2>Webデザインの基本カラー</h2>
<p>青色は信頼感を与え、赤色は情熱を伝えます。</p>
<aside>
<p><i class="bi bi-info-circle"></i> 豆知識:色の心理効果は国によって異なる場合があります。</p>
</aside>
<p>ターゲットに合わせて最適な色を選びましょう。</p>
</article>
ブラウザ表示
9. 初心者が陥りやすいミスと解決策
最後に、よくある間違いを確認しておきましょう。最も多いのは、見出し(h2やh3タグ)がないのにsectionを使ってしまうことです。sectionは情報のまとまりなので、そのまとまりが何を指しているかを示すタイトルが不可欠です。もし見出しをつけるほどでもない、単にレイアウトのために囲みたいだけなら、divを使いましょう。
もう一つのミスは、articleの中にarticleを入れられることを知らない点です。例えば、一つのブログ投稿がarticleであり、その下にあるユーザー一人ひとりのコメントもまた、それ単体で意味をなすため、articleで囲むのが正しいHTMLの書き方です。このように、タグの役割を深く理解することで、あなたのWebサイトの構造はプロ並みの品質に近づいていきます。一歩ずつ、意味のあるマークアップを心がけてみてください。
「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門
「Webの仕組み」を正しく操る。HTML5でプロフェッショナルな情報設計の第一歩を。
本講座では、単なるタグの暗記ではなく、「検索エンジンやAIに正しく伝わる情報の構造化」という本質的な技術を学びます。モダンWebの土台であるHTML5を通じて、将来的にWebデザイナーやフロントエンドエンジニアを目指すための「稼げる基礎力」を最短距離で身につけます。
具体的なワークショップ内容と環境
【つくるもの】
自己紹介やポートフォリオの土台となる「構造化されたWebページ」を作成します。見出し、段落、リスト、リンク、画像配置など、商用サイトでも必ず使われる「セマンティックなマークアップ」をゼロから体験してください。
【開発環境】
世界中のプロが愛用するVisual Studio Code (VS Code)を使用します。Emmet(高速入力機能)の設定から、HTMLの文法ミスを自動チェックする拡張機能まで、現場基準の効率的な環境を一緒に構築します。
この60分で得られる3つの武器
Googleから高く評価されるタグの選び方を理解し、検索上位を狙えるサイト構造の作り方を学びます。
プロが使うショートカットや自動補完機能を習得し、タイピングの手間を最小限にする技術を体得します。
画像への代替テキストや適切な階層構造など、誰にとっても使いやすい「優しいWeb」の作り方を伝授します。
※本講座は、将来的にWebデザイナー、コーダー、フロントエンドエンジニアを目指す未経験者のためのエントリー講座です。「モクモク」独自のマンツーマン形式により、コードを1行書くたびに生まれる疑問をその場で解決します。
現役エンジニアが教えるHTML入門
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら