本記事について
当サイトを閲覧いただきありがとうございます。 本記事はシリーズ『生成AI時代のアーキテクチャ超入門』の「フロントエンドアーキテクチャ」カテゴリ第8弾として、SEO(検索エンジン最適化)について解説する記事です。
レンダリング方式・URL設計・メタデータ戦略はアーキテクチャ選定段階で決まってしまい、後から付け足せない領域です。本記事ではレンダリング方式とSEOの関係・メタタグ・OG画像・構造化データ(JSON-LD)・sitemap・URL設計・i18n・Core Web Vitalsまで、初期設計で組み込むための指針を示します。
そもそもSEO設計とは何か
SEO設計とは、ざっくり言えば「検索エンジンにサイトの内容を正しく理解してもらい、検索結果で上位に表示されるための技術的な土台作り」です。
看板の出し方を想像してください。どれだけ美味しい料理を出す店でも、看板が読めない・地図に載っていない・入口が分からない状態では客は来ません。SEO設計はWebサイトの「看板・地図・入口」を検索エンジン向けに整える作業で、レンダリング方式・メタタグ・構造化データ・URL設計といった要素はアーキテクチャ選定段階で決まってしまい、後から付け足せません。
なぜSEO設計が必要か
レンダリング方式の選択でSEOが決まる
CSR(クライアントサイドレンダリング)だけのSPAは、検索エンジンがコンテンツを正しく取得できない場合があります。SSR・SSG・ISRの選択はSEOに直結し、後から変えるのは大がかりな作業になります。
技術的SEOはアーキテクチャ段階で決まる
URL設計・canonical設定・構造化データ・OGタグ──これらはコンテンツの良し悪しに関係なく、技術的な設計ミスで検索順位が下がる要因です。コンテンツSEOの前提として技術基盤を整える必要があります。
SEO対応の後付けはコストが10倍になる
開発完了後に「SEOが弱い」と気づいても、レンダリング方式の変更は設計からやり直しです。最初から織り込む方が圧倒的に安上がりです。
この記事の守備範囲
フロント関連のセキュリティは別記事に分離したため、本記事は純粋にSEOに絞ります。旧版で同居していたフロント固有の脆弱性・CSP・サプライチェーンは、それぞれの担当記事へ移しました。
| 論点 | 担当記事 |
|---|---|
| 本記事 | レンダリングとSEO / メタタグ / OG / 構造化データ / sitemap / URL / i18n / Core Web Vitals |
| フロント固有のXSS / CSRF / CSP | 30/07 認証認可 |
| ネットワーク層の防御(HSTS・WAF) | 50/04 ネットワークセキュリティ |
| 依存関係・サプライチェーン監視 | 50/07 脆弱性診断 |
本記事の問いは「検索とユーザー体験で勝つフロントエンドアーキテクチャ」守りの話は別記事に分けています。
フロントにおけるSEO
Googleのアルゴリズムは年々ユーザー体験の良いサイトを優遇する方向へ進化しています。遅い・モバイル非対応・アクセシビリティ配慮不足のサイトは、コンテンツが良くても上位に出ません。SEOはコンテンツ・パフォーマンス・アクセシビリティ・構造化データの総合戦で、広告に頼らない集客の根幹になります。
SEOは後から付け足せない。アーキテクチャ選定の時点で決まります。
SEOとレンダリングの関係
レンダリング方式の選択は、SEOに直撃します。HTMLの状態で内容が読めるかどうかで、検索エンジンのクローラー理解度が決まります。
| 方式 | SEO | 理由 |
|---|---|---|
| SSR / SSG | ◎ | 検索エンジンがHTMLを直接読める |
| CSR | △ | JS実行が必要・解釈はされるが遅延 |
| Dynamic Rendering | ◯ | Bot向けだけSSRする折衷案 |
CSRでもGoogleクローラーはJS実行後のHTMLを読むので、技術的には認識されます。ただし実行タイミングが数日〜数週間遅れるため、鮮度が求められるサイトでは大きな不利です。SEOを本気で狙うならSSG / SSRが原則、という結論になります。
SEO必須ならSSGかSSR。CSRで戦うのは分が悪いです。
メタタグの基本
<head> 内のメタタグは、検索エンジンにページ情報を伝える最初の一歩です。どれだけ高性能なFWを使っていても、ここが雑だとSEOは始まりません。
<head>
<title>記事タイトル | サイト名</title>
<meta name="description" content="ページの要約120字以内">
<link rel="canonical" href="https://example.com/post/1">
<meta name="robots" content="index, follow">
</head>
設計原則は以下の通りです。
- title と description はページ毎にユニーク(全ページ同じは致命的)
- canonical で重複URLを一本化(末尾スラッシュあり/なし問題など)
- robots で index / noindex を明示
Next.jsの metadata API、Astroの <SEO> コンポーネントなど、メタタグをコンポーネントで一貫管理する仕組みがFW標準で揃っています。使わない手はありません。
Open Graph / Twitter Cards
Open Graph(OG、SNSシェア時のプレビュー制御規格)と Twitter Cards は、SNSシェア時のプレビュー画像・タイトル・説明文を制御するメタタグです。SNS流入が多いサイトでは、OGの良し悪しでクリック率が数倍動きます。
<meta property="og:title" content="記事タイトル">
<meta property="og:description" content="要約">
<meta property="og:image" content="https://example.com/og.png">
<meta property="og:type" content="article">
<meta name="twitter:card" content="summary_large_image">
画像サイズは1200 × 630pxが鉄板。主要SNSでほぼ同じサイズが適切に表示されます。毎回手動で作るのは非現実的なので、「タイトルからOG画像を自動生成」する仕組み(Next.jsのImageResponse、Vercel OG Image、CDN変換API)を組み込むと運用が一気に楽になります。
OG画像は自動生成。手動制作はボトルネック化してSNS流入の機会損失になります。
構造化データ(JSON-LD)
構造化データは、Googleが検索結果にリッチスニペット(星評価・価格・FAQ・イベント情報)を出すために必要なメタ情報です。<script type="application/ld+json"> に schema.org の語彙で書きます。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事タイトル",
"author": { "@type": "Person", "name": "著者" },
"datePublished": "2026-04-18"
}
</script>
代表例は Article / Product / FAQ / BreadcrumbList / Organization / Recipe。これらを入れると検索結果で視覚的に目立ち、CTRが一段上がります。
sitemap.xml と robots.txt
sitemap.xml と robots.txt は、検索エンジンに「どのページを読んでほしいか・読まないでほしいか」を伝えるファイルです。どちらもサイトルートに配置します。
| ファイル | 役割 |
|---|---|
| sitemap.xml | 全URL一覧・検索エンジンへのクロールヒント |
| robots.txt | クロール可否の指示・クロールの対象除外 |
# robots.txt
User-agent: *
Allow: /
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
Next.jsやAstroには自動生成プラグインがあります。手書きすると初回しか合わず、すぐ実態と乖離するので、プラグイン自動化が必須。手動運用は確実に破綻します。
sitemap/robotsはフレームワークの自動生成に任せる。手書きは地雷です。
URL設計
URLはSEO・UXの両面で重要です。人間が読んで意味が分かるURLが原則で、検索エンジンはURLに含まれる単語もランキング要素として利用しています。
✅ /blog/how-to-use-astro
✅ /products/thinkpad-x1-carbon
❌ /blog.php?id=42
❌ /products?itemId=sku123&var=x
設計原則は以下の通りです。
- 意味のある単語を含める(URLから内容が推測できる)
- 小文字・ハイフン区切り(アンダースコアよりハイフン)
- 日本語URLはエンコードされても許容だが、英数字が望ましい
- 階層は2〜3段まで(深すぎるとSEOもUXも不利)
URLは一度公開すると変更が難しい要素です。初期設計で時間をかける価値があります。やむを得ず変える時は301リダイレクトで旧URLから誘導します。
国際化(i18n)とSEO
多言語サイトでは、言語ごとのURL構成と hreflang の設計がSEOの成否を決めます。誤ると Google に同一コンテンツの重複と認識されてランキングが落ちます。
| 手法 | 例 | 特徴 |
|---|---|---|
| サブディレクトリ | /en/about /ja/about | 1ドメインで管理しやすい |
| サブドメイン | en.example.com / ja.example.com | 言語ごとに独立管理 |
| 別ドメイン | example.com / example.jp | 国別・ブランド別に分離 |
hreflang で言語ごとの対応関係を明示します。これがないと「同じ内容が複数ページにある」と誤認されます。
<link rel="alternate" hreflang="en" href="https://example.com/en">
<link rel="alternate" hreflang="ja" href="https://example.com/ja">
本プロジェクト(senkohome.com)はサブドメイン方式(senkohome.com / en.senkohome.com)を採用しています。
Core Web Vitals
Core Web Vitals はGoogleが定めた体感速度の3指標で、検索順位に直接影響します。計測ツール(PageSpeed Insights / Lighthouse / Search Console)で定期確認する運用が必要です。
| 指標 | 意味 | 目標 |
|---|---|---|
| LCP(Largest Contentful Paint) | 最大コンテンツ描画までの時間 | < 2.5秒 |
| INP(Interaction to Next Paint) | インタラクション応答性 | < 200ms |
| CLS(Cumulative Layout Shift) | レイアウトのずれ | < 0.1 |
改善策は、画像最適化(WebP/AVIF)、フォント最適化(preload / subset)、JSバンドル削減(コード分割・不要依存削除)、画像サイズ属性指定でCLS防止。1回やって終わりではなく継続監視する運用が前提です。
Google Search Consoleで実測データが拾えます。定期チェックを運用に組み込みます。
筆者メモ — 「titleが全ページ同じ」だけで沈んだ事例
ある小規模メディアでは、200記事以上の <title> がサイト名のみで統一されていた、という話が語られています。Search Consoleで確認するとインデックスされているのは10数記事だけ。記事ごとの識別情報がなく、Googleから重複ページ扱いされていたわけです。
各記事に固有のtitle / descriptionを入れ直し、canonicalの設定を整えたところ、数ヶ月で検索流入が10倍以上に伸びたと言います。逆に言えば、それまで「基礎の基礎を落としているだけで9割以上の流入機会を失っていた」ということです。
筆者も個人ブログで似たミスをしたことがあり、Astroの <SEO> コンポーネントでページごとの固有メタデータを入れ始めた翌月から、明らかにクリック率が変わった経験があります。SEOはどちらも「見えないところで評価されている」領域。手を抜いた分だけ、静かに損失が積み上がります。数値で追えば、曖昧な議論が消えて改善サイクルが回ります。
SEOは「雰囲気」で戦わない。計測と固有メタデータが9割です。
SEOの数値Gate
※ 2026年4月時点の業界相場値です。テクノロジー・人材市場の変化で陳腐化するため、定期的にアップデートが必要です。
SEOは測定可能。数値で追うことで、曖昧な議論が消えます。以下が業界標準の目標値です。
| 指標 | 推奨値 | 確認ツール |
|---|---|---|
| Lighthouse Performance | 90点以上 | Lighthouse / PageSpeed Insights |
| Lighthouse SEO | 90点以上 | Lighthouse |
| Lighthouse Accessibility | 90点以上 | Lighthouse / axe-core |
| LCP | < 2.5秒 | PageSpeed Insights |
| INP | < 200ms | Search Console |
| CLS | < 0.1 | PageSpeed Insights |
| 画像alt属性 | 100% 設定 | axe-core |
| 構造化データエラー | 0件 | Google Rich Results Test |
| title / descriptionのユニーク率 | 100% | Search Console カバレッジ |
| canonicalタグ設定率 | 100% | Search Console |
「Lighthouse で SEO 90点を下回るページが残っている状態」は、基礎の抜け漏れがある証拠です。ページごとに固有のtitle / description / canonicalが揃っているか、週次でSearch Consoleを眺める運用で担保します。
Lighthouse / Search Console で毎週計測。数値で追うのが現代の運用です。
やってはいけないこと
SEOで事故る典型を整理します。どれも検索流入激減の原因です。
| 禁じ手 | なぜダメか |
|---|---|
| 全ページ同じtitle / description | Google が「重複」と判定しインデックス大幅減。記事ごとに固有必須 |
| canonicalタグ未設定 | 末尾スラッシュあり/なしで別ページ扱い、SEO評価が分散 |
| CSRのみでSEO必須サイトを構築 | GoogleクローラーのJS実行が数日〜数週間遅延 |
sitemap.xml を手書き | 実態と乖離。フレームワークの自動生成必須 |
| OG画像を毎回手動制作 | ボトルネック化。自動生成(Vercel OG Image等)へ |
| 構造化データなし | リッチスニペット機会損失。Article / FAQ / BreadcrumbListは最低ライン |
alt 属性を空のまま公開 | アクセシビリティ違反 + SEO減点。画像は全て意味あるaltを |
URLにクエリパラメータで可変(?id=42) | 人間可読でなくSEO評価も下がる。パスベースに設計 |
| i18nでhreflang未設定 | 重複コンテンツ扱い。言語ごとの対応を明示 |
| 301リダイレクトなしでURL変更 | SEO評価がリセット。変更時は必ず301で旧URLを誘導 |
| AI量産コンテンツだけに依存 | GoogleはAI量産を評価しない方針。一次情報・E-E-A-Tがないと逆効果 |
| Core Web Vitalsの計測を運用に入れない | 悪化に気づかず検索順位がじわじわ下がる。週次計測が基本 |
「コンテンツが良くても設定が甘いと検索に届きません」逆に、E-E-A-T(専門性・経験・権威性・信頼性)が強いサイトは、AI量産コンテンツが溢れる時代にこそ相対的な価値が上がります。
SEOは基礎の抜け漏れで9割沈む。テクニックより固有メタデータと計測です。
AI判断軸
| AI時代に有利 | AI時代に不利 |
|---|---|
| Next.js metadata API / Astro SEO(規約化) | 手書きmetaタグの散在 |
| 構造化データ(JSON-LD)の自動生成 | 構造化データなし |
| 一次情報・独自体験に基づくコンテンツ | AI生成のみの量産記事 |
| Search Consoleの実測ループ | 勘と雰囲気でのSEO判断 |
- SSG / SSRを基本(SEOを本気で狙うならCSRは不利)
- メタデータ・構造化データはフレームワーク標準(Next.js metadata API / Astro SEO)
- Core Web Vitalsを週次計測(Lighthouse / Search Consoleで数値を追う)
- 一次情報とE-E-A-Tを人間が担保(AI量産に依存しない)
SEOのメタデータ生成はAIが正確にこなせる
title・description・OGタグ・JSON-LD構造化データの生成は、AIの得意領域です。Next.jsのmetadata APIやAstroのSEOコンポーネントに沿った形式で書かせれば、構文エラーなく正確なメタデータが出力されます。ただし、SEOの中核である「コンテンツの質・独自性・E-E-A-T」は人間が担保する領域です。
AI量産記事とSEOの関係
2024年以降、GoogleはAI生成コンテンツを「作成方法」ではなく「品質」で評価する方針を明確にしています。しかし、一次情報や独自体験に基づかないAI量産記事は、他の量産記事と差別化できずランキングが上がりません。SEOを意識する場合、AIは構造・メタデータ・技術的SEOの最適化に使い、コンテンツの独自性は人間が担保する分業が有効です。
決めるべきこと — 自分のプロジェクトでの答えは?
以下の項目について、自分のプロジェクトの答えを1〜2文で言語化してみてください。曖昧なまま着手すると、必ず後から「なぜそう決めたんだっけ」が問われます。
- レンダリング方式(SEO観点)
- メタデータ標準(title/description/OG)
- sitemap / robotsの生成方法(自動プラグイン)
- 構造化データの採用範囲
- URL設計規約
- i18n方式(サブディレクトリ / サブドメイン / 別ドメイン)
- Core Web Vitalsの計測ループ(週次 Lighthouse)
フロントのセキュリティ設定(CSP・依存監視など)は前回記事「認証認可」とセキュリティ章を参照してください。
この記事に関連する記事
https://senkohome.com/arch-intro-frontend-rendering/ https://senkohome.com/arch-intro-frontend-auth/ https://senkohome.com/arch-intro-frontend-bff/
まとめ
本記事はSEOについて、レンダリング方式・メタタグ・OG画像自動生成・構造化データ・sitemap・URL設計・i18n・Core Web Vitalsまで含めて解説しました。如何だったでしょうか。
SEOは初期設計でほぼ決まる。SSG/SSRを基本に、フレームワーク標準で機械的な部分を自動化し、独自性は人間が担保する。これが2026年のフロントSEO設計の現実解です。
次回からは新しいカテゴリ(データアーキテクチャ)の解説に入ります。
シリーズ目次に戻る → 『生成AI時代のアーキテクチャ超入門』の歩き方
それでは次の記事も閲覧いただけると幸いです。
📚 シリーズ:生成AI時代のアーキテクチャ超入門(38/89)