seo について
Webサイト開発者やマーケター向けのSEOスキルです。Lighthouse監査とGoogle検索ガイドラインをもとに、テクニカルSEO、ページ内最適化、構造化データを扱います。
主な機能
- 01クロールとインデックス設定
- 02タイトル・説明文・ページ構造の最適化
- 03構造化データのマークアップ
- 04モバイルSEOと国際SEO
- 05SEO監査チェックリスト
活用シーン
- 01テクニカルSEOの問題確認
- 02ページタイトルと構造の改善
- 03ページへの構造化データ追加
- 04公開前SEOチェックの計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill seoインストール後、Claude Code で/seoを入力して読み込まれたか確認します。
詳細
SEO 最適化
Lighthouse の SEO 監査と Google 検索ガイドラインに基づく検索エンジン最適化です。テクニカル SEO、オンページ最適化、構造化データに重点を置いています。
SEO の基礎
検索ランキング要因(おおよその影響度):
| 要因 | 影響度 | このスキルの対象 |
|---|---|---|
| コンテンツの品質と関連性 | 約 40% | 一部(構造) |
| 被リンクと権威性 | 約 25% | ✗ |
| テクニカル SEO | 約 15% | ✓ |
| ページエクスペリエンス(Core Web Vitals) | 約 10% | Core Web Vitals を参照 |
| オンページ SEO | 約 10% | ✓ |
テクニカル SEO
クロール可能性
robots.txt:
# /robots.txt
User-agent: *
Allow: /
# Block admin/private areas
Disallow: /admin/
Disallow: /api/
Disallow: /private/
# Don't block resources needed for rendering
# ❌ Disallow: /static/
Sitemap: https://example.com/sitemap.xml
メタ robots:
<meta name="robots" content="index, follow">
<meta name="robots" content="noindex, nofollow">
<meta name="robots" content="index, nofollow">
<meta name="robots" content="max-snippet:150, max-image-preview:large">
正規 URL:
<link rel="canonical" href="https://example.com/page">
<link rel="canonical" href="https://example.com/current-page">
<link rel="canonical" href="https://example.com/products">
XML サイトマップ
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2024-01-15</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/products</loc>
<lastmod>2024-01-14</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
サイトマップのベストプラクティス:
- サイトマップ 1 つあたり最大 50,000 URL または 50MB
- 大規模サイトではサイトマップインデックスを使用する
- 正規かつインデックス可能な URL のみを含める
- コンテンツが変更されたら
lastmodを更新する - Google Search Console に送信する
URL 構造
✅ Good URLs:
https://example.com/products/blue-widget
https://example.com/blog/how-to-use-widgets
❌ Poor URLs:
https://example.com/p?id=12345
https://example.com/products/item/category/subcategory/blue-widget-2024-sale-discount
URL のガイドライン:
- アンダースコアではなくハイフンを使用する
- 小文字のみを使用する
- 短く保つ(75 文字未満)
- 対象キーワードを自然に含める
- 可能な場合はパラメータを避ける
- 常に HTTPS を使用する
HTTPS とセキュリティ
<img src="https://example.com/image.jpg">
<img src="http://example.com/image.jpg">
SEO の信頼シグナルのためのセキュリティヘッダー:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
オンページ SEO
タイトルタグ
<title>Page</title>
<title>Home</title>
<title>Blue Widgets for Sale | Premium Quality | Example Store</title>
タイトルタグのガイドライン:
- 50〜60 文字(Google は約 60 文字で切り詰める)
- 主要キーワードを先頭付近に置く
- すべてのページで一意にする
- ブランド名は末尾に置く(トップページを除く)
- 適切な場合は行動を促す表現にする
メタディスクリプション
<meta name="description" content="">
<meta name="description" content="Shop premium blue widgets with free shipping. 30-day returns. Rated 4.9/5 by 10,000+ customers. Order today and save 20%.">
メタディスクリプションのガイドライン:
- 150〜160 文字
- 主要キーワードを自然に含める
- 魅力的な行動喚起を入れる
- すべてのページで一意にする
- ページの内容と一致させる
見出し構造
<h2>Welcome to Our Store</h2>
<h4>Products</h4>
<h1>Contact Us</h1>
<h1>Blue Widgets - Premium Quality</h1>
<h2>Product Features</h2>
<h3>Durability</h3>
<h3>Design</h3>
<h2>Customer Reviews</h2>
<h2>Pricing</h2>
見出しのガイドライン:
- ページごとに
<h1>は 1 つだけにする(主題) - 論理的な階層を保つ(レベルを飛ばさない)
- キーワードを自然に含める
- 汎用的ではなく、内容を説明する見出しにする
画像 SEO
<img src="IMG_12345.jpg">
<img src="blue-widget-product-photo.webp"
alt="Blue widget with chrome finish, side view showing control panel"
width="800"
height="600"
loading="lazy">
画像のガイドライン:
- キーワードを含む、内容を説明するファイル名を付ける
- 代替テキストで画像の内容を説明する
- 圧縮し、適切なサイズにする
- WebP/AVIF を使用し、フォールバックを用意する
- 画面外(ファーストビュー外)の画像は遅延読み込みする
内部リンク
<a href="/products">Click here</a>
<a href="/widgets">Read more</a>
<a href="/products/blue-widgets">Browse our blue widget collection</a>
<a href="/guides/widget-maintenance">Learn how to maintain your widgets</a>
リンクのガイドライン:
- キーワードを含む、内容を説明するアンカーテキストを使用する
- 関連する内部ページへリンクする
- ページあたりのリンク数は適度にする
- リンク切れは速やかに修正する
- 階層を示すためにパンくずリストを使用する
構造化データ(JSON-LD)
組織
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Company",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"sameAs": [
"https://twitter.com/example",
"https://linkedin.com/company/example"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-555-123-4567",
"contactType": "customer service"
}
}
</script>
記事
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Choose the Right Widget",
"description": "Complete guide to selecting widgets for your needs.",
"image": "https://example.com/article-image.jpg",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://example.com/authors/jane-smith"
},
"publisher": {
"@type": "Organization",
"name": "Example Blog",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"datePublished": "2024-01-15",
"dateModified": "2024-01-20"
}
</script>
製品
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Blue Widget Pro",
"image": "https://example.com/blue-widget.jpg",
"description": "Premium blue widget with advanced features.",
"brand": {
"@type": "Brand",
"name": "WidgetCo"
},
"offers": {
"@type": "Offer",
"price": "49.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/products/blue-widget"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "1250"
}
}
</script>
FAQ
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What colors are available?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Our widgets come in blue, red, and green."
}
},
{
"@type": "Question",
"name": "What is the warranty?",
"acceptedAnswer": {
"@type": "Answer",
"text": "All widgets include a 2-year warranty."
}
}
]
}
</script>
パンくずリスト
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Products",
"item": "https://example.com/products"
},
{
"@type": "ListItem",
"position": 3,
"name": "Blue Widgets",
"item": "https://example.com/products/blue-widgets"
}
]
}
</script>
検証
構造化データは以下でテストできます:
モバイル SEO
レスポンシブデザイン
<meta name="viewport" content="width=1024">
<meta name="viewport" content="width=device-width, initial-scale=1">
タップターゲット
/* ❌ Too small for mobile */
.small-link {
padding: 4px;
font-size: 12px;
}
/* ✅ Adequate tap target */
.mobile-friendly-link {
padding: 12px;
font-size: 16px;
min-height: 48px;
min-width: 48px;
}
フォントサイズ
/* ❌ Too small on mobile */
body {
font-size: 10px;
}
/* ✅ Readable without zooming */
body {
font-size: 16px;
line-height: 1.5;
}
国際 SEO
hreflang タグ
<link rel="alternate" hreflang="en" href="https://example.com/page">
<link rel="alternate" hreflang="es" href="https://example.com/es/page">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page">
<link rel="alternate" hreflang="x-default" href="https://example.com/page">
言語の宣言
<html lang="en">
<html lang="es-MX">
SEO 監査チェックリスト
重大
- HTTPS が有効になっている
- robots.txt でクロールが許可されている
- 重要なページに
noindexが設定されていない - タイトルタグが存在し、一意である
- ページごとに
<h1>が 1 つだけである
優先度が高い
- メタディスクリプションが存在する
- サイトマップを送信している
- 正規 URL が設定されている
- モバイル対応している
- Core Web Vitals に合格している
優先度中
- 構造化データを実装している
- 内部リンク戦略がある
- 画像の代替テキストがある
- 内容を説明する URL になっている
- パンくずナビゲーションがある
継続的に行うこと
- Search Console のクロールエラーを修正する
- コンテンツ変更時にサイトマップを更新する
- 検索順位の変動を監視する
- リンク切れがないか確認する
- Search Console のインサイトを確認する
ツール
| ツール | 用途 |
|---|---|
| Google Search Console | インデックス状況の監視、問題の修正 |
| Google PageSpeed Insights | パフォーマンスと Core Web Vitals |
| Rich Results Test | 構造化データの検証 |
| Lighthouse | 包括的な SEO 監査 |
| Screaming Frog | クロール分析 |
References
コメント
Markdown 対応