Web反響ラボ

SEOに強いサイトを作る!効果的なコーディングのポイント

SEOに強いサイトを作る!効果的なコーディングのポイント

Webサイトを運営する上でよく耳にする「SEO」。 これは「検索エンジン最適化」の略で、簡単に言うと「Googleなどの検索結果で、自分のサイトを上位に表示させて、たくさんの人に見てもらうための対策」のことです。

SEOと聞くと、「記事の内容」や「キーワード選び」ばかり気にしていませんか? 

実は、Webサイトの裏側にあるコードの書き方(コーディング)も順位を大きく左右します。

検索エンジンは裏側のコードを読み取って内容を判断しています。そのため、どんなに素晴らしい文章が書かれていても、コードが整っていなければその価値を正しく理解できません。

そこで今回は、Web制作のプロの視点から検索エンジンに正しく評価されるための効果的なコーディングのポイントを解説します。

目次 - Index -

12038文字

読み終わる時間の目安:約21

SEOに強いサイトを作るための基本ポイント

まずは、なぜコーディングがSEOに関係するのか、その基本的な考え方を押さえておきましょう。

Googleが評価するコードの特徴

Googleの基本方針は「ユーザーファースト」です。 しかし、そのユーザーにページを届ける役割を担っているのは、クローラーと呼ばれるGoogleのプログラムです。 どんなに良いコンテンツでも、プログラムが内容を理解できなければ、検索結果としてユーザーの目に留まることはありません。だからこそ、プログラムが正しく読み取れるコードを書くことが大切なのです。

GoogleのSEOに関する公式ドキュメント「Google検索セントラル」などの情報を整理すると、技術面では主に以下6つの点が重視されています。

  • コンテンツの理解しやすさ
    テキストとHTMLタグ(見出しタグなど)を適切に使い、内容を明確に伝える。
  • ページエクスペリエンス
    Core Web Vitalsに代表される「読み込み速度」や「操作の応答性」の向上。
  • モバイルフレンドリー
    スマートフォンでの閲覧・操作に最適化されていること。
  • クローラビリティ
    サイト構造を整理し、検索エンジンが情報を収集しやすい設計にすること。
  • 構造化データ
    検索エンジンに情報の意味(価格、著者、FAQなど)を正確に伝える実装。
  • アクセシビリティ
    alt属性やリンクテキストの最適化など、誰もが正しく情報を取得できる実装にすること。

これらを意識してコーディングすることで、結果として検索順位にも良い影響が期待できます。

HTML構造とSEOの密接な関係

Webページを作る「HTML」は、家の骨組みのようなものです。 検索エンジンは、このHTMLタグを手がかりに「どこがタイトルで、どこが重要な本文なのか」を判断します。

見た目だけ整っていても、骨組みであるHTMLが適切でなければ、検索エンジンはページの内容を誤解してしまいます。 「正しいHTML構造=正しいSEO評価」 この意識を持つことが、SEOに強いサイトを作る第一歩です。

検索エンジンに正しく伝わるHTMLの書き方

では、実際にどのようなコードを書けば、検索エンジンに正しく情報を伝えられるのでしょうか?

ここからは、日々のコーディングですぐに取り入れられる、具体的な記述(マークアップ)の方法を解説します。

見出しタグ(h1~h6)の適切な使い方

見出しタグは、本でいう「目次」のような役割を担うタグです。 重要度が高い順にh1からh6まで6つのレベルがあり、この6つを使い分けることで、読者と検索エンジンの両方に「どこに何が書かれているか」を正しく伝えます。

  • h1:1番大きな見出し
  • h2:2番目に大きな見出し
  • h3:3番目に大きな見出し
  • h4:4番目に大きな見出し
  • h5:5番目に大きな見出し
  • h6:6番目に大きな見出し

【基本ルール1:h1は「1ページに1つ」が原則】

 前提として、HTMLの仕様上は1つのページ内にh1タグを複数使うことも可能です。Googleも「システム上は問題ない」としています。

しかし、SEOの最適化という観点では、以下の2つの理由から「1ページにつき1回」に絞るべきです。

  • クローラーが記事の内容を理解しづらくなる
    検索エンジン(クローラー)は、HTMLタグを手がかりに「ここが大見出し」「ここが小見出し」と、記事の構成を理解しようとします。 すべての見出しがh1だと、クローラーはどこが記事のスタートで、どういう構成になっているのかを効率よく読み取れなくなってしまいます。

  • ページ内のテーマが弱くなる
    SEOの基本は「1ページ1テーマ」です。なぜなら検索する人は「自分が知りたい1つの答え」を求めているからです。h1タグを複数使うということは、1つのページにメインテーマがいくつも存在することになり、話が脱線する原因になります。求めている答えは1つなのに、複数のテーマが混在していると、ユーザーにとっては非常に読みづらい記事になります。これはユーザビリティの低下を招き、結果として間接的にSEO評価を下げることにつながってしまいます。

【基本ルール2:階層順に使う】

 h2以降を使う際は、順番を守ることが重要です。 h2(章)の中にh3(節)がある、という「入れ子構造」を正しく作ることで、検索エンジンは記事の詳しい内容をスムーズに理解できます。

デザイン調整のためにh2の次にいきなりh4を使うといった「階層飛ばし」は避け、正しい順序で書くよう心がけましょう。

セマンティックタグを活用した構造化

セマンティックタグとは、HTMLタグが持つ「意味」や「役割」を正しく表現し、ウェブページの構造を検索エンジン(クローラー)が理解しやすくするためのタグです。

以前のWeb制作では、あらゆるパーツを<div>(意味を持たないただの箱)で囲む書き方が主流でしたが、これでは検索エンジンはどの中身が重要なのか判断できません。現在は、以下のように役割に合ったタグを使い分けるのが定石です。

<header>:ヘッダー(サイトや記事の導入部)
<nav>:ナビゲーション(メニューなど)
<main>:メインコンテンツ(ページの主要部分)
<section>:セクション(テーマごとの内容のまとまり)
<article>:記事(単体で完結する独立したコンテンツ)
<footer>:フッター(著者に関する情報や関連リンクなど)

検索エンジンのクローラーは人間のように見た目で「ここはメニューだな」「ここは記事の本文だな」と判断しているわけではなく、ソースコードのタグを見て判断しています。

そのため、適切なタグを使って「ここがメインコンテンツ(main)です」とマークアップすることで、クローラーはページの構成を迷わず正確に理解できるようになり、結果として正しい評価につながります。

alt属性で画像の意味を正しく伝える

画像を表示する<img>タグには、必ずalt属性(代替テキスト)を設定しましょう。これは、画像が表示されなかった時に代わりに表示されるテキストですが、SEOにおいても非常に重要な役割を持ちます。

<!-- × 悪い例 -->
<img src="image.jpg" alt="写真">

<!-- ○ 良い例 -->
<img src="pancake.jpg" alt="メイプルシロップとバターが乗った焼きたてのホットケーキ">

検索エンジンのクローラーは、画像の中身を人間のように目で見て理解することができません。 そのため、alt属性に具体的な説明を入れることで、「そこに何が映っているか」をテキスト情報として検索エンジンに伝えます。

Google公式(検索セントラル)の見解

Google検索セントラルの「Google画像検索のSEOベストプラクティス」には、以下のように明記されています。

Googleでは、代替テキストに加えて、コンピュータ ビジョン アルゴリズムやページのコンテンツを使用して、画像のテーマを理解します。 (中略) 代替テキストを設定するときは、適切にキーワードを使用して、ページのコンテンツの内容に沿った、情報に富む、役に立つものになるようにします。

(引用)画像のSEOベスト プラクティス | Google 検索セントラル

つまり、alt属性を正しく記述することで、検索エンジンがページの内容をより深く理解し、結果として記事全体のSEO評価を高めることにつながります。

サイト速度を改善するコーディングテクニック

ページの表示速度は、ユーザーの利便性だけでなく、検索順位にも影響を与える重要な要素です。 Googleは「ページの読み込み速度をモバイル検索のランキング要素に使用する(Speed Update)」と公式に発表しています。

ここでは、サーバーの設定ではなく、コーディング(HTML/CSS/JSの書き方)で実践できる高速化テクニックを紹介します。

不要なコードを減らすミニファイと最適化

Webサイトのコードには、人間が読みやすくするための「改行」や「スペース」、「コメント(メモ書き)」が含まれています。 ただ、コンピュータがコードを読み取って実行する上では、そうした余白やメモは不要です。

これらを削除してファイルサイズを圧縮することを「ミニファイ」と呼びます。

  • 通常ファイル(style.css): 人間が編集するためのファイル
  • 圧縮ファイル(style.min.css): 無駄な文字が削除され、データ容量が最適化されたファイル

専用のツールを使ってファイルを圧縮するだけで、通信データ量を減らし、読み込みを高速化できます。WordPressであれば、プラグインを使って簡単に圧縮することも可能です。

画像・動画の軽量化テクニック

Webサイトのデータ容量の多くを占めるのが、画像と動画です。ここを軽量化するのが最も手っ取り早く、効果も大きいです。

次世代フォーマット(WebP)を使う

Googleのデベロッパー向けドキュメント「web.dev」でも、従来のJPEGやPNGよりも圧縮率が高い「WebP(ウェッピー)」などの次世代フォーマットの使用を推奨しています。 画質をほぼ落とさずに、ファイルサイズを2〜3割ほど軽量化できるケースが多いです。

遅延読み込み(Lazy Loading)

<img>タグにloading=”lazy”という属性を追加するだけで、画像の「遅延読み込み」が実装できます。

<img src="image.webp" alt="解説画像" loading="lazy">

これを指定すると、「画面に映っていない画像」は読み込まれず、ユーザーがそこまでスクロールしたタイミングで初めて読み込まれます。 初期表示で読み込むデータ量が激減するため、ページの表示速度が大幅に改善されます。

JavaScript読み込みの最適化(async・defer)

通常、ブラウザはHTMLを上から順に読み込みますが、途中で<script src=”…”>を見つけると、そのファイルのダウンロードと実行が終わるまで、HTMLの解析を一時停止してしまいます。これが「画面が真っ白な時間」が長引く原因です。

これを防ぐために、scriptタグには必ずasyncまたはdefer属性をつけましょう。

<script defer …>

HTMLの読み込みを邪魔せず、裏側でファイルをダウンロードします。実行はHTMLを全て読み終わった後に行われるため、ページの表示を遅らせません。

使い所:一般的なJavaScriptファイル(jQueryやメインの動作ファイルなど)

<script async …>

HTMLの読み込みと並行してダウンロードし、準備ができ次第すぐに実行します。実行順序が保証されないため、他のファイルに依存しないスクリプトに向いています。

使い所:Googleアナリティクスなどの計測タグ、広告タグ

内部リンク最適化でサイト評価を強化

内部リンクとは、自サイト内のページ同士をつなぐリンクのことです。 ページ単体の品質はもちろん大切ですが、サイト全体の評価を底上げして「検索に強いサイト」にするためには、この内部リンクの最適化が重要です。

  • クローラーが巡回しやすくなる
    Googleのクローラーは、サイト内のリンクを辿って新しいページを見つけ、データベースに登録(インデックス)します。どこからもリンクされていないページは、クローラーがたどり着けず、検索結果に反映されないリスクがあります。せっかく書いた記事を無駄にしないためにも、サイト内の隅々までスムーズに巡回できるルートを確保しておく必要があります。

  • ページ同士の関連度と評価が上がる
    関連度の高い記事をリンクで繋いで一つのグループにすることは、Googleに対して「このサイトはそのテーマに詳しい」と正しく伝える手段になります。お互いの内容を補完し合うようにリンクを張ることで、サイト全体の専門性が高まり、検索順位を押し上げる大きな要因になります。
    また、Googleには「評価の高いページからのリンクは、リンク先にもその評価(パワー)を分ける」という仕組みがあります。特に関連性の高いページ間でこの導線を整備すれば、ユーザーは知りたい情報にたどり着きやすくなり、ユーザビリティの向上によってサイト全体の評価もさらに底上げされます。

  • ユーザーの滞在時間が長くなる
    サイト内のリンクが整理されていないと、どこに欲しい情報があるか分からず、ユーザーが離脱してしまう原因になります。内部リンクを整えて網羅的に情報を提供できれば、ユーザーの回遊性が高まり、サイトの滞在時間は自然と長くなります。「ユーザーがじっくりページを読み進めている」という事実は、検索エンジンから「有益なコンテンツを提供しているサイト」だと判断され、評価UPに繋がります。

理想的な内部リンク構造の特徴

Googleは、トップページからカテゴリ、個別記事へと、順序立てて整理された階層構造を推奨しています。

  • 階層の明確化
    「トップ → カテゴリ → 個別記事」の流れをリンクで繋ぎ、サイト全体の繋がりを明確にします。

  • 重要なページを「浅く」配置
    評価を上げたいページは、トップページから2クリック以内で辿り着けるように設計します。あまりに深い場所にあると、クローラーが巡回しにくくなり、ページ評価も伝わりにくくなります。

  • パンくずリストの実装
    今いる場所をユーザーと検索エンジンの両方に伝えるため、全ページに設置して正しく記述しましょう。

アンカーテキストの最適化

アンカーテキストとは、リンクとして表示されている文字のことです。ここには、リンク先の内容を具体的かつ簡潔に記述します。Googleの「SEOスターターガイド」でも、適切なテキストによってユーザーと検索エンジンの双方が内容を把握しやすくなるとしています。

<!-- × 悪い例 -->
<a href="/seo-coding/">こちらをクリック</a>

<!-- ○ 良い例 -->
<a href="/seo-coding/">SEOに強いHTMLコーディングの解説</a>

「こちら」といった指示語ではなく、具体的なキーワードを盛り込むことで、リンク先のテーマがGoogleに正しく伝わり、結果として評価向上に繋がります。

モバイルフレンドリーを意識したコーディング

Googleはモバイル版のページを優先的に評価するため、スマートフォンでの閲覧を前提とした設計が不可欠です。PCサイトの単なる縮小版ではなく、スマートフォンの小さな画面でもストレスなく情報を得られる実装が求められます。

レスポンシブデザインでのSEO最適化

Googleが推奨しているのは、一つのHTMLをデバイスに応じて切り替える「レスポンシブデザイン」です。URLをPCとモバイルで統一することで、検索エンジンがサイト構造を正しく把握しやすくなり、ページ評価も分散されません。

Viewportの設定

ブラウザに画面の横幅を伝える「Viewport」を正しく設定しましょう。これが抜けるとモバイルフレンドリーと判断されません。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

タップ領域の確保

ボタンやリンクが近すぎると、誤操作を招きユーザビリティが低下します。Googleの基準に合わせ、タップ領域は十分な大きさと余白を確保しましょう。
タップ可能な要素は縦横48px以上、ボタン同士の最小余白は8px以上を目安に設定します。

適切なフォントサイズ

モバイル画面で拡大しなくても読めるサイズを基本にします。一般的には16px以上が推奨されています。

コアウェブバイタルの改善

コアウェブバイタルとは、Googleが重要視している「ユーザー体験」を数値化した3つの指標です。これらを改善することは、検索順位の安定だけでなく、離脱率の低下にも直結します。

指標 概要 目標値(良好)
LCP(Largest Contentful Paint) ページの読み込み速度 2.5秒以内
INP(Interaction to Next Paint) ページの反応性 200ミリ秒未満
CLS(Cumulative Layout Shift) ページの視覚的な安全性 0.1未満

【参考】web.dev|Web Vitals

LCP(Largest Contentful Paint)

LCPは、ページ内の最も大きなメインコンテンツが表示されるまでの時間を測定する指標です。ユーザーがそのページの主要な内容をどれだけ早く見られるかを示します。

  • 目標値
    2.5秒以内が「良好」とされ、4.0秒を超えると改善が必要と判断されます。
  • 主な改善策
    WebPの採用などで画像のファイルサイズを軽量化するほか、サーバーの応答速度を向上させる、ブラウザレンダリングを妨げる不要なJavaScriptを削除するといった対策が有効です。

INP(Interaction to Next Paint)

INPは、クリックやタップ、キーボード入力などの操作に対して、ページがどれだけ素早く反応するかを測定するもので、2024年より導入された最新の指標です。操作してから次の画面更新(描画)が行われるまでの時間を計測します。

  • 目標値
    200ミリ秒未満が「良好」とされ、500ミリ秒を超えると質が低いと判断されます。
  • 主な改善策
    ブラウザが重いプログラム(JavaScript)を動かしている最中は、ユーザーがクリックしても即座に反応できません。不要なコードを削除したり、一回の処理にかかる時間を短くしたりすることで、操作に対してブラウザがすぐに反応できる余裕を作ることが重要です。

CLS(Cumulative Layout Shift)

CLSは、ページの読み込み中や読み込み後に、コンテンツの位置が予期せず移動する度合いを数値化した指標です。この数値は、レイアウトが崩れた「範囲」と要素の「移動距離」を掛け合わせて算出されます。

  • 目標値
    0.1未満に抑えることが推奨され、0.25を超えるとユーザー体験が不十分だと判断されます。
  • 主な改善策
    画像や動画などの要素に widthと height(サイズ属性)を必ず記述し、あらかじめ表示領域を確保しておきます。また、広告などの動的コンテンツを後から挿入する場合は、専用のコンテナを用意してレイアウトがガタつかないように工夫します。

構造化データで検索結果のクリック率を上げる

構造化データとは、HTMLで書かれた情報を検索エンジンに正しく理解させるために、特定のルールに沿ってタグづけしたものです。

かつての検索エンジンは、HTML内の文字列を単なる記号として認識するだけで、その意味までは理解できませんでした。

そこで、検索エンジンに「これは会社名である」「これは所在地である」といった情報の意味を伝え、知識として蓄積させるために生まれたのが構造化データです。これを実装することで、検索結果にリッチリザルトが表示されるようになり、クリック率(CTR)の大幅な向上が期待できます。

schema.orgで実装すべき基本マークアップ


世界共通の規格である「schema.org」を用いて、ページ内の情報が何であるかを定義します。

現在、Googleは構造化データの実装形式として「JSON-LD」を推奨しています。JSON-LD形式では、構造化データをJSON形式として <script> タグ内に記載します。記載する場所は<head> 内でも <body> 内でも構いません。

多くのサイトでまず実装すべき基本項目は以下の通りです。

  • Organization(組織)
    サイト運営者の正式名称、ロゴ、住所、連絡先を明記します。
  • Article / BlogPosting(記事)
    記事のタイトル、公開日、更新日、著者情報を明記します。
  • Person(著者)
    著者の氏名、プロフィール、所属、専門分野を明記します。
  • FAQPage(Q&A)
    「よくある質問」のコーナーに実装します。

実装コードの例(FAQPage)

JSON-LDを用いたFAQ(よくある質問)の実装例は以下の通りです。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "1つ目の質問をここに記載します",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "1つ目の回答をここに記載します。"
    }
  }, {
    "@type": "Question",
    "name": "2つ目の質問をここに記載します",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "2つ目の回答をここに記載します。"
    }
  }]
}
</script>

リッチリザルトを狙うためのポイント

リッチリザルトとは、検索結果に「レビュー」や「よくある質問」などが表示される拡張機能です。これによって検索結果での占有面積が広がり、ユーザーの視線を惹きつけることができます。

  • ページの内容と一致させる
    構造化データで記述する内容は、必ずページ上でユーザーが閲覧できる情報と一致させなければなりません。

  • FAQリッチリザルトの活用
    Q&A形式のコンテンツがある場合、FAQの構造化データを実装することで、検索結果から直接答えの一部を表示できるようになります。

  • 検証ツールで確認する
    Google公式の「リッチリザルトテスト」を使用し、コードが正しく認識されているか、エラーがないかを必ず確認しましょう。

SEOに強いコーディングを意識する仕組みづくり

SEO対策は「一度やって終わり」ではなく、新しいページの追加やサイト改修のたびに継続して正しく実装される必要があります。ミスを防ぎ、常に高い品質を維持するためには、フローの中に「SEO対策を確認する工程」を組み込むことが重要です。

SEOチェックリストを作成する

個人の知識量に依存せず、誰が担当しても同じクオリティになるように、独自の「SEOチェックリスト」を作成し、公開前の必須工程としましょう。

チェックリストに含めるべき主な項目
  • 基本タグ
    ページごとに固有のtitleやdescriptionが設定されているか?
  • HTML構造
    見出し(hタグ)の順序は正しいか? コンテンツの内容に対して適切なタグが選ばれているか?
  • 画像
    すべての画像に内容を説明するalt属性があるか? 適切なサイズ指定(width/height)がされているか?
  • 内部リンク
    関連ページへのリンクはあるか? リンク先のイメージが湧くテキストになっているか?
  • モバイル
    Viewportは設定されているか? タップ領域や文字サイズに問題はないか?
  • 構造化データ
    ページの種類に応じたマークアップが正しく記述されているか?

このようなリストを活用することで、チェック漏れを物理的に防ぐことができます。

便利なSEOツールを活用する

目視だけでは気づきにくいミスを防ぎ、Googleの推奨通りに正しく実装できているかを確認するために、公式の検証ツールを積極的に活用しましょう。

  • Google Search Console(サーチコンソール)
    サイト全体のインデックス状況や、検索パフォーマンス、エラーの有無を確認するための必須ツールです。

  • PageSpeed Insights
    URLを入力するだけで、表示速度やコアウェブバイタルのスコア、具体的な改善案を表示してくれます。

  • リッチリザルトテスト
    構造化データが正しく認識されているかを公開前に検証します。

  • キーワードプランナー
    ユーザーが実際にどのような語句で検索しているかを調査し、コーディングに活かすキーワードを選定する際に役立ちます。

まとめ

SEOに強いコーディングとは、単に検索順位を上げるためのテクニックではなく、検索エンジンに正しく内容を伝え、ユーザーにとって使いやすいサイトを作るというWebの基本を徹底することです。

本日の要点チェックリスト
  • SEOに強いサイトの基本
    Googleの評価基準を理解し、検索エンジンとユーザーの両方に配慮したコードを書く。
  • 正しく伝わるHTML
    見出しタグ(h1〜h6)の順序を守り、セマンティックタグやalt属性で情報の意味を明確にする。
  • サイト速度の改善
    コードの最適化や画像の軽量化、JavaScriptの読み込み調整(async/defer)で表示を高速化させる。
  • 内部リンクの最適化
    整理された階層構造と具体的なアンカーテキストにより、サイト全体の評価を強化する。
  • モバイルフレンドリー
    レスポンシブ対応を徹底し、コアウェブバイタルの各指標(LCP/INP/CLS)を目標値以内に収める。
  • 構造化データの活用
    情報を「意味」としてタグづけし、リッチリザルトによるクリック率の向上を狙う。
  • 継続的な仕組みづくり
    チェックリストの運用や各種ツールの活用により、誰が担当してもSEO品質を担保できるフローを構築する。

Googleのアルゴリズムは日々変化していますが、「情報を正しく整理すること」と「ユーザーにとっての使いやすさ」は、いつの時代も変わらない大切なポイントです。基本を一つずつ押さえていけば、検索エンジンにもユーザーにも喜ばれる高品質なサイトに近づきます。
ぜひ、明日からの制作現場で活用してみてください。

GOTOP