Insights / 技術解説
Astroサイトに構造化データとOGPを実装するSEO改善ガイド
Astro + Cloudflare Pages 構成のサイトに JSON-LD 構造化データ・OGP・サイトマップ・RSSを正しく実装した手順をまとめました。Google のリッチリザルト対応からRSSフィードの最適化まで、実践的な SEO 改善を紹介します。

実装した構造化データ
Organization
会社名・URL・ロゴ・連絡先を検索結果に表示。
BlogPosting
著者・公開日・更新日・画像で記事のリッチリザルト対応。
BreadcrumbList
全ページの階層構造をパンくずリストとして出力。
FAQPage
FAQの内容を機械可読にする。GoogleのFAQリッチリザルトは一般サイトでは通常表示されない。
WebPage / ContactPage
トップページとお問い合わせページに専用の型を付与。
SearchAction
Googleのサイト内検索ボックスは2024年に終了。サイト内検索の導線はサイト内で提供する。
この記事の目次
AstroのSEO実装は、代表記事の生成HTMLでtitle・description・canonicalと、画面に見える内容に一致するJSON-LDを確認するところから始めます。Google: Structured Dataに沿って必要項目を検証し、公開後はSearch Consoleで確認してください。構文が正しくても、リッチリザルト表示や検索順位は保証されません。
2026年9月追記: Googleは2024年11月に検索結果のサイト内検索ボックスを終了しました。FAQリッチリザルトは主に権威ある政府・医療サイトに限定されています。また、Googleはサイトマップの
changefreqとpriorityを使いません。以下の2026年3月の実装記録は、この検索ボックス変更、FAQ変更、サイトマップの説明を踏まえて読んでください。
はじめに
SEO対策というと「キーワードを詰め込む」イメージがあるかもしれませんが、現代のSEOは 検索エンジンにサイトの構造と内容を正確に伝える ことが本質です。
この記事では、Astroサイトに実装すべきSEOの施策を4つのカテゴリに分けて解説します。いずれも一度設定すれば継続的に効果を発揮するものばかりです。
表示速度やアクセシビリティまで含めた改善の全体像は、Astroサイトの品質改善ガイドを参照してください。
OGP・メタタグの設定
SNSでシェアされたときの見た目と、検索エンジンへの情報伝達を担うのがOGPとメタタグです。
基本のメタタグ
Astro のレイアウトコンポーネントで、ページごとに以下を出力します。
og:title/og:description/og:image― SNSシェア時のタイトル・説明・画像twitter:card=summary_large_image― X(Twitter)で大きな画像カードを表示rel="canonical"― 重複ページの正規URLを指定rel="prev"/rel="next"― ページネーションの前後関係を明示
ブログ記事向けのメタタグ
記事ページには追加で以下を設定します。
article:published_time/article:modified_time― 公開日と更新日article:tag― 記事のタグ情報article:section― コンテンツカテゴリ
実装のポイント
レイアウトコンポーネントにpropsとして title / description / image を受け取り、各ページから渡す構成にすると、全ページで一貫したメタタグを出力できます。ホームページの og:title は「ホーム」ではなく、サイト名とキャッチコピーを含む具体的なタイトルにしましょう。
構造化データ(JSON-LD)の実装
構造化データは、ページの内容を検索エンジンが機械的に理解するための仕組みです。正しく実装すると、検索結果にリッチリザルト(FAQ、パンくず、著者情報など)が表示される可能性があります。
Organization
会社情報をGoogleに伝えます。ナレッジパネルに表示される可能性があります。
{
"@type": "Organization",
"name": "Acecore",
"url": "https://acecore.net",
"logo": "https://acecore.net/logo.png",
"contactPoint": { "@type": "ContactPoint", "telephone": "..." }
}
会社概要ページには knowsAbout フィールドを追加し、事業領域を明示することもできます。
BlogPosting
ブログ記事には BlogPosting を設定します。著者・公開日・更新日・アイキャッチ画像を含めることで、Google Discover や検索結果で著者情報付きの表示が得られます。
BreadcrumbList
パンくずリストの構造化データは全ページに設定します。実装時の注意点として、中間パス(/blog/tags/ のような一覧ページ)が実際に存在するかどうかを確認し、存在しないパスには item プロパティを出力しないようにしましょう。
Product / Offer
商品ページを追加する場合は、商品そのものの Product と販売条件の Offer を分けて設計します。商品名・画像・説明は公開ページに一致させ、販売する商品は価格・通貨・購入先・在庫状態を実際の条件に揃えます。無料配布など販売価格を定義していないページに、推測した価格や Offer を付けません。検索表示のために架空の評価や在庫を作ることも避けます。
この補足は商品ページの追加設計に関するもので、2026年3月の全ページへの実装実績を意味しません。生成HTMLを検査し、Googleの商品構造化データの要件に沿って検証します。マークアップを追加しても、検索結果への表示や順位向上が保証されるわけではありません。
FAQPage
FAQをページに掲載する場合、内容と一致する FAQPage データを出力できます。ただしGoogleのFAQリッチリザルトは、主に権威ある政府・医療サイトが対象です。一般サイトでの表示を期待する施策として扱わないでください。
WebSite + SearchAction
Googleは2024年11月に検索結果のサイト内検索ボックスを終了しました。既存の SearchAction マークアップが残っていても、それ自体は検索エラーになりません。Pagefindなどのサイト内検索は、サイト内の導線として使えます。
サイトマップの最適化
Astro の @astrojs/sitemap プラグインを使えばサイトマップは自動生成されますが、デフォルト設定のままでは不十分です。
ページ種別ごとの設定
当時の serialize() 設定ではURL種別ごとに changefreq と priority を出力していました。以下の表はその実装記録です。Googleは両値を使わないため、順位向上を目的に設定する必要はありません。
| ページ種別 | changefreq | priority |
|---|---|---|
| トップページ | daily | 1.0 |
| ブログ記事 | weekly | 0.8 |
| その他 | monthly | 0.6 |
lastmod の設定
lastmod はページの実際の重要な更新日を表すときに使います。全ページへビルド日時を一律に入れて更新したように見せるのは避け、記事なら公開日や lastUpdated と整合させます。
RSSフィードの拡充
RSSは「設定して終わり」にしがちですが、フィードの品質を上げることでRSSリーダーでの表示が改善し、購読者の体験が向上します。
追加すべき情報
- author:記事ごとの著者名を含める
- categories:タグ情報をカテゴリとして追加し、RSSリーダーでの分類を改善
items: posts.map((post) => ({
title: post.data.title,
description: post.data.description,
link: `/blog/${post.id}/`,
pubDate: post.data.date,
author: post.data.author,
categories: post.data.tags,
}));
SEO改善のチェックリスト
最後に、AstroサイトのSEO改善で確認すべきポイントをまとめます。
- 全ページに canonical URL を設定しているか
- OGP画像は各ページに固有のものを用意しているか
- 構造化データのバリデーション:Google リッチリザルトテストで確認
- パンくずリストの中間パスが実在するURLか
- サイトマップに不要なページ(404など)が含まれていないか
- RSSフィードに著者・カテゴリが含まれているか
- robots.txt で検索インデックス(
/pagefind/など)をクロール除外しているか
これらは公開情報を検索エンジンへ正しく渡すための基盤です。検索順位は内容の質や更新頻度だけでは決まらず、設定完了も流入増加の証拠にはなりません。公開後の検索語、表示回数、クリック率を見て、読者の課題に答える内容を改善します。
この記事が含まれるシリーズ
この記事は「Astroサイトの品質改善ガイド」シリーズの一部です。パフォーマンス・アクセシビリティ・UXの改善についても個別の記事で紹介しています。
SEO改善の流れ
メタタグ整備
title・description・canonical・OGPを全ページに設定。
構造化データ
JSON-LDでページの意味をGoogleに伝える。
サイトマップ
サイトマップに正規URLを含め、実際の重要な更新日を確認する。
RSS
著者・カテゴリ情報を含む高品質なフィードを配信。
よくある質問
構造化データを追加するとすぐに検索結果が変わりますか?
いいえ。Googleがクロール・再インデックスするまでに数日〜数週間かかります。Google Search Consoleの「リッチリザルト」レポートで反映状況を確認できます。
OGPの画像サイズはどのくらいが適切ですか?
1200×630px が推奨です。X(Twitter)は summary_large_image で表示する場合、この比率が最適です。
サイトマップの priority は SEO に影響しますか?
Googleは `priority` と `changefreq` を使いません。根拠のない値をSEO上の効果として設定する必要はありません。