Get in touch

Contact

Replace this form with a real endpoint, or delete the route entirely.

Contact form

Questions

Frequently asked questions

What does this boilerplate actually give me?

A Vue 3 application that prerenders every route to static HTML, emits per-page metadata and Schema.org structured data into that HTML, generates its own sitemap and robots.txt from the route table, and enforces its own layering rules through ESLint.

Why prerender instead of a plain single-page app?

A single-page app serves the same empty shell for every URL. Metadata written by JavaScript after load is unreliable for crawlers and useless for social-media unfurlers, which never execute scripts. Prerendering puts the correct title, canonical URL and JSON-LD in the bytes that come off the server.

Do I have to deploy to Cloudflare Pages?

No. The application core has no Cloudflare dependency and the build produces plain static files. The Cloudflare-specific pieces are confined to wrangler.json, the functions directory, and the _headers and _redirects files, all of which have documented equivalents for other static hosts.

How do I add a new page?

Add a view component, add one entry to the route table with its title, description and schema, and the sitemap, canonical URL and prerendered HTML file follow automatically. Nothing else needs editing.