seo-ecommerce について
seo-ecommerceは、商品ページのSEO、マーケットプレイスの商品掲載、価格を分析するスキルです。DataForSEO不要のページ・スキーマ検査に加え、DataForSEO Merchant APIでGoogle ShoppingやAmazonのデータも調査できます。
主な機能
- 01商品ページSEOチェックリスト
- 02Productスキーマの検証と拡充
- 03Google Shoppingの販売者・価格分析
- 04Google ShoppingとAmazonの比較
- 05自然検索とShoppingのキーワード差分分析
活用シーン
- 01商品ページのSEO要素を監査
- 02Productスキーマを検証・改善
- 03マーケットプレイスの価格と販売者を比較
- 04自然検索とShoppingの露出差を特定
MCP 対応
マーケットプレイス調査の多くはMCPツールではなくDataForSEO Merchant APIスクリプトを利用します。また、seo-dataforseoで自然検索のキーワード順位を取得します。商品ページとスキーマの検査はDataForSEOなしで実行できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agricidaniel/ claude-seo --skill seo-ecommerceインストール後、Claude Code で/seo-ecommerceを入力して読み込まれたか確認します。
同梱ファイルreferences/marketplace-endpoints.mdreferences/ucp-universal-commerce-protocol.md
詳細
Eコマース SEO 分析
包括的な商品ページ最適化、マーケットプレイスのインテリジェンス、競合価格分析を行います。単独(オンページ SEO + スキーマ)で動作し、DataForSEO Merchant API と組み合わせると、Google Shopping と Amazon のライブデータを利用できます。
コマンド
| コマンド | 目的 | DataForSEO が必要? |
|---|---|---|
/seo ecommerce <url> | 商品ページまたはストアの Eコマース SEO を総合的に分析します | 任意 |
/seo ecommerce products <keyword> | Google Shopping の競合分析 | 必須 |
/seo ecommerce gaps <domain> | キーワードギャップ:オーガニック検索と Shopping の表示状況 | 必須 |
/seo ecommerce schema <url> | 商品スキーマの検証と拡充 | いいえ |
1. 商品ページ分析(DataForSEO 不要)
任意の商品ページを取得・解析し、オンページ SEO の品質を評価します。
ワークフロー
1. "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <url> --mode auto → raw/rendered HTML
2. "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py --url <url> → SEO elements
3. Analyze product-specific signals (below)
商品 SEO チェックリスト
タイトルタグ
- 主要な商品キーワードを含める
- ブランド名を含める
- 60 文字未満にする(SERP で省略されません)
- 形式:
[Product Name] - [Key Feature] | [Brand]
メタディスクリプション
- 商品キーワードとメリットを含める
- 価格または「$XX から」を含める(リッチスニペットへの関心を高めます)
- 行動喚起を含める(今すぐ購入、購入、送料無料)
- 155 文字未満にする
見出し構成
- 商品の主要名称と一致する H1 を 1 つだけ配置する
- 次の項目に H2 を使用する:特長、仕様、レビュー、関連商品
- 商品バリエーション間で H1 タグを重複させない
商品画像
- 代替テキストに商品名と識別できる特長を含める
- ファイル名を内容が分かるものにする(
IMG_001.jpgのような名前は避ける) - WebP 形式で配信する(JPEG フォールバック付き)
- 商品ごとに画像を 3 枚以上用意する(メイン、詳細、ライフスタイル)
- 高解像度画像を使用する:Google はマーチャント リスティングで少なくとも 50K ピクセル(幅 × 高さ)を推奨しています。より大きな画像(例:800px 以上)は一般的な慣行であり、必須ルールではありません
- 遅延読み込みはスクロールせずに見える範囲より下の画像にのみ適用する
内部リンク
- パンくずナビゲーションを設置する:ホーム > カテゴリ > サブカテゴリ > 商品
- 関連商品セクションを設ける(クロスセル/アップセル)
- キーワードを含むアンカーテキストでカテゴリページに戻るリンクを設置する
- レビューセクションからレビュー全体のページにリンクする(別ページの場合)
コンテンツの品質
- 商品説明を独自に作成する(メーカーの説明文をコピー&ペーストしない)
- 商品説明本文を 200 語以上にする
- 説明文だけでなく、仕様表を用意する
- ページ上にユーザーレビューを掲載する(UGC シグナル)
スコアリング
| カテゴリ | 配点 | 基準 |
|---|---|---|
| スキーマの網羅性 | 25% | 必須および推奨される Product フィールド |
| タイトルとメタ | 15% | キーワードの配置、長さ、形式 |
| 画像の最適化 | 20% | 代替テキスト、形式、サイズ、枚数 |
| コンテンツの品質 | 20% | 独自の説明文、仕様、レビュー |
| 内部リンク | 10% | パンくず、関連商品、カテゴリ |
| 技術面 | 10% | ページ速度、モバイルでの表示、canonical |
2. Google Shopping インテリジェンス(DataForSEO Merchant API)
Google Shopping の検索結果を基に、競合をリアルタイムで分析します。
コストのガードレール(必須)
Merchant API を呼び出す前に、毎回必ず次を実行します:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_costs.py check merchant_google_products_search
"status": "approved"-- 続行します"status": "needs_approval"-- コストを提示して、ユーザーに確認します"status": "blocked"-- 停止し、ユーザーに伝えます
呼び出しのたびに、次を実行します:
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_costs.py log merchant_google_products_search <cost>
ワークフロー
# Product search: who sells what at what price
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py search "<keyword>" --marketplace google
# Seller analysis: merchant ratings and dominance
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py sellers "<keyword>"
# Normalize results for analysis
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_normalize.py results.json --module merchant
分析結果
価格インテリジェンス
- 価格分布:最小値、最大値、中央値、P25、P75
- 価格の外れ値(中央値から標準偏差 2 を超える値)
- 価格と評価の相関
- USD(またはユーザー指定通貨)への通貨換算
販売者の状況
- リスティング数上位 10 販売者
- 販売者評価の分布
- 送料無料の割合
- 新規販売者と既存販売者
商品リスティングの品質
- 上位リスティングにおけるタイトルのキーワードパターン
- 平均評価とレビュー数のベンチマーク
- リスティングごとの画像枚数
- 在庫状況の分布
API パラメーターの詳細については、references/marketplace-endpoints.md を読み込んでください。
3. Amazon マーケットプレイス(DataForSEO)
Google Shopping と Amazon を比較する、マーケットプレイス横断型のインテリジェンスです。
コストガードレール(必須)
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_costs.py check merchant_amazon_products_search
Amazon のエンドポイントは warn_endpoints セットに含まれており、常にユーザーの承認が必要です。
ワークフロー
# Amazon product search
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py search "<keyword>" --marketplace amazon
# Cross-marketplace comparison
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py compare "<keyword>"
マーケットプレイス横断レポート
| 指標 | Google Shopping | Amazon |
|---|---|---|
| 平均価格 | $ | $ |
| 評価の中央値 | X.X | X.X |
| 平均レビュー数 | N | N |
| 上位販売者のシェア | % | % |
| 送料無料の割合 | % | % |
4. マーケットプレイスのキーワードギャップ
オーガニック検索とショッピングでの可視性の不一致を特定します。
ワークフロー
- seo-dataforseo を使用してオーガニック検索順位を取得します:
ドメインに対して
dataforseo_labs_google_ranked_keywordsを実行します - Merchant REST スクリプト(MCP ツールではありません。コスト台帳のキーは
merchant_google_products_searchです)を通じて Google Shopping への掲載状況を取得します: オーガニック検索上位のキーワードに対して"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py search <keyword>を実行します - 結果を照合します
ギャップの種類
| ギャップの種類 | 意味 | 対応 |
|---|---|---|
| オーガニックのみ | オーガニック検索ではランクインしているものの、ショッピング広告には掲載されていません | Google Merchant Center のフィードを作成し、これらのキーワードに入札します |
| ショッピングのみ | ショッピングでの可視性はあるものの、オーガニック検索では弱い、またはランクインしていません | これらのキーワードに関するコンテンツ(購入ガイド、比較ページ)を作成します |
| 両方に掲載 | 両方のチャネルで表示されています | 最適化します:価格の一貫性を確保し、スキーマを強化します |
| どちらにも掲載なし | どちらにも表示されていません | 検索ボリュームが多い場合を除き、優先度は低くします |
出力形式
## Keyword Gap Analysis: example.com
### Opportunities: Organic → Shopping (12 keywords)
| Keyword | Organic Pos | Volume | CPC | Recommended Action |
|---------|------------|--------|-----|-------------------|
### Opportunities: Shopping → Organic (8 keywords)
| Keyword | Shopping Rank | Volume | CPC | Content Type Needed |
|---------|-------------|--------|-----|-------------------|
5. Product スキーマの強化
Google の最新要件に従って Product スキーマを検証し、生成します。
確認済みの必須プロパティ(Google Merchant)
確認済みの必須フィールドは name、image、offers です。マーチャントリスティングでは AggregateOffer ではなく Offer を使用します。マーチャントリスティングでは、0 より大きい price が必要です。また、price を設定する場合は priceCurrency も必要です。
{
"@context": "https://schema.org",
"@type": "Product",
"name": "",
"image": [""],
"offers": {
"@type": "Offer",
"url": "",
"priceCurrency": "USD",
"price": "49.00",
"availability": "https://schema.org/InStock"
}
}
推奨プロパティ(リッチリザルトの強化)
sku-- 商品識別子description、brand、offers.seller-- コンテキスト情報として推奨されるフィールドgtin13/gtin14/mpn-- 国際取引商品識別番号aggregateRating-- 星評価とレビュー数review-- 個別のレビュー(最低 1 件)color、material、size-- バリエーション属性shippingDetails-- 料金と配送時間を含む ShippingDetails(販売者レベルの送料はShippingServiceでも設定できます。送料や返品条件は Merchant Center アカウントがなくても Search Console で設定できます)hasMerchantReturnPolicy-- タイプと日数を含む MerchantReturnPolicyhasAdultConsideration-- 成人向け商品の場合は必須(2026-05-20 に Product variant / Merchant listing に追加)。Google 検索がサポートする値はhttps://schema.org/SexualContentConsiderationのみですcategory--Text、CategoryCode、または両者を組み合わせた配列。販売者が定義する商品タイプにはカスタムテキストを使用し、Google 商品カテゴリには Google の分類 URL とcodeValueを指定したCategoryCodeを使用します。
検証ルール
priceは数値の文字列にする必要があります。"$29.99" のように通貨記号を含めないでください。availabilityには Schema.org の完全な URL 列挙値を使用する必要があります。imageは高解像度画像の URL を 1 件以上含む配列にしてください。priceCurrencyには ISO 4217(USD、EUR、GBP)を使用する必要があります。brandがある場合、brand.nameは空欄や "N/A" にしてはいけません。- セール期間には
validFromと、validThroughまたはpriceValidUntilのいずれかを ISO 8601 形式で指定します。時刻とタイムゾーンがわかる場合は含めてください。 aggregateRatingがある場合は、ratingValueとreviewCountが必要です(マーチャントリスティングのドキュメントではreviewCountが記載されており、レビュー スニペットのドキュメントではratingCountも使用できます)。- 表示コンテンツや構造化データに、偽のレビューや、インセンティブを受けたことを開示していないレビューを含めないでください。インセンティブについては明確かつ目立つ形で開示してください。
スキーマのスコアリング
| 完全性 | スコア |
|---|---|
| すべての必須フィールド | 50/100 |
| + aggregateRating | 65/100 |
| + sku/gtin/mpn | 75/100 |
| + shippingDetails | 85/100 |
| + merchantReturnPolicy | 90/100 |
| + レビュー(3 件以上) | 100/100 |
スキル間の連携
| スキル | 連携ポイント |
|---|---|
| seo-schema | Product スキーマの生成を委任し、検証ロジックを再利用します |
| seo-images | 商品画像を監査します(代替テキスト、形式、寸法)。さらに、AI 生成商品画像には DigitalSourceType: TrainedAlgorithmicMedia IPTC ラベルを付与します(Merchant Center の要件) |
| seo-content | 商品説明の E-E-A-T と独自性を分析します |
| seo-dataforseo | ギャップ分析用にオーガニック検索キーワードの順位を取得します |
| seo-technical | 商品ページの Core Web Vitals(ヒーロー画像の LCP)を確認します |
| seo-hreflang | 地域固有の結果ユニット:EEA では、商品や(2026-09-18 以降)ローカルビジネスの検索クエリに、アグリゲーターとサプライヤーのユニットが表示される場合があります。EEA、南アフリカ、トルコでは構造化データのカルーセルも表示されますが、それぞれに独自の表示要件があります(2026-09-08 に記録) |
| seo-google | 商品 URL の GSC インデックス登録状況とパフォーマンスデータを確認します(Merchant Center フィードの検証は対象外です。これは Merchant Center/Merchant API で行います。レガシーの Content API for Shopping は 2026-08-18 に終了します) |
UCP:Universal Commerce Protocol(提供中)
Google が主導するオープン標準です(Shopify、Etsy、Wayfair、
Target、Walmart と共同開発。決済パートナーは Visa/Mastercard/Stripe/Adyen/Amex)。AI エージェントが個別の連携を必要とせずに、マーチャントを発見し、交渉し、取引できるようにします。Google は、Search の AI Mode における対話型購入向けの最初のリファレンス実装を確認しています。Universal Cart のより広範な展開に関する詳細は、Google I/O 2026 の基調講演報道で伝えられていますが、Google 所有の情報源では確認されていません。ucp.dev では、日付ベースのバージョン管理方式による最新の仕様リリースとして 2026-08-25 が掲載されています(Google のマーチャントガイドでは、引き続き 2026-04-08 と記載されています)。1.0 ではありません。連携方法は Native(デフォルト)と Embedded(承認済みマーチャント)の 2 種類です。AP2 と組み合わせて使用します(FIDO のガバナンスに移行中と報じられています)。公式情報源は developers.google.com/merchant/ucp と ucp.dev です。
Google Merchant Center をすでに利用しており、適切な Product スキーマを備えたマーチャントは、/.well-known/ucp で UCP プロファイルを宣言し、機能(dev.ucp.shopping.checkout、.fulfillment、.discount)を一覧表示できます。監査基準、機能の例、AP2(Agent Payments Protocol)との関係については、references/ucp-universal-commerce-protocol.md を参照してください。
監査コマンド
# Discover and validate the UCP profile
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run ucp_check.py https://store.example.com --json
# With endpoint reachability probes (HEAD each declared capability)
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run ucp_check.py https://store.example.com --probe-endpoints --json
スクリプトは、プロファイルの有無、バージョン、宣言された機能、構造上の問題(必須フィールドの欠落、不明な機能 ID)を返します。また、--probe-endpoints を指定すると、エンドポイントごとの到達可能性も返します。SSRF によりブロックされたエンドポイントは明示的に報告されます。プロファイルの欠落は失敗ではなく、機会として報告されます。UCP 自体は提供中であり、まだ初期段階なのはマーチャントへの広範な普及です。"version": "1.0" という値が文字どおり指定されている場合は、無効として報告してください(UCP のバージョンは 2026-04-08 のような日付ベースです)。
エラー処理
| エラー | 原因 | 対応 |
|---|---|---|
| Product スキーマが見つからない | ページに JSON-LD がない | ページのコンテンツを分析し、推奨スキーマを生成します |
| DataForSEO の認証情報がない | 環境変数が設定されていない | マーケットプレイスデータなしで分析を実行し、制約事項を明記します |
| コストチェックでブロックされた | 1 日の予算を超過した | ユーザーに通知し、無料の分析のみを提案します |
| Shopping の結果が空 | キーワードに該当する商品がない | より広いキーワードを提案し、地域設定を確認します |
| Amazon API のタイムアウト | ネットワーク/レート制限 | バックオフを入れて再試行し、Google のみを使用する方式に切り替えます |
| URL が無効 | 入力形式が正しくない | google_auth.validate_url() で検証し、エラーを表示します |
| 商品ページではない | URL がカテゴリページ/ホームページ | ストアレベルのチェック(UCP プロファイル、カテゴリ構造、フィード)を実行し、商品レベルのチェック用に商品 URL をユーザーに尋ねます |
出力テンプレート
## E-commerce SEO Report: [URL or Keyword]
### Overall Score: XX/100
### Product Page SEO
- Schema Completeness: XX/100
- Title & Meta: XX/100
- Image Optimization: XX/100
- Content Quality: XX/100
- Internal Linking: XX/100
### Marketplace Intelligence (if DataForSEO available)
- Google Shopping Listings: N products found
- Price Range: $XX - $XX (median: $XX)
- Top Seller: [name] (XX% market share)
- Amazon Comparison: [available/not checked]
### Top Recommendations
1. [Critical] ...
2. [High] ...
3. [Medium] ...
Generate a PDF report? Use `/seo google report`