Skip to content
Type something to search...
Taxo Theme Documentation

Pages & Routes

Taxo routes are driven by src/pages/[...lang]/ plus the content collections defined in src/content.config.ts.

Dedicated Page Files

These routes have their own Astro page files:

  • index.astro
  • home-two.astro
  • about.astro
  • contact.astro
  • faq.astro
  • pricing.astro
  • team/index.astro
  • services/index.astro
  • blog/index.astro
  • case-studies/index.astro

Collection Single Routes

These routes are generated from content entries:

  • services/[single].astro
  • blog/[single].astro
  • case-studies/[single].astro
  • blog/category/[category].astro
  • blog/tag/[tag].astro
  • blog/page/[slug].astro

Static Content Pages

This catch-all route renders content from src/content/pages/:

src/pages/[...lang]/[page].astro
const { page } = Astro.props;
<SinglePageLayout content={{ ...page.data, ...page }} />

That is what powers routes such as:

  • /privacy-policy/
  • /terms-conditions/
  • /components/

Route Mental Model

  • src/pages/... decides the URL structure
  • src/content/... provides the content
  • src/layouts/components/... decides how it is rendered

Collection Index Files Matter

The -index.md file in a collection usually controls the list page:

src/content/blog/english/-index.md
src/content/services/english/-index.md
src/content/case-studies/english/-index.md

Examples:

  • blog index controls search and card layout options
  • services index controls page header content
  • case studies index controls list layout and limit

Multilingual Route Note

All of these routes are wrapped in [...lang], so the final URL also depends on the multilingual settings in config.toml.