Layout metadata
Checks each layout for a title, meta description, and Open Graph tags, then verifies every page actually uses a layout.
Astro 2+
Astro ships zero JS by default, so most of your SEO lives in layouts and frontmatter. Orino parses your .astro files directly, including content collections and dynamic routes.
$npx @bynaree/orino audit --framework astroHow Orino detects it
Requires both an astro.config file (.ts, .mjs, or .js — at the root or in src/) and astro listed in your dependencies.
Checks each layout for a title, meta description, and Open Graph tags, then verifies every page actually uses a layout.
Looks for public/robots.txt and the @astrojs/sitemap integration, validating that generated URLs are reachable.
Flags dynamic routes ([slug].astro) that omit getStaticPaths, which would otherwise 404 for crawlers.
Detects your content collections so route coverage and internal links are scored against real, generated pages.
Confirms an llms.txt exists so AI answer engines get a clean, curated map of your site.
Scans .astro templates for <img> tags missing width and height, a common cause of layout shift.
Full check reference and fixes in the framework documentation.
No account. No AI guesswork. Just the SEO and GEO issues that decide whether you rank — and whether AI engines quote you.
$npx @bynaree/orino audit