This Astro glossary defines the terms you’ll meet in Astro’s docs, error messages and community discussions, in one or two plain sentences each, as they apply to Astro 7. Terms are grouped by topic, and each links to a deeper guide where one exists. Use it as a reference when a word in an error or a tutorial is unfamiliar.
Key Takeaways
- Most Astro vocabulary falls into five groups: rendering, components, content, routing and configuration.
- “Island”, “hydration” and “client directive” describe how JavaScript reaches the browser.
- “Adapter”, “on-demand rendering” and “prerender” describe where HTML is produced.
- “Collection”, “loader” and “schema” describe how content is loaded and validated.
Rendering
Static site generation (SSG). Rendering pages to HTML files at build time. Astro’s default output.
Prerender. To render a page at build time. export const prerender = true or false sets it per page.
On-demand rendering. Rendering a page on the server for each request. Astro’s docs prefer this term over SSR. Needs an adapter. See the Astro SSR guide.
SSR (server-side rendering). Generating HTML on a server per request. In Astro, the same as on-demand rendering.
Output. The config option that sets the default rendering mode: 'static' (default) or 'server'.
Adapter. An integration that turns Astro’s server build into something a host can run: Node.js, Cloudflare, Netlify or Vercel.
Hybrid rendering. Informal name for mixing static and on-demand pages in one project. See mixing static and on-demand pages.
Build. The astro build step that writes the site to dist/.
Zero JavaScript by default. Astro renders components to HTML and ships no client JavaScript unless a component opts in.
Components and interactivity
Astro component. A .astro file with a frontmatter script and an HTML template. Renders once on the server; ships no JavaScript.
Frontmatter (component script). The code between the --- fences at the top of an .astro file. Runs on the server.
Props. Values passed to a component, read from Astro.props.
Slot. A placeholder in a component where child content is rendered; <slot /> or <slot name="..." />.
Layout. A component that wraps pages with shared structure such as <html>, header and footer.
Framework component. A React, Vue, Svelte, Solid or Preact component used inside Astro.
Island. An interactive framework component on an otherwise static page, hydrated independently. See What is Astro?.
Hydration. Running a component’s JavaScript in the browser so the server-rendered HTML becomes interactive.
Partial hydration. Hydrating only some components on a page rather than the whole page. What islands do.
Client directive. An attribute (client:load, client:idle, client:visible, client:media, client:only) that tells Astro when to hydrate an island. See which client directive to use.
Server island. An Astro component marked server:defer that renders on the server per request, after the page loads.
Directive. A special name:value attribute that changes how Astro renders something. Full list in the directives cheatsheet.
Renderer. The part of a framework integration that renders that framework’s components on the server and hydrates them in the browser.
Scoped styles. CSS in a component’s <style> block, applied only to that component’s elements.
Content
Content collection. A named, typed set of content entries loaded by a loader and validated by a schema. See the content collections guide.
Content Layer. The API behind content collections since Astro 5: loaders feed a data store that pages query.
Loader. A function or object that loads entries into a collection. Built-in: glob() and file().
Live collection. A collection fetched at request time rather than build time, defined in src/live.config.ts.
Entry. One item in a collection, with an id, data and, for Markdown, a body.
Schema. A Zod definition of the fields each entry must have.
Reference. A schema field pointing to an entry in another collection, created with reference().
MDX. Markdown that can import and render components. Needs @astrojs/mdx.
Remark / rehype plugin. Plugins that transform Markdown (remark) or the resulting HTML (rehype) during rendering.
Routing
File-based routing. Each file in src/pages/ becomes a route.
Dynamic route. A route with a parameter in brackets, like [slug].astro.
Rest parameter. A parameter matching any number of segments: [...path].astro.
getStaticPaths(). The function a prerendered dynamic route exports to list every page it should build.
Endpoint. A .ts or .js file in src/pages/ that returns a Response instead of HTML, such as rss.xml.ts.
Middleware. Code in src/middleware.ts that runs before on-demand requests and can change the request, response or locals.
Locals. Per-request data shared from middleware to pages, via Astro.locals.
Rewrite. Serving another route’s content at the current URL, with Astro.rewrite().
Action. A type-safe server function defined in src/actions/, callable from forms and client code.
Session. Server-side storage for per-visitor data, accessed through Astro.session.
Configuration and tooling
Integration. A package that extends Astro: frameworks, MDX, sitemaps, adapters. Added with npx astro add.
astro.config.mjs. The project’s configuration file. See the config cheatsheet.
astro:assets. The module providing <Image />, <Picture />, <Font /> and getImage().
astro:env. Typed, validated environment variables declared in config.
View transitions. Animated page-to-page navigation, enabled with <ClientRouter /> or native browser support.
Prefetch. Loading a linked page in the background before it’s clicked.
Starlight. Astro’s official documentation framework, distributed as an integration.
Dev toolbar. The overlay in development that shows islands, accessibility audits and app tools.
The Astro global cheatsheet lists every property on Astro, and the official Astro docs define each concept in full.
FAQ
What is the difference between SSR and on-demand rendering in Astro?
None in practice. Astro’s docs use “on-demand rendering” for pages rendered per request on a server.
What is the difference between an island and a server island?
An island hydrates in the browser with JavaScript. A server island renders on the server per request and ships HTML, not a framework runtime.