Going live — Findit Astro
Before you deploy
Section titled “Before you deploy”| Where | |
|---|---|
Your domain in site.url |
src/content/site.json — canonical links, share links, sitemap.xml and robots.txt are built from it |
| Name, title, description | src/content/site.json |
Contact details and opening hours (the address, phones and info@example.com are placeholders) |
src/content/site.json |
| Logo replaced | src/assets/images/logo.svg |
| Browser icons replaced | public/icon.svg, public/apple-icon.png |
| Share image replaced and described | public/opengraph-image.png, and its description (shareImageAlt) in src/layouts/Layout.astro |
| Demo text and photos replaced | src/content/pages/, src/content/collections/, src/assets/images/ |
| Home page video replaced (or removed) | hero.video in src/content/pages/home.json (or HomeHeroSection.astro) |
| Page titles and descriptions written for your business | the meta of each file in src/content/pages/, the legal texts’ description |
| Terms of Service and Privacy Policy replaced with your own | src/content/collections/legal.json |
| Forms deliver to you | Forms |
| Style guide kept or deleted | src/pages/style-guide.astro |
npm run check and npm run build pass, npm run preview looks right |
— |
The demo content is there to be replaced: leaving “Findit”, the sample address or the sample listings on a live site is the most common mistake. The legal texts are examples, not legal advice — have yours written or reviewed for your country.
Deploy
Section titled “Deploy”npm run build writes a complete static site to dist/: HTML files, one stylesheet, a few small scripts, optimised
images. Any host that serves files can run it — no Node.js needed on the server (unless you chose server-mode forms).
Vercel, Netlify or Cloudflare Pages (free for most sites)
Section titled “Vercel, Netlify or Cloudflare Pages (free for most sites)”- Push the project to GitHub, GitLab or Bitbucket.
- Import the repository. Astro is detected: build command
npm run build, output folderdist. - Add your form variables (
PUBLIC_FORM_ENDPOINT, …) in the host’s environment settings, then deploy. - Add your domain in the host’s Domains settings and follow the DNS instructions.
Pages are built as files (about.html) and served at clean addresses (/about). Netlify and Cloudflare Pages do that
by default; on Vercel, the vercel.json next to package.json has "cleanUrls": true — keep it.
Any other host (shared hosting, S3, a VPS)
Section titled “Any other host (shared hosting, S3, a VPS)”npm run buildUpload the contents of dist/ to the web root. For clean addresses, make the server try <path>.html:
- Apache (
.htaccess):RewriteEngine OnRewriteCond %{REQUEST_FILENAME}.html -fRewriteRule ^(.+)$ $1.html [L]ErrorDocument 404 /404.html - nginx:
try_files $uri $uri.html $uri/ =404;anderror_page 404 /404.html;
Server-mode forms
Section titled “Server-mode forms”If you set PUBLIC_FORM_MODE=server, add your host’s adapter first (npx astro add vercel, netlify,
cloudflare or node). Only the form route runs on the server; every page stays static.
After it is live
Section titled “After it is live”- Check the pages. Click through every page on a phone and a laptop: menu, filters, the gallery on a property, the accordions, both tour and contact forms.
- Send yourself a submission from every form on the live site and reply to it.
- Verify the share card. Paste the URL of the home page and of a property into https://www.opengraph.xyz or a chat window and confirm the image and title.
- Tell Google. Add the site to Search Console, verify ownership and
submit
https://yourdomain.com/sitemap.xml. Bing has the same thing in Webmaster Tools. - Analytics, if you want it. Add your snippet to the
<head>insrc/layouts/Layout.astro, or use your host’s built-in analytics (Vercel Analytics, Cloudflare Web Analytics, Plausible, Fathom) — none of them need a cookie banner. - Keep the listings moving. A new property is one entry in
src/content/collections/properties.json; see Editing the content, or connect a CMS (Using a headless CMS) if someone else will publish. Remove a sold property by deleting its entry and rebuilding — its page disappears and your sitemap drops it.
Performance and SEO
Section titled “Performance and SEO”The template ships with what search engines look for: static HTML, one <h1> per page, a title and description for
every page, canonical links, sitemap.xml, robots.txt, share cards, optimised and lazy-loaded images and links in the
HTML to every page, including those behind a filter. Pages that would only list nothing are kept out of search results.
Keeping the site fast is mostly about images: Astro resizes them, but a 12 MB camera file still slows the build and the
first visit — export photos around 2400 px wide.