Going live — Findit Next.js
Before you deploy
Section titled “Before you deploy”| Where | |
|---|---|
Your domain in site.url |
src/content/site.ts — share links, sitemap.xml and robots.txt are built from it |
| Name, title, description | src/content/site.ts |
Contact details and opening hours (the address, phones and info@example.com are placeholders) |
src/content/site.ts |
| Logo replaced | public/images/logo.svg |
| Browser icons replaced | src/app/icon.svg, src/app/apple-icon.png |
| Share image replaced and described | public/opengraph-image.png, its description in src/lib/meta.ts |
| Demo text and photos replaced | src/content/pages/, src/content/collections/, public/images/ |
| Home page video replaced (or removed) | hero.video in src/content/pages/home.ts (or HomeHeroSection.tsx) |
| 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.ts |
| Forms deliver to you | Forms |
| Style guide kept or deleted | src/app/style-guide/ |
npm run build passes |
— |
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”The site is a normal Next.js app: it builds to pre-rendered pages and runs on Node.js, so any host that supports Next.js works.
Vercel (made by the Next.js team, free for personal sites)
Section titled “Vercel (made by the Next.js team, free for personal sites)”- Push the project to GitHub, GitLab or Bitbucket.
- https://vercel.com/new → import the repository → Deploy. The framework, build command and output are detected.
- Add your form variables under Settings → Environment Variables, then redeploy.
- Settings → Domains → add your domain and follow the DNS instructions.
Netlify
Section titled “Netlify”Import the repository, keep the detected settings (npm run build), add the environment variables, deploy.
Cloudflare Workers
Section titled “Cloudflare Workers”Use @opennextjs/cloudflare (npx opennextjs-cloudflare build), then deploy with Wrangler. Cloudflare’s docs walk
through it; the template needs no change.
Your own server
Section titled “Your own server”npm cinpm run buildnpm start # listens on port 3000Run it under a process manager (pm2, systemd) behind nginx or Caddy for TLS, or in a container — node:20-alpine,
copy the project, build, CMD ["npm", "start"].
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
src/app/layout.tsx, 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.ts; 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 — its page then answers “404”, and your sitemap drops it on the next build.
Performance and SEO
Section titled “Performance and SEO”The template ships with what search engines look for: pre-rendered HTML, one <h1> per page, a title and description
for every page, canonical links, sitemap.xml, robots.txt, share cards, sized 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: export photos at the size they are shown, not the size your
camera produced, and compress them before adding them to public/images/.