13.

Web サイト SEO 基礎完全ガイド(title / meta / 構造化データ / Core Web Vitals)

編集
この記事の要点
  • SEO(Search Engine Optimization): Google 等の検索エンジンで上位表示させる施策の総称
  • 基本: title タグ(60 文字以内)meta description(160 文字)見出し階層(h1 → h2 → h3)
  • 構造化データ: JSON-LD(schema.org 語彙)でリッチリザルト対応。Article / Product / FAQPage / BreadcrumbList
  • Core Web Vitals: LCP < 2.5s / FID < 100ms / CLS < 0.1(2024 から INP に置換)
  • 基盤: HTTPS 必須 / canonical URL / sitemap.xml + robots.txt / Google Search Console 登録

SEO の全体像

SEO は大きく 3 つの軸で考えます:

内容主な施策
テクニカル SEOクローラビリティ・インデックスsitemap、robots.txt、canonical、HTTPS、表示速度
コンテンツ SEO検索意図に合う質の高い記事title、description、見出し、本文、画像 alt
外部 SEO被リンク・E-E-A-T権威性のあるサイトからの自然リンク、著者情報

title タグ(最重要)

検索結果のクリック率を最も左右します。

<!-- ✅ 良い例 -->
<title>Laravel バリデーション完全ガイド(Form Request / カスタムルール) | CWiki</title>

<!-- ❌ 悪い例 -->
<title>Home</title>
<title>ページ1</title>
<title>すごく長くてキーワードを詰め込みすぎたタイトル...60 文字を大きく超えて検索結果で省略されてしまう</title>
  • 30〜60 文字(日本語 30 文字前後)
  • 主要キーワードを前半に配置
  • サイト名は末尾に | サイト名 形式
  • ページごとにユニーク

meta description

<meta name="description" content="Laravel のバリデーションを基本から応用まで網羅。$request->validate() の使い方、Form Request クラス、カスタムルール、エラーメッセージのローカライズ、API レスポンスまでサンプルコード付きで解説します。">
  • 120〜160 文字(PC 検索結果の表示幅)
  • 記事の結論と読み終わるメリットを含める
  • キーワードは含めるが詰め込みすぎない(自然な文)

見出し階層(h1 / h2 / h3)

<!-- ✅ 正しい階層 -->
<h1>Laravel バリデーション完全ガイド</h1>
  <h2>基本: $request->validate()</h2>
    <h3>失敗時の挙動</h3>
  <h2>Form Request クラス</h2>
    <h3>authorize()</h3>
    <h3>rules()</h3>

<!-- ❌ 階層スキップは NG -->
<h1>...</h1>
  <h4>サブセクション</h4>  <!-- h2 / h3 を飛ばしている -->

構造化データ(JSON-LD)

Google が記事の意味を理解するための機械可読なメタ情報。リッチリザルト(強調表示)の対象になります。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Laravel バリデーション完全ガイド",
  "image": "https://example.com/article-cover.jpg",
  "datePublished": "2026-05-17T00:00:00+09:00",
  "dateModified": "2026-05-17T00:00:00+09:00",
  "author": {
    "@type": "Person",
    "name": "山田太郎"
  },
  "publisher": {
    "@type": "Organization",
    "name": "CWiki",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  }
}
</script>

FAQ 形式のページは FAQPage スキーマで Q&A が直接検索結果に表示されます:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Laravel のバリデーションはどこに書くのが良い?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "小規模ならコントローラに、規模が大きくなったら Form Request クラスに分離するのが推奨です。"
    }
  }]
}
</script>

Open Graph / Twitter Card

SNS シェア時のサムネ・タイトル・説明文を制御します:

<!-- Open Graph (Facebook / LINE 等共通) -->
<meta property="og:title" content="Laravel バリデーション完全ガイド">
<meta property="og:description" content="$request->validate() から Form Request まで...">
<meta property="og:image" content="https://example.com/ogp.png">
<meta property="og:url" content="https://example.com/articles/123">
<meta property="og:type" content="article">
<meta property="og:site_name" content="CWiki">

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Laravel バリデーション完全ガイド">
<meta name="twitter:description" content="...">
<meta name="twitter:image" content="https://example.com/ogp.png">

sitemap.xml と robots.txt

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-05-17</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/articles/123</loc>
    <lastmod>2026-05-17</lastmod>
  </url>
</urlset>
# robots.txt
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/

Sitemap: https://example.com/sitemap.xml

canonical URL(URL 正規化)

同じ内容が複数 URL で見える場合、評価が分散しないよう正規 URL を指定します:

<!-- https://example.com/articles/123?utm_source=twitter にアクセスされた時 -->
<link rel="canonical" href="https://example.com/articles/123">

Core Web Vitals(表示速度・UX)

指標意味目標
LCP (Largest Contentful Paint)最大要素の表示時間< 2.5 秒
INP (Interaction to Next Paint)入力 → 反映までの遅延(旧 FID)< 200ms
CLS (Cumulative Layout Shift)レイアウトのずれ量< 0.1

計測ツール: PageSpeed Insights / Lighthouse / Chrome DevTools Performance

必須の運用ツール

  • Google Search Console: クロール状況、検索パフォーマンス、インデックス登録、Core Web Vitals 確認
  • Google Analytics 4 (GA4): 流入元、ユーザー行動、コンバージョン
  • Bing Webmaster Tools: Bing への登録
  • PageSpeed Insights: ページ速度の継続計測

SEO アンチパターン

NG 行為リスク
キーワード詰め込み(同じ語の反復)スパム判定でランクダウン
隠しテキスト(白背景に白文字)手動ペナルティ
低品質ページの大量生成(コピペ・自動生成)Helpful Content Update で全サイト評価低下
有料リンク購入 / 相互リンク集リンクスパムでペナルティ
cloaking(クローラと人で表示を変える)インデックス削除

FAQ

Q: SEO の効果はどれくらいで出る?
A: 一般に 3〜6 ヶ月。新規ドメインは 1 年以上かかることもあります。

Q: AI 生成記事は SEO に不利?
A: Google は「生成手段でなく品質で判定」と公式アナウンス。ただし低品質な大量生成は Helpful Content で減点されます。

Q: モバイル対応はどの程度重要?
A: Google はモバイルファーストインデックスを採用済。スマホでの表示・速度が評価の基本となります。

編集
Post Share
子ページ
  1. タイトルにキーワードを盛り込む
  2. SSL化
  3. scriptタグの記載場所
  4. サイトの引越し
  5. サイトマップとRSS/Atom
  6. CSSの遅延読み込み処理
  7. PageSpeed Insights
  8. Google Search Console
  9. Bing Webmaster Tools
同階層のページ
  1. プログラミング言語
  2. データベース
  3. ネットワーク
  4. OS
  5. ソフトウェア
  6. ハードウェア
  7. ファームウェア
  8. API
  9. ITセキュリティ
  10. Webサービス
  11. AI 人工知能
  12. 技術・設計・規格
  13. SEO
  14. 開発工程
  15. エンジニア
  16. 電子工作
  17. その他用語一覧
  18. クラウド・インフラ
  19. ファイル形式・拡張子

最近更新/作成されたページ