Add Your Real Physical Address
Google will not trust or index your structured data if your GBP address and your website address do not match. Placeholders like [YOUR_ADDRESS_HERE] or 123 Main St will be rejected.
Inside Google Business Profile:
- Enter your exact street address (same as what's on your door or mailbox)
- Enter your postal/zip code
- If you're a service-area business and want to hide your address from the public, you still must enter it privately — Google uses it for verification
- Set your service area (cities or radius you serve)
Get Your Google CID
Your schema likely has a placeholder like:
"hasMap": "https://www.google.com/maps?cid=[YOUR_GOOGLE_CID_HERE]"
Google will ignore this entirely until you replace it with your real CID (Customer ID) — the unique number Google assigns to your business listing.
How to find your CID:
- Open Google Maps and search for your business by name
- Click on your business listing
- Look at the URL in your browser's address bar — it will contain
?cid=followed by a long number - Copy that number (e.g.,
12345678901234567)
Once you have it:
Replace the placeholder in your schema with the real CID:
"hasMap": "https://www.google.com/maps?cid=12345678901234567"
Match Your Business Category
Your schema might use a type like "@type": "Arborist" or "@type": "Plumber", but Google Business Profile has its own category vocabulary. These must align for Google to trust your data.
Inside Google Business Profile:
- Set your primary category to the closest match for your services
- Add secondary categories for other services you offer
Common category examples:
@type should use the schema.org LocalBusiness taxonomy. A tree service should use "@type": "ProfessionalService" or "@type": "HomeAndConstructionBusiness" rather than a made-up type. The schema download tool (below) will generate the correct type for you.Ensure NAP Consistency
NAP = Name, Address, Phone. Google cross-references these three signals across every source it can find. If your website says one thing and your Google Business Profile says another, trust drops.
Inside Google Business Profile:
Verify that all four fields match exactly between your GBP and your website schema:
- Business Name — exact legal name (e.g., "Tree Care Services LTD" not "TreeCare")
- Street Address — same spelling, same format ("St" vs "Street")
- Phone Number — exact format (587-921-9207 matches 587-921-9207)
- Website URL — must match your schema's
"url"field exactly
www.example.com in one place and example.com in another. Google treats these as different. Pick one canonical form and use it everywhere.Add Your Business Hours
Many schemas are incomplete — they start with "openingHoursSpecification": { but never finish. Google expects real hours in both your GBP and your JSON-LD.
Inside Google Business Profile:
- Set your regular hours for each day of the week
- Mark any days you're closed
- Add special hours for holidays (optional but recommended)
Then update your website schema to match:
"openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "08:00", "closes": "17:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "14:00" } ]
Publish & Re-Index in Google Search Console
After you've fixed all of the above — address, CID, hours, category, schema type — you need to tell Google to re-read your site.
Steps:
- Deploy your updated schema to your website (paste the corrected JSON-LD into your homepage's
<head>) - Open Google Search Console
- Click URL Inspection in the left sidebar
- Paste your homepage URL and press Enter
- Click "Request Indexing"
Then come back here and re-scan:
Once your changes are live and indexed, use the re-scan button below to verify everything passes. A clean diagnostic is your green light for Schema Doctor Pro™.
Set Up a Service Area Business (No Storefront)
If you serve customers at their location — plumbing, landscaping, consulting, digital marketing, home cleaning — you should set up a Service Area Business (SAB) in Google Business Profile. This tells Google you’re a real, operating business even though customers don’t visit your office.
When to use SAB vs. Storefront:
Step-by-step GBP setup for SAB:
- Enter your real address — Google requires a verifiable mailing address. You must enter it even if you don’t want it shown publicly. Use your home address, office, or any address where you can receive a verification postcard.
- Toggle “I deliver goods and services to my customers” — This converts your listing from Storefront to SAB. On desktop: Edit Profile → Location → check the delivery toggle.
- Clear the address display — After toggling SAB mode, Google will ask if you want to hide your address from the public. Select Yes. Your address stays on file for verification but won’t appear on Maps.
- Define your service area — Add the cities, regions, or radius you actually serve. Be specific:
- TCD example: “Edmonton”, “Calgary”, “Alberta”, “Canada”
- Plumber example: “Edmonton”, “St. Albert”, “Sherwood Park”, “Spruce Grove”
- Google allows up to 20 service areas
- Set your primary category — Choose the most accurate category (e.g., “Internet marketing service” for TCD, “Plumber” for a plumber). Add secondary categories for other services.
- Complete your profile — Add phone number, website URL, business hours (your availability to answer calls), photos, and a business description. Even SAB listings need complete profiles to rank.
Schema JSON-LD for SAB:
Your website schema should still include an address block, but you can omit the streetAddress line to match your public GBP display. Focus on city + region:
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "TransCanada Digital",
"url": "https://transcanadadigital.com",
"telephone": "+1-780-807-5710",
"address": {
"@type": "PostalAddress",
"addressLocality": "Edmonton",
"addressRegion": "AB",
"postalCode": "T5H 3S4",
"addressCountry": "CA"
},
"areaServed": [
{ "@type": "City", "name": "Edmonton" },
{ "@type": "City", "name": "Calgary" },
{ "@type": "AdministrativeArea", "name": "Alberta" },
{ "@type": "Country", "name": "Canada" }
],
"hasMap": "https://www.google.com/maps?cid=YOUR_CID_HERE",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
}
]
}
streetAddress is omitted and areaServed is added. This tells Google and AI crawlers where you operate without exposing a private address. The areaServed property aligns with your GBP service area settings.Common SAB mistakes to avoid:
- Using a virtual office or P.O. Box — Google will reject or suspend these. The address must be a real location where you can receive mail.
- Leaving the address visible — If customers don’t visit you, hide it. A visible home address looks unprofessional and confuses Google’s ranking signals.
- Skipping service areas — Without defined service areas, Google won’t know where to rank you in local search results.
- Setting an unrealistic radius — Don’t claim you serve all of Canada if you only operate in Edmonton. Google ranks SABs based on proximity to the searcher.
- Forgetting hours — SABs still need hours. These represent when you’re available to answer calls or respond to inquiries, not when a storefront is open.
- No website schema — Even without a storefront, your website needs LocalBusiness (or ProfessionalService) JSON-LD with
areaServed. Without it, AI crawlers can’t verify your service area.
areaServed matching your GBP service areas. Google has verified your listing via postcard (or phone/video).Summary Checklist
Before proceeding to Schema Doctor Pro™, confirm every item is complete:
- Real physical address added to GBP (no placeholders)
- Google CID found and inserted into schema
- Business category in GBP matches schema
@type - NAP (Name, Address, Phone, Website) consistent everywhere
- Real business hours in GBP and schema
- Updated schema deployed and re-indexed via Search Console
- Service Area Business configured (if no storefront): address hidden, service areas defined,
areaServedin schema