DEV Community

Gyubin Kim
Gyubin Kim

Posted on

Copy-Paste Schema Templates to Get Cited by AI (2026)

Series: Getting Cited by AI — Post #3. Post #1: How to Get Cited by ChatGPT → · Post #2: Why AI Recommends Your Competitor →

In the last two posts we covered why AI assistants skip over great businesses: their facts live in images, they have no structured data, and they're hard to quote. This post is the fix you can actually paste in today — ready-to-use schema (JSON-LD) templates for the most common local-business types, plus how to install and verify them.

Schema is a small block of code that labels your facts for machines: this is the business name, this is the price range, these are the hours, this is an FAQ answer. It's the difference between handing a model a labeled spreadsheet and handing it a wall of prose. You don't need a developer to add it — you need the right block and a place to paste it.

One honest caveat up front: schema doesn't guarantee an AI will recommend you, and there's no fixed timeline for pickup. It makes your facts clean, labeled, and quotable — the necessary groundwork. Everything below is real, valid schema.org markup. Fill in your facts; never invent reviews or ratings you don't have.


How to use these templates (3 steps)

  1. Copy the block for your business type below.
  2. Replace every REPLACE_* value with your real information. Delete any line you can't fill in honestly (e.g. if you don't track a price range, remove priceRange).
  3. Paste it into the <head> of your homepage, inside a <script type="application/ld+json"> tag (already included in each block). One block per page is plenty for the homepage.

Then validate (see the last section) before you trust it.


Template 1 — Service business / trades (roofer, plumber, HVAC, electrician, landscaper)

This uses LocalBusiness. Swap the @type for a more specific one if it fits (Plumber, HVACBusiness, Electrician, RoofingContractor — all valid schema.org types).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "RoofingContractor",
  "name": "REPLACE_Business Name",
  "description": "REPLACE_One plain sentence: what you do, where, and for whom. e.g. Family-owned roofing company in Austin, TX specializing in storm-damage repair and metal roofs.",
  "url": "https://REPLACE_yourdomain.com",
  "telephone": "+1-REPLACE-555-0100",
  "email": "REPLACE_hello@yourdomain.com",
  "priceRange": "$$",
  "image": "https://REPLACE_yourdomain.com/photo.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "REPLACE_123 Main St",
    "addressLocality": "REPLACE_Austin",
    "addressRegion": "REPLACE_TX",
    "postalCode": "REPLACE_78701",
    "addressCountry": "REPLACE_your ISO country code (GB/AU/CA/SG/IN…)"
  },
  "areaServed": ["REPLACE_Travis County", "REPLACE_Williamson County"],
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "08:00",
    "closes": "17:00"
  }],
  "founder": "REPLACE_Owner Name",
  "foundingDate": "REPLACE_2009"
}
</script>
Enter fullscreen mode Exit fullscreen mode

Template 2 — Solo professional / photographer / coach / consultant

Pairs a LocalBusiness-style entity with a Person, so the AI knows who you are — important for personal brands. Use Photographer as the @type for photographers (valid schema.org type), or ProfessionalService for coaches/consultants.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Photographer",
  "name": "REPLACE_Studio or Your Name Photography",
  "description": "REPLACE_Wedding and elopement photographer based in Nashville, TN, serving the Southeast.",
  "url": "https://REPLACE_yourdomain.com",
  "email": "REPLACE_hello@yourdomain.com",
  "image": "https://REPLACE_yourdomain.com/headshot.jpg",
  "priceRange": "$$$",
  "areaServed": "REPLACE_Nashville, TN and the Southeast US",
  "founder": {
    "@type": "Person",
    "name": "REPLACE_Your Name",
    "jobTitle": "REPLACE_Wedding Photographer",
    "knowsAbout": ["REPLACE_wedding photography", "REPLACE_elopements", "REPLACE_engagement sessions"]
  }
}
</script>
Enter fullscreen mode Exit fullscreen mode

Template 3 — Health / wellness (med spa, dentist, PT, clinic)

Use a specific medical subtype where it fits (MedicalClinic, Dentist, Physiotherapy) — they're all valid and signal more clearly than a bare LocalBusiness.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalClinic",
  "name": "REPLACE_Clinic Name",
  "description": "REPLACE_Med spa in Phoenix, AZ offering injectables, laser treatments, and skin care.",
  "url": "https://REPLACE_yourdomain.com",
  "telephone": "+1-REPLACE-555-0100",
  "priceRange": "$$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "REPLACE_123 Main St",
    "addressLocality": "REPLACE_Phoenix",
    "addressRegion": "REPLACE_AZ",
    "postalCode": "REPLACE_85001",
    "addressCountry": "REPLACE_your ISO country code (GB/AU/CA/SG/IN…)"
  },
  "medicalSpecialty": "REPLACE_Dermatology",
  "availableService": [
    {"@type": "MedicalProcedure", "name": "REPLACE_Botox / injectables"},
    {"@type": "MedicalProcedure", "name": "REPLACE_Laser skin resurfacing"}
  ]
}
</script>
Enter fullscreen mode Exit fullscreen mode

Add-on A — FAQ schema (works for any business)

This is one of the highest-leverage blocks for AI visibility: it hands the model pre-written question-and-answer pairs it can quote almost verbatim. Put your 3–6 most common customer questions here, in plain language.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "REPLACE_What areas do you serve?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "REPLACE_We serve Austin and the surrounding Travis and Williamson counties."
      }
    },
    {
      "@type": "Question",
      "name": "REPLACE_How much does a typical job cost?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "REPLACE_Most repairs run $400–$1,200; full replacements start around $9,000. We give free written estimates."
      }
    },
    {
      "@type": "Question",
      "name": "REPLACE_Are you licensed and insured?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "REPLACE_Yes — licensed in Texas (#000000) and fully insured."
      }
    }
  ]
}
</script>
Enter fullscreen mode Exit fullscreen mode

Add-on B — Reviews & rating (ONLY if the numbers are real)

AggregateRating is powerful — but only paste this if the numbers are genuinely yours, ideally matching what's on your Google Business Profile. Fabricating ratings is the fastest way to look untrustworthy (and a policy violation). If you don't have reviews yet, skip this block entirely and focus on collecting them first.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "REPLACE_Business Name",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "REPLACE_4.8",
    "reviewCount": "REPLACE_64"
  }
}
</script>
Enter fullscreen mode Exit fullscreen mode

How to install it (no developer required)

  • Squarespace / Wix / Webflow: look for "Code Injection" or "Custom Code" → header. Paste the block there.
  • WordPress: use a header-snippet plugin (e.g. "Insert Headers and Footers") or your theme's custom-code area.
  • Static HTML site: paste directly inside <head> on the page.
  • Shopify: edit theme.liquid and paste before </head>.

You can keep your existing design untouched — schema is invisible to visitors. It only talks to machines.


How to verify it works

Never trust a block you haven't validated. Two free checks:

  1. Schema.org Validator — paste your URL or the code. It flags syntax errors and shows what types it detected.
  2. Google Rich Results Test — confirms Google can parse it (a good proxy for "machines can read this").

If either shows errors, the usual culprits are: a stray comma, a missing quote, or a REPLACE_ value you forgot to fill in. Fix and re-test until both come back clean.


A realistic close

Schema is the groundwork, not a magic switch. It makes your facts clean, labeled, and quotable — which is the prerequisite for being named by an AI assistant. Pickup still depends on when your pages get crawled, how often the underlying sources refresh, and whether your reviews and plain-text facts back the schema up (see Post #2).

If you'd rather not hand-edit JSON, I run a free AI-visibility snapshot — I check what AI can and can't currently read on your site and send you the exact fixes (including the filled-in schema for your business). No cost, no pitch. If it's useful and you want it implemented for you, we can talk. Reach out: faithpath25 (sales) — see the snapshot offer.


FAQ

Do I need a developer to add schema?
No. Most site builders have a "custom code" or "header injection" area where you paste the block. The only skill is replacing the placeholder values honestly.

Will adding schema guarantee AI starts recommending me?
No — there's no guarantee and no fixed timeline. Schema makes you readable and quotable; whether and when a model picks you up depends on crawling, source refresh, and your reviews. It's necessary groundwork, not a switch.

Can I just paste a template and leave the placeholders?
No — unfilled REPLACE_ values are worse than no schema. Fill in every line with real facts, and delete any you can't fill honestly.

Is it bad to have schema that doesn't match my Google profile?
Yes. Inconsistent facts across your site, Google Business Profile, and directories make a model less confident, not more. Keep name, address, phone, and hours identical everywhere.


Two ways to act on this:

🔎 Free, no-strings: send your site URL to faithpath25@gmail.com with the subject "GEO snapshot" — I'll send back a 1-page read of exactly what AI assistants can and can't currently see on your site, plus the specific fixes. Free pilot, wherever you operate; if it's useful, a short review is all I ask.

🧰 Do it yourself: the copy-paste schema kits, checklists, and the full GEO audit live at SprintLanding → (includes a free starter). Prices in USD; Gumroad converts to your local currency at checkout.

Top comments (0)