メインコンテンツへスキップ
kt-tech.blog
【設定・環境構築】SEO完全対策 — sitemap動的生成からAI検索対応まで
設定・環境構築
(更新: 2026/3/22)· 約4分で読めます

【設定・環境構築】SEO完全対策 — sitemap動的生成からAI検索対応まで

Share
📌
概要: ブログのSEOを全面的に改善。sitemap動的生成、robots.txt、JSON-LD構造化データ、RSSフィード、OGP動的生成、llms.txtによるAI検索対応、Search Console API連携まで。

はじめに

Search Consoleを確認したら、sitemapに記事URLが1件も含まれていなかった。TOPのog:titleが「TOPページ」という無意味なものだった。一つずつ改善した記録。

この記事でわかること

  • Next.js App Routerのsitemap.tsで動的sitemap生成

  • robots.tsでAIクローラー許可

  • JSON-LD構造化データの充実

  • Search Console APIでインデックス監視

  • llms.txtによるAI検索対応

対象読者

  • ブログのSEOを改善したい方

  • AI検索にヒットさせたい方

1. sitemapの問題と対策

next-sitemapはビルド時の静的ページしか拾わない。Edge Runtimeの動的ルートは対象外。App Router標準のsitemap.tsに置き換え:

// src/app/sitemap.ts
export default async function sitemap() {
  const { contents } = await getList();
  return [
    { url: siteUrl, priority: 1.0 },
    ...contents.map(blog => ({
      url: `${siteUrl}/blogs/${blog.id}`,
      lastModified: new Date(blog.updatedAt),
      priority: 0.8,
    })),
  ];
}

結果: 7件→61件のURLがsitemapに含まれるように。

2. robots.txtとAIクローラー

robots.ts/searchesをdisallow、AIクローラーを明示的にAllow:

rules: [
  { userAgent: '*', allow: '/', disallow: ['/searches'] },
  { userAgent: 'GPTBot', allow: '/' },
  { userAgent: 'ClaudeBot', allow: '/' },
  { userAgent: 'PerplexityBot', allow: '/' },
]

3. llms.txt

LLM向けのサイト説明ファイル。robots.txtのAI版:

# kt-tech.blog
> 実践的な技術記事とエンジニアリングの知見を発信
## Topics
- Next.js / React / TypeScript
- Cloudflare Pages / Workers
...

4. Search Console API連携

GCPサービスアカウントでSearch Console APIに接続。検索パフォーマンスとインデックス状況をAPI経由で取得。sitemapの再送信もAPIで実行。

5. CI/CDに組み込み

デプロイ後にGoogle/Bingにsitemap更新を自動通知:

- name: Notify search engines
  run: |
    curl -s "https://www.google.com/ping?sitemap=https://kt-tech.blog/sitemap.xml"
    curl -s "https://www.bing.com/ping?sitemap=https://kt-tech.blog/sitemap.xml"

Tips

  • next-sitemapはEdge Runtimeの動的ルートを拾わない。App Routerのsitemap.tsが正解

  • Indexing APIは一般ブログでは使えない(JobPosting専用)。sitemap再送信+Pingで対応

  • AIクローラーの許可は明示的に書く。デフォルトでブロックされるサイトが多い

参考リンク

まとめ

  • sitemapを7件→61件にURL数増加

  • AIクローラーを明示的に許可 + llms.txt追加

  • Search Console APIでインデックス状況を監視

  • デプロイ毎にGoogle/Bingに自動通知

この記事が役に立ったら共有しよう

Share
Koki

Koki

フルスタックエンジニア / React, Next.js, TypeScript