SEO Checklist
Everything to verify before and after the first deploy.
Config
Section titled “Config”-
site:inastro.config.mjs= production domain (no www, correct TLD) -
robots.txtsitemap URL matchessite:exactly - Both
domain.comandwww.domain.comadded as Cloudflare Pages custom domains
Meta tags
Section titled “Meta tags”- Every page has a unique
titleanddescription -
<link rel="canonical">uses the production domain (not localhost) - Canonical is suppressed on all
noindexpages (checkout, payment-return, thank-you) -
noindexpages have<meta name="robots" content="noindex, nofollow"> - OG image exists at
/og-image.jpg(1200x630) - OG
og:urlmatches the canonical URL
Schema markup
Section titled “Schema markup”- JSON-LD passes Google’s rich results test
-
aggregateRatinguses real client numbers (not placeholder 4.9/38) -
addressis the real business address -
telephoneandemailare correct -
sameAscontains real social profile URLs - Homepage has
FAQPageJSON-LD with 5+ questions
Anchor text
Section titled “Anchor text”- No icon-only links without
<span class="sr-only">text - No generic “Learn more” links without sr-only service context
- No duplicate H2 text across pages
robots.txt & sitemap
Section titled “robots.txt & sitemap”- Utility pages disallowed:
/checkout,/payment-return,/thank-you - Sitemap URL in robots.txt matches production domain
- Sitemap submitted to Google Search Console after first deploy
Images
Section titled “Images”- All images have descriptive
alttext - First/LCP image uses
loading="eager"+fetchpriority="high" - All other images use
loading="lazy"
Favicons
Section titled “Favicons”- Only reference favicon PNG files that actually exist in
/public/ - If PNGs not ready, use SVG-only
<link rel="icon" type="image/svg+xml">
Performance
Section titled “Performance”- PageSpeed score 90+ on mobile and desktop
- Core Web Vitals: LCP < 2.5s, CLS < 0.1, INP < 200ms
Post-deploy
Section titled “Post-deploy”-
npm run indexnow- submit all URLs to Bing/Yandex - Submit sitemap in Google Search Console
- Test OG image: paste URL into opengraph.xyz
- Force WhatsApp/social re-scrape via Facebook debugger