Pages on this sheet

Chantilly, VA 20151BM Chantilly, measured twice

LocalBusiness schema generator

Fill in the form, copy the JSON-LD, paste it into your site. No card, no signup, nothing stored.

It’s structured data, which is a fancy way of filling out a form for a robot.

About the business

Use the name on your sign, your invoices and your Google Business Profile. Not a keyword string. “Pohick Creek Heating & Air”, not “AC Repair Fairfax VA Cheap Near Me”.

Pick the closest match. If nothing fits, choose “Local business (general)”. A specific type is better than a general one, but a wrong specific type is worse than the general one.

The page you’ll paste this on, usually your home page. Start with https://. Use the same version every time (with or without www), the one that loads when you type it.

The number on your Google Business Profile. Type it any normal way, like (703) 555-0142. We’ll write it as +1-703-555-0142 in the code, which is what machines expect.

Where you are

Only if customers can visit you or you want the address public. Spell it the way Google has it: “Suite” or “Ste”, “Road” or “Rd”, whichever your profile uses.

Two-letter, like VA.

Plumbers, HVAC crews, cleaners: if you go to the customer and your address isn’t open to the public, tick this. We’ll leave the street out of the code. Google’s rules say to hide a non-public address on your profile, so the site should match. If you do this, fill in “Where you work” below.

Cities or counties you actually cover, separated by commas. Be honest. If you’ve never done a job in Loudoun, don’t list Loudoun.

Hours

Same hours as your Google profile, day by day. One opening window per day here. If you close for lunch or take after-midnight shifts, put your main hours in and note the rest on your page.

Extras (all optional)

Optional. Lets a machine pin you on a map. Right-click your spot in Google Maps and the first line is “38.9, -77.4” style. Skip it if you hid your street address, because coordinates would give it away.

Pages that are definitely you: Google Business Profile link, Facebook, LinkedIn, Yelp, Better Business Bureau listing, your state license lookup. One full https:// link per line. Skip any account you don’t control.

A direct link to one good photo of the business, the crew, or the storefront. Same trick: copy the image address.

Either dollar signs ($ to $$$$) or a short range like $75-$400. It’s a rough signal for restaurants and shops; most service businesses can skip it.

Your JSON-LD

Updates as you type. This is what goes in your page.

    Start with a name and a website. The code appears here.

    The script tag wrapper is added for you.

    Runs in your browser. Nothing is sent to us or saved. Reload the page and the form is empty again. That’s on purpose.

    Runs in your browser. Nothing is sent to us or saved.

    Schema helps machines read your page. It isn’t a ranking boost, and nobody can promise it will earn you rich results, a better position or a mention in an AI answer. Google treats it as a hint. What it does reliably is remove guesswork: the business name, number, address and hours stated the same way everywhere. That’s worth five minutes, just not more than that.

    Generated JSON-LD: Pohick Creek Heating & Air
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "HVACBusiness",
      "name": "Pohick Creek Heating & Air",
      "url": "https://pohickcreek-hvac.example",
      "telephone": "+1-703-555-0142",
      "priceRange": "$$",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Lorton",
        "addressRegion": "VA",
        "postalCode": "22079",
        "addressCountry": "US"
      },
      "areaServed": [
        "Fairfax County",
        "Lorton",
        "Springfield"
      ],
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "08:00",
          "closes": "17:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "09:00",
          "closes": "13:00"
        }
      ],
      "sameAs": [
        "https://www.facebook.com/pohickcreek.example"
      ]
    }
    </script>

    Sheet 2 of 338°53′N 77°26′W

    How to install it

    Four steps.

    One more thing: if a plugin on your site already outputs LocalBusiness schema, don’t paste a second copy. Two conflicting blocks is worse than one.

    1. Copy the code. Use the button above. It includes the script wrapper.

    2. Paste it into the page head. Put it on the page the URL points to, usually your home page (or your contact page, if you’d rather).

      • WordPress: use a header-and-footer code plugin or your theme’s custom code box. Put it in the head section for that page.
      • Wix, Squarespace, Shopify, Webflow: look for “custom code” or “code injection” in page or site settings, and paste it into the head.
      • Hand-coded or custom site: paste it inside the head element, before it closes.
    3. Test it. Run the live page through Google’s Rich Results Test and the Schema.org validator. Both are free. Fix anything they flag.

    4. Re-check when something changes. New phone number, new hours, moved offices: update the schema and your Google profile on the same day.

    Sheet 3 of 338°53′N 77°26′W

    What this does and doesn’t do

    Schema helps machines read your page. It isn’t a ranking boost, and nobody can promise it will earn you rich results, a better position or a mention in an AI answer. Google treats it as a hint. What it does reliably is remove guesswork: the business name, number, address and hours stated the same way everywhere. That’s worth five minutes, just not more than that.