セマンティックなHTMLの書き方

HTML(HyperText Markup Language)はウェブページの構造を定義するための基本的な言語ですが、それをより理解しやすく、検索エンジンにも理解しやすくするためには「セマンティックなHTML」を使うことが重要です。

本記事では、セマンティックなHTMLの書き方に焦点を当て、初心者向けにわかりやすく解説します。



フロントエンドエンジニアロードマップ一覧はこちら



セマンティックなHTMLとは?

セマンティックなHTMLは、文書の構造や意味を正確に伝えるためのHTMLの使用方法です。

単なる見た目だけでなく、ウェブページのコンテンツが持つ意味や階層構造を正確に表現します。

これにより、開発者やブラウザだけでなく、検索エンジンも文書の内容を理解しやすくなります。


セマンティックなHTMLの基本要素

  1. <header>(ヘッダー)
  2. ヘッダーはウェブページやセクションの先頭に位置し、通常はロゴやサイトのタイトル、ナビゲーションメニューなどが含まれます。
<header>
    <h1>My Website</h1>
    <nav>
        <ul>
            <li><a href="#home">Home</a></li>
            <li><a href="#about">About</a></li>
            <li><a href="#contact">Contact</a></li>
        </ul>
    </nav>
</header>
  1. <nav>(ナビゲーション)
  2. ナビゲーション要素は主要なリンクやメニューを包括します。セマンティックなHTMLでは、ページ内のナビゲーションメニューに使用されます。
<nav>
    <ul>
        <li><a href="#home">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
    </ul>
</nav>
  1. <main>(メインコンテンツ)
  2. メインコンテンツはページの主要なコンテンツを包括します。一般的にはウェブページ全体を囲む要素として使用されます。
<main>
    <article>
        <h2>Article Title</h2>
        <p>Article content goes here.</p>
    </article>
    <!-- 追加の記事やコンテンツ -->
</main>
  1. <article>(記事)
  2. <article>要素は、独立して完結したコンテンツを表します。ブログの記事やニュース記事などがこれに該当します。
<article>
    <h2>Article Title</h2>
    <p>Article content goes here.</p>
</article>
  1. <section>(セクション)
  2. セクション要素は、テーマごとにまとまったコンテンツを示します。セクション内には通常、見出し(<h1>から<h6>)とそのセクションに関連するコンテンツが含まれます。
<section>
    <h2>Section Title</h2>
    <p>Section content goes here.</p>
</section>
  1. <footer>(フッター)
  2. フッターはウェブページやセクションの最下部に位置し、著者情報、コピーライト、関連リンクなどが含まれることがあります。
<footer>
    <p>&copy; 2024 My Website</p>
</footer>


なぜセマンティックなHTMLが重要か?

  1. 検索エンジン最適化(SEO)
  2. セマンティックなHTMLを使用することで、検索エンジンがページの内容を正確に理解しやすくなります。正確な構造や意味が伝わることで、検索エンジンはページを適切にランク付けしやすくなります。
  3. アクセシビリティ
  4. セマンティックなHTMLは、スクリーンリーダーやその他の支援技術を使用するユーザーにとってもウェブページが理解しやすくなります。意味的な構造があることで、ユーザーはスムーズにコンテンツにアクセスできます。
  5. メンテナビリティ
  6. セマンティックなHTMLを使用すると、他の開発者やチームメンバーがコードを理解しやすくなります。文書の構造が明確であれば、将来の変更や保守作業が迅速かつ効果的に行えます。


セマンティックなHTMLの例

以下は、これまでに説明した要素を組み合わせたセマンティックなHTMLの例です。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Semantic Website</title>
</head>
<body>

    <header>
        <h1>My Semantic Website</h1>
        <nav>
            <ul>
                <li><a href="#home">Home</a></li>
                <li><a href="#about">About</a></li>
                <li><a href="#contact">Contact</a></li>
            </ul>
        </nav>
    </header>

    <main>
        <section id="home">
            <h2>Welcome to My Website</h2>
            <p>This is the home section of the website.</p>
        </section>
        
        <section id="about">
            <h2>About Us</h2>
            <p>Learn more about our mission and values.</p>
        </section>
        
        <article>
            <h2>Latest News</h2>
            <p>Read our latest articles and updates.</p>
        </article>
    </main>

    <footer>
        <p>&copy; 2024 My Semantic Website</p>
    </footer>

</body>
</html>

この例では、ヘッダー、メインセクション、記事、フッターなどがセマンティックなHTMLで構築されています。

各要素はその役割や関連性が明確であり、これによりウェブページの理解が容易になります。


結論

セマンティックなHTMLを使用することは、ウェブ開発の基本でありながら非常に重要な概念です。

正確な構造や意味が伝わることで、検索エンジン最適化やアクセシビリティの向上、メンテナビリティの向上など様々な利点が得られます。

初心者の方も、これらの基本的なセマンティックなHTML要素を理解し、実際にプロジェクトで活用してみることをお勧めします。



フロントエンドエンジニアロードマップ一覧はこちら