Method 1: paste the code (free)
Generate the markup
Build your schema in LocalSchema and copy the script tag.
Choose the page
For one location: open the page's settings → Advanced → Page Header Code Injection. For the whole site: Settings → Advanced → Code Injection → Header.
Paste and save
Paste the script tag and save. Code injection only runs on the live site, not in the editor preview.
Test the live page
Open the published URL in the LocalSchema checker to confirm the markup is found.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"@id": "https://lonestarplumbing.example/#localbusiness",
"name": "Lone Star Plumbing Co.",
"legalName": "Lone Star Plumbing Company LLC",
"description": "Licensed Austin plumbers for leaks, water heaters, drain cleaning and repiping. Upfront flat-rate pricing and 24/7 emergency service.",
"slogan": "Fixed right, the first time.",
"url": "https://lonestarplumbing.example",
"logo": "https://lonestarplumbing.example/logo.png",
"image": [
"https://lonestarplumbing.example/img/van-16x9.jpg",
"https://lonestarplumbing.example/img/team-1x1.jpg"
],
"foundingDate": "2004-06-15",
"telephone": "+1 512-555-0144",
"email": "service@lonestarplumbing.example",
"priceRange": "$$",
"currenciesAccepted": "USD",
"paymentAccepted": "Cash, Credit Card, Check, Financing",
"knowsLanguage": [
"English",
"Spanish"
],
"address": {
"@type": "PostalAddress",
"streetAddress": "4810 Burnet Rd, Suite 200",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78756",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 30.320371,
"longitude": -97.739614
},
"areaServed": [
{
"@type": "Place",
"name": "Austin"
},
{
"@type": "Place",
"name": "Round Rock"
},
{
"@type": "Place",
"name": "Cedar Park"
},
{
"@type": "Place",
"name": "Pflugerville"
},
{
"@type": "Place",
"name": "Georgetown"
},
{
"@type": "GeoCircle",
"geoMidpoint": {
"@type": "GeoCoordinates",
"latitude": 30.320371,
"longitude": -97.739614
},
"geoRadius": 40000
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "07:00",
"closes": "19:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "08:00",
"closes": "16:00"
}
],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Plumbing services",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Drain cleaning",
"description": "Kitchen, bath and main line clearing with camera inspection."
},
"priceSpecification": {
"@type": "PriceSpecification",
"minPrice": "149.00",
"priceCurrency": "USD"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Water heater installation",
"description": "Tank and tankless installs, haul-away included."
},
"priceSpecification": {
"@type": "PriceSpecification",
"minPrice": "1400.00",
"priceCurrency": "USD",
"maxPrice": "4200.00"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Leak detection",
"description": "Non-invasive slab and wall leak location."
},
"price": "295.00",
"priceCurrency": "USD"
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Emergency plumbing",
"description": "24/7 burst pipe and overflow response."
},
"priceSpecification": {
"@type": "PriceSpecification",
"minPrice": "189.00",
"priceCurrency": "USD"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Whole-home repiping",
"description": "PEX repipe with drywall patching."
},
"priceSpecification": {
"@type": "PriceSpecification",
"minPrice": "6500.00",
"priceCurrency": "USD"
}
}
]
},
"sameAs": [
"https://maps.app.goo.gl/lonestarplumbing-example",
"https://www.yelp.com/biz/lone-star-plumbing-co-austin",
"https://www.facebook.com/lonestarplumbingatx",
"https://www.bbb.org/us/tx/austin/profile/plumber/lone-star-plumbing-co",
"https://nextdoor.com/pages/lone-star-plumbing-co-austin-tx"
]
}
</script>Sample for a plumber — generate your own in the builder or on your business type's page.
Method 2: hosted embed (Pro)
Paste one script once. Hours, holiday closures and services you change in LocalSchema reach the site automatically — no more editing Squarespace for every update.
Copy the embed script
In LocalSchema, open the location's Embed tab and copy the script tag.
Paste into Code Injection
Use the same Header or Page Header Code Injection box. Updates in LocalSchema then reach the site without editing Squarespace again.
<script src="https://local-schema-beacon.lovable.app/s/loc_yourkey.js" async></script>Your real key is on the location's Embed tab after you publish it.
Common Squarespace pitfalls
- Code Injection is only included on some Squarespace plans; check your plan if the setting is missing.
- Squarespace's built-in business information may output its own LocalBusiness block. Keep the details identical or the checker will flag a conflict.