> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vacademy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Going live

> A checklist before your site goes to production.

**Keys**

* [ ] The key is in your host's production environment variables (`VACADEMY_CATALOG_KEY`), not in the repository.
* [ ] One key per website, named after it, so it can be rotated alone.

**Course links**

* [ ] `GET /site` returns the right `course_base_url`. If not, the institute's admin sets it under **Settings → Integrations → Catalogue API & websites → Course page address**.
* [ ] A course card opens the hosted course page, and enrolment works there end to end.
* [ ] Links use `url` exactly as returned, query string included.
* [ ] Cards handle `url: null`, `price: null`, `image_url: null` and `subtitle: null`.

**Rendering and SEO**

* [ ] Pages fetch on the server, with `next: { revalidate: 60 }` (or another cache). The site does not call the API once per visitor.
* [ ] If you host course pages: canonical and sitemap point to **your** pages. If you link out: course URLs are **not** in your sitemap.
* [ ] `structured_data` is in a `<script type="application/ld+json">`, escaped with `.replace(/</g, '\\u003c')`. Check a page with Google's Rich Results Test.

**Browser calls** (only if browser JavaScript calls the API)

* [ ] The production domain is **Verified** under **Your websites**. Add the bare domain to cover `www` and other subdomains.
* [ ] Preview deployments (`*.vercel.app`) call the API from the server only.

**Enquiries**

* [ ] The form posts through your server with `X-Client-IP`.
* [ ] `received` and `duplicate` both show a thank-you.
* [ ] A test enquiry appears in **Audience Manager → Recent Leads**, in the expected campaign.

**Errors**

* [ ] A failing API call does not take the page down: show the cached data, or a short message, and log `request_id`.
* [ ] `404 not_found` on a course page renders your 404 (`notFound()`): courses can be unpublished.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.