Complete guide for deploying AI Execution Lab to lab.asquaresolution.com — DNS configuration, Vercel setup, environment variables, SSL, and launch verification.
This is the authoritative deployment guide for launching AI Execution Lab under lab.asquaresolution.com. It covers Vercel project configuration, Hostinger DNS setup, environment variables, SSL, and post-launch verification.
Browser
→ lab.asquaresolution.com (Hostinger DNS → Vercel Edge Network)
→ Vercel CDN (static assets, SSG pages)
→ Vercel Serverless (API routes: /api/og, /api/search, /api/vitals)
The main asquaresolution.com WordPress stack runs separately on Hostinger hosting. The lab subdomain is DNS-only delegated to Vercel — no WordPress involvement, no shared PHP runtime, no risk to the main site.
Before starting:
*.vercel.app)asquaresolution.comai-execution-lab projectlab.asquaresolution.comVercel will display the required DNS records. Keep this tab open — you will use these values in Step 2.
Vercel will show one of two record types depending on your configuration:
Option A — CNAME (most common for subdomains):
Type: CNAME
Name: lab
Value: cname.vercel-dns.com
Option B — A record (if CNAME is unavailable):
Type: A
Name: lab
Value: 76.76.21.21
Use Option A (CNAME) unless Hostinger explicitly requires A records for subdomains.
asquaresolution.com| Field | Value |
|---|---|
| Type | CNAME |
| Name / Host | lab |
| Points to / Value | cname.vercel-dns.com |
| TTL | 3600 (or lowest available) |
Important: The Name/Host field should be lab only — not lab.asquaresolution.com. Hostinger automatically appends the root domain.
If asquaresolution.com is using Hostinger's default nameservers (ns1.dns-parking.com, ns2.dns-parking.com or similar), adding a DNS record directly in hPanel is correct.
If the domain uses external/custom nameservers, you must add the record at wherever the authoritative nameservers are managed, not in hPanel.
After saving the DNS record:
https://dnschecker.org/#CNAME/lab.asquaresolution.comcname.vercel-dns.comIn Vercel dashboard → Settings → Environment Variables:
| Variable | Value | Environments |
|---|---|---|
NEXT_PUBLIC_SITE_URL | https://lab.asquaresolution.com | Production |
NEXT_PUBLIC_PLAUSIBLE_DOMAIN | lab.asquaresolution.com | Production (optional) |
NEXT_PUBLIC_GA_ID | G-XXXXXXXXXX | Production (optional) |
Set NEXT_PUBLIC_SITE_URL to Production environment only. The vercel.app URL should remain accessible for preview/staging deployments.
After saving environment variables, trigger a new deployment: Deployments → Redeploy (select the latest deployment, choose "Redeploy with existing build cache" or force a fresh build).
Vercel provisions SSL automatically via Let's Encrypt once:
You do not need to configure SSL manually. Vercel handles certificate issuance and renewal.
Expected timeline: SSL certificate provisioned within 5–15 minutes of DNS propagation completing.
Verification: Open https://lab.asquaresolution.com in a browser. The padlock icon should appear. Click it to confirm: certificate issued to lab.asquaresolution.com, valid, issued by Let's Encrypt.
Vercel SSL provisioning can fail if:
asquaresolution.com blocks Let's EncryptCheck for CAA records:
dig CAA asquaresolution.com
If a CAA record exists and restricts certificate authorities, add:
Type: CAA
Name: @
Value: 0 issue "letsencrypt.org"
Vercel Edge Network handles all CDN behaviour. No Hostinger CDN configuration is required or recommended for this subdomain.
The Vercel Edge Network:
/_next/static/ assets with Cache-Control: public, max-age=31536000, immutable/api/og, /api/search) from regional serverless functionsHostinger CDN/LiteSpeed cache: The lab. subdomain is DNS-pointed to Vercel, so Hostinger's LiteSpeed or CDN configuration does not apply. Changes to LiteSpeed rules on asquaresolution.com do not affect the lab.
No reverse proxy needed. Do not configure a Hostinger redirect or proxy for lab.asquaresolution.com — the CNAME record to cname.vercel-dns.com is sufficient.
Run these checks after DNS propagates and SSL provisions:
https://lab.asquaresolution.com loads without SSL errorlab.asquaresolution.comhttp://lab.asquaresolution.com redirects to HTTPS)https://lab.asquaresolution.comhttps://lab.asquaresolution.com/docs/media-publishing-workflowhttps://lab.asquaresolution.com/tracks/claude-code-operator/foundations/choosing-your-ai-engineering-stackhttps://lab.asquaresolution.com/trackshttps://lab.asquaresolution.com/tagshttps://lab.asquaresolution.com/sitemap.xml returns XML with correct lab.asquaresolution.com URLshttps://lab.asquaresolution.com/robots.txt shows Sitemap: https://lab.asquaresolution.com/sitemap.xml<title> tags are correct (not showing vercel.app)<link rel="canonical"> on article pages points to lab.asquaresolution.comlab.asquaresolution.com/ops returns 200 but is excluded from sitemap.xml/syndicate returns 200 but is excluded from sitemap.xml<meta name="robots" content="noindex, nofollow">Strict-Transport-Security header present (check in browser DevTools → Network → Response Headers)X-Frame-Options: DENY presentX-Content-Type-Options: nosniff present/api/og?title=Test§ion=DOCS returns an image (PNG, 1200×630)/api/search?q=claude returns JSON resultsSubmit after launch:
lab.asquaresolution.com (URL prefix method)<head> in app/layout.tsx under the structured data scripts) or via DNS TXT recordhttps://lab.asquaresolution.com/sitemap.xmlNote: DNS TXT verification is cleanest — it adds a TXT record in Hostinger hPanel:
Type: TXT
Name: @
Value: google-site-verification=XXXXXXXXXXXXXXXXXXXXXXXX
AI Execution Lab is fully isolated from the main A Square Solutions infrastructure:
| Concern | Status |
|---|---|
| WordPress database | No connection — lab has no DB |
| WordPress PHP runtime | No connection — lab is Node.js/Vercel |
| Hostinger shared hosting | No connection — subdomain DNS-delegated to Vercel |
| ScamCheck / TrustSeal APIs | No connection — no shared API routes |
| Credentials / secrets | Not present — no API keys, tokens, or passwords in lab codebase |
.env files | Gitignored — only .env.example is committed |
The only link between the lab and the main domain is the DNS CNAME record. Removing that record would restore the subdomain to unresolved. The main asquaresolution.com site is unaffected by any lab deployment.