Playbooks 1 min read

Local SEO that actually ranks — JSON-LD, llms.txt, and the boring basics

Structured data, a correct sitemap, an llms.txt for the agents, and NAP consistency. The unglamorous checklist that gets local businesses found.

Beas
Beas

TODO: Beas's role

Abstract gradient artwork reading "Local SEO that ranks"

Most local businesses don’t need clever SEO. They need the boring basics done correctly and consistently. Forge bakes them in so they can’t be forgotten.

Structured data on every page

Every Forge site emits Organization and WebSite JSON-LD globally, plus BlogPosting on articles and BreadcrumbList on nested pages. Search engines read it; you don’t have to think about it.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Northside Dental",
  "telephone": "+1-519-555-0142",
  "address": { "@type": "PostalAddress", "addressLocality": "Kitchener" }
}

NAP consistency

Name, Address, Phone — identical everywhere. Because they come from one config file, the footer, the contact page, and the structured data can’t drift apart. That consistency is what local search rewards.

A sitemap, robots.txt, and an llms.txt

The sitemap and robots.txt are generated at build. We also ship an llms.txt — a plain-text summary of the site for the AI agents that increasingly do the “searching” on a person’s behalf. It’s cheap to produce and it’s where discovery is heading.

Performance is an SEO feature

Core Web Vitals are a ranking signal. Because Forge sites ship almost no JavaScript, they pass them by default. Fast is the optimization.

Beas

Written by

Beas

TODO: Add Beas's bio. Avatar is an AI-generated placeholder (Pollinations) — swap in a real headshot prompt or URL.

Keep reading