1.4.0

Astro and edge SEO, and a freshness process that CI enforces

Two new platform reference files, a last_verified date on every skill file, and a monthly re-verification issue — plus a long list of claims that turned out to be wrong.

Published

Until this release the skill was organised by topic only. That works until the question is platform-specific, at which point the answer lives in the gap between two files. This release adds a second axis.

Added

  • astro-seo.mdclient:* directives mapped to their INP and LCP costs, server:defer server islands, canonical and Open Graph generation from Astro.site + Astro.url, JSON-LD generated from Content Collections schemas, @astrojs/sitemap including multilingual sitemaps with hreflang, view transitions and their analytics pitfalls, and the SEO-affecting breaking changes in Astro 6 and 7.
  • edge-seo.md_redirects design and limits, _headers with X-Robots-Tag and cache strategy, the static-asset vs. Worker-code blind spot, dynamic sitemaps from D1/KV with edge caching, crawler verification by published IP ranges and Web Bot Auth, HTMLRewriter metadata rewriting, and crawl budget.
  • last_verified frontmatter on every skill file, enforced by CI.
  • docs/research-notes.md — the verification log behind every factual claim, with sources.
  • A scheduled workflow that opens a freshness-check issue on the 1st of each month.

Changed

  • The two skill descriptions were near-identical, so either could fire on any request. English input now selects seo-mastery, Japanese input selects seo-mastery-jp.
  • README positioning no longer claims freshness is “guaranteed”. What is guaranteed is the process and the date stamp.

Fixed

  • AI search eligibility was incomplete. The skill said indexability plus snippet eligibility were the only requirements for AI Overviews. Google’s generative AI optimization guide adds a third: the site must be included in Search generative AI features in Search Console.
  • Article headline has no 110-character limit. Google removed it from the documentation in January 2023. The claim had been presented as a requirement since 1.0.0.
  • _headers rules accumulate rather than override, joining repeated header names with a comma. The per-crawler X-Robots-Tag example would have shipped one combined header that Google does not document parsing.
  • _redirects placeholders do match dots inside the path, so /:slug also matches report.pdf. The previous wording made such rules look safe for file URLs.
  • Google ignores <priority> and <changefreq>; lastmod is only used when consistently accurate. Both are now stated in technical-seo.md.

The full list — including a second review pass that found the dynamic sitemap publishing 404s for hierarchical slugs — is in the CHANGELOG.