1.4.0

Astro とエッジの SEO、そして CI が守る鮮度の手順

プラットフォーム別の参照ファイルを 2 つ追加し、全ファイルに last_verified を入れ、毎月の再検証 issue を立てるようにした。間違っていた記述もまとめて直している。

公開

このリリースまで、スキルはトピック別にしか整理されていなかった。それで足りるのは質問が プラットフォームに依らないうちだけだ。プラットフォームに依存し始めると、答えは 2 つの ファイルの隙間に落ちる。今回、2 本目の軸を足した。

追加

  • astro-seo.md — Astro サイトの SEO をまとめて扱う。内容は次のとおり。
    • client:* ディレクティブが INP・LCP に与えるコストと、server:defer のサーバーアイランド
    • Astro.site + Astro.url からの canonical・OG 生成と、Content Collections のスキーマからの JSON-LD 生成
    • hreflang 付き多言語サイトマップを含む @astrojs/sitemap の設定
    • View Transitions と計測の落とし穴、Astro 6・7 の SEO に効く破壊的変更
  • edge-seo.md — Cloudflare へのデプロイ側を扱う。内容は次のとおり。
    • _redirects の設計と上限、X-Robots-Tag とキャッシュ戦略を含む _headers
    • 静的アセットと Worker コードのあいだにできる死角
    • D1 / KV からの動的サイトマップと、エッジでのキャッシュ
    • 公開 IP レンジと Web Bot Auth によるクローラー検証、HTMLRewriter によるメタデータ書き換え、クロールバジェット
  • すべてのスキルファイルに last_verified の frontmatter を入れた。CI が検査する。
  • docs/research-notes.md — すべての事実記述の裏にある検証ログと出典。
  • 毎月 1 日に鮮度確認の issue を立てる定期ワークフロー。

変更

  • 2 つのスキルの description がほぼ同じだったため、英語の依頼でも日本語の依頼でも両方が 発火し得た。英語で書かれていれば seo-mastery、日本語なら seo-mastery-jp を選ぶようにした。
  • README から「鮮度を保証する」という書き方を外した。保証しているのは手順と日付だ。

修正

  • AI 検索の表示要件が欠けていた。 インデックス可能とスニペット表示可能の 2 つだけだと 書いていたが、Google の生成 AI 最適化ガイドには 3 つ目がある。Search Console で 「検索の生成 AI 機能」に含まれている必要がある。
  • _headers のルールは上書きではなく積み上がる。 同じヘッダ名はカンマで結合される。 クローラー個別の X-Robots-Tag の例は、結合ヘッダを 1 本送るだけになっていた。 Google はそのヘッダの解釈を明文化していない。
  • _redirects のプレースホルダーはパス中のドットにも一致する。 /:slug は report.pdf にも当たる。前の記述は、ファイル URL に対して安全であるかのように読めた。
  • Article の headline に 110 文字制限はない。Google は 2023 年 1 月にドキュメントから 削除している。1.0.0 以来、要件であるかのように書いていた。
  • Google は <priority> と <changefreq> を無視する。lastmod は、常に正確に保たれている サイトでだけ使う。どちらも technical-seo.md に明記した。

全リストは CHANGELOG にある。2 回目のレビューで見つかった「動的サイトマップが階層スラッグに 対して 404 の URL を出していた」件も、そこに含まれている。