astro-site-filesv0.5.0

Changelog

Generated from CHANGELOG.md in the project repository. Never maintained twice.

0.5.0

9 September 2026

  • changedPages carrying <meta name="robots" content="noindex"> in their <head> are dropped from the sitemap — Search Console reports submitted noindex URLs as errors. Opt out with sitemap.excludeNoindex: false.
  • changedsitemap.i18n defaults to Astro's own i18n config, so hreflang alternates and an x-default link now appear on multilingual sites that never configured sitemap.i18n.
  • changedBuilt-in priority and changefreq defaults ignore locale prefixes: /de/ is scored like / instead of one level below it, and /de/blog/x/ like /blog/x/.
  • changedA crawler with its own robots.txt group now also receives the global allow / disallow / crawlDelay rules. Per RFC 9309 a bot obeys only its most specific matching group, so a Disallow: /admin/ under User-agent: * previously did not apply to Googlebot at all. Blocked bots keep a bare Disallow: / — a global Allow: must not punch a hole into a bot that was deliberately blocked outright.
  • changedThe Sitemap: line in robots.txt points at the file that was actually written — sitemap-index.xml in index mode, or output.filename.
  • addedrss is a top-level option and is written independently of the sitemap, including with sitemap: false.
  • addedPer-item guid and guidIsPermaLink for feeds keyed by UUID or URN.
  • addedsitemap.localeAgnosticRules and a per-rule allLocales flag, so a single priority or changefreq rule can cover every translation — or opt back out to target one locale.
  • addedsitemap.excludeNoindex to keep noindex pages in the sitemap.
  • addedAudit rules security/expired, security/invalid-expires and security/contact-not-a-uri for RFC 9116 conformance.
  • fixedA pathname without a trailing slash no longer crashes the build with EISDIR when it maps to a directory on disk; its index.html is read instead.
  • fixedError-page exclusion is anchored to a whole path segment, so an article like /blog/404-error-pages-guide/ stays in the sitemap.
  • fixeddata-sitemap-changefreq and data-sitemap-priority are read from every JSON-LD block, not only the first — layouts commonly emit an Organization block ahead of the page's own Article.
  • fixedA configured priority of 0.55 is no longer rounded to 0.6.
  • fixedRSS: root-relative and bare item links are joined onto the site URL without dropping or doubling the slash.
  • fixedRSS: an unparseable pubDate omits the <pubDate> element instead of emitting Invalid Date, which breaks every feed validator.
  • deprecatedsitemap.rss — use the top-level rss option. The old placement still works and is read as a fallback.
  • performanceEach page's HTML is opened and read once instead of twice, with bounded concurrency, rather than strictly sequentially. Noticeable on sites with thousands of pages.
  • internalpeerDependencies: { astro: ">=6.0.0" } added — peerDependenciesMeta had no effect without it.
  • internalnpm ci works again; the lockfile carried a stale nested @emnapi/wasi-threads.
  • internaldevDependencies on latest: TypeScript 7, vitest 5, @types/node 26.5. Resolves all four known dev-dependency advisories. TypeScript 7 no longer auto-includes @types/*, hence the explicit "types": ["node"] in tsconfig.json.

0.4.1

earlier

  • internalFull bot registry and preset system ported from @casoon/astro-crawler-policy (seoOnly, citationFriendly, openToAi, blockTraining, lockdown).
  • internalPer-page changefreq / priority via data-sitemap-* attributes on a JSON-LD script tag.
  • internalMeta-refresh redirect pages excluded from the sitemap.

0.3.0

earlier

  • internalRSS 2.0 feed support extracted from @casoon/astro-sitemap, including createRssRoute.

0.2.0

earlier

  • internalUnified audit types, llms.sources, XML escaping, base-aware robots URL, sitemap deduplication.
  • internalNode.js ≥ 22.12.0.