Schema / Structured Data
Detection, errors, and a ready-to-paste business node · verified October 3, 2026 · fixes verified October 7, 2026
Every page outputs structured data through Rank Math Pro, and the core is right: an AutoRepair business with the correct name, street address, phone and logo. That's a better start than most. But the facts search engines and AI tools read from it are wrong or incomplete. The hours say the shop closes at 7 PM on Mondays and Fridays, while Google and the site's own header say 6 PM. Two of the hours lines use formats machines can't parse ("Sunday CLOSE", and an en-dash on Saturday). There are no map coordinates, no links to the shop's other profiles, no price range and no service area. And 86 pages call themselves an "Article" written by "albertgalopastor1987", a WordPress login, complete with a Gravatar image. There's no Service, Offer or FAQ markup anywhere. Most of this is a one-sitting fix in Rank Math (H3).
Status, October 7, 2026
| Item | Status | What's live now |
|---|---|---|
| Hours | Fixed Oct 7 | Mo,Tu,We,Th,Fr 08:00-18:00, Sa 08:00-16:00; Sunday omitted (matches Google) |
| Article/Person "albertgalopastor1987" | Fixed Oct 7 | Pages reassigned to the business; the Person node is removed and every Article/BlogPosting author is {"@id": "#organization"} |
| sameAs | Fixed Oct 7 | 6 profiles: Facebook, Instagram, Google Maps place, BBB, CARFAX, MapQuest (playbook target 5–10) |
| geo, hasMap, areaServed, foundingDate, priceRange | Fixed Oct 7 | 29.8650537,-95.7030771; Google Maps place link; Katy, TX; 2017; $$ |
| Service markup | Fixed Oct 7 | A Service node (name, serviceType, provider, areaServed) on 20 service pages |
| BreadcrumbList | Fixed Oct 7 | Rank Math breadcrumb markup on (no visible change to the design) |
| FAQPage | Fixed Oct 7 | On 9 service pages, built from the visible questions |
| More sameAs (Yelp, YellowPages, Nextdoor) | Blocked: listings need fixing first | Their hours/phone conflict with the site; add them after the owner corrects them |
| Official name / legalName | Blocked: client | Site uses "Northwest Express Auto Care"; D&B says "NORTHWEST EXPRESS AUTO CARE, LLC"; GBP says "Northwest Express Care" |
| Founder Person node | Blocked: client | Needs the owner's name |
| Rich Results Test | In progress | JSON-LD parses cleanly on home, service, post and About pages; a manual Rich Results Test run is still to do |
What's Detected
| Page(s) | JSON-LD | Types |
|---|---|---|
| 86 pages (home, every service, every make page, …) | 1 Rank Math Pro @graph | Place, AutoRepair + Organization, WebSite, ImageObject, WebPage, Person (albertgalopastor1987), Article |
| /about/ | 1 Rank Math Pro @graph | Place, AutoRepair + Organization, WebSite, ImageObject, AboutPage |
| /hello-world/ | 1 Rank Math Pro @graph | … WebPage, Person, BlogPosting (the default WordPress post; delete it, H1) |
| Anywhere | — | Missing: geo, sameAs, priceRange, areaServed, hasMap, foundingDate, Service, Offer, FAQPage, BreadcrumbList |
The Current Business Node
This is what Rank Math publishes on every page today (trimmed):
Errors
Status, October 7: Rank Math now outputs Mo,Tu,We,Th,Fr 08:00-18:00 and Sa 08:00-16:00, with no Sunday line. The visible header and footer say the same. The hidden 7:30–5:30 hours in the template code were removed. If the client confirms different hours, change them in one place: Rank Math → Local SEO.
Status, October 7: Turning the schema type off removed all JSON-LD in testing, so the Article type stays. But every page is now owned by the "Northwest Express Auto Care" author, the Person node is removed, and the Article author points at the business node itself. The author archive is disabled.
Status, October 7: 6 sameAs profiles are live: Facebook, Instagram, the Google Maps place, BBB, CARFAX and MapQuest. Yelp, YellowPages and Nextdoor are held back until their wrong hours and phone are fixed.
Status, October 7: geo, a clean hasMap (Google place link), areaServed (Katy, TX), foundingDate 2017 and priceRange $$ are live. The name question (Google listing says "Northwest Express Care") is still with the client.
Status, October 7: addressRegion is now "TX". legalName is unchanged until the client confirms whether to add ", LLC".
Profiles for sameAs
These listings for this business turned up in Brave and Bing results today. Use the exact profile URLs once the client confirms each is theirs, and fix any wrong facts on them first (H6). The playbook target is 5–10.
| Profile | URL (as found) | Fix before linking |
|---|---|---|
| Google Maps | Place ID ChIJ4ZWCvJHXQIYRj8dWFCKALpw (from the site's review link) | Website → nweautocare.com; name (C2) |
| https://www.facebook.com/nweautocare | — | |
| Yelp | yelp.com listing "Northwest Express Auto Care - Katy, TX" | Hours (lists 8–7); claim it (M8) |
| BBB | https://www.bbb.org/us/tx/katy/profile/auto-repair/northwest-express-auto-care-0915-90061328 | — |
| CARFAX | carfax.com/Reviews-Northwest-Express-Auto-Care-Katy-TX_RHXFSY9F1Q | — |
| Nextdoor | nextdoor.com listing | Phone typo 832-683-4478; "30 years / second generation" |
| YellowPages | yellowpages.com listing | Hours (lists 8–7) |
| MapQuest | mapquest.com/us/texas/northwest-express-auto-care-375196925 | — |
| Dun & Bradstreet | dnb.com company profile (NORTHWEST EXPRESS AUTO CARE, LLC) | — |
| AutoTechIQ, ChamberofCommerce.com | listings found | — |
Corrected Business Node (ready to paste, H3)
The cleanest way is to enter these values in Rank Math → Titles & Meta → Local SEO (hours, coordinates, social profiles, price range). If anything Rank Math can't hold is needed, paste the block below as a custom schema in Rank Math Pro and turn off its default business node, so the page never carries two. Two values need the client's OK before publishing: the hours (we used Google's: Mon–Fri 8–6) and priceRange "$$" (our placeholder). Replace the sameAs URLs with the exact profile URLs once confirmed.
Notes: areaServed includes Cypress only because "auto repair cypress tx" (260/mo) is a target; drop it if the client doesn't want it. paymentAccepted reflects the financing page (Synchrony, Koalafi) and should be confirmed. Leave out aggregateRating: Google ignores self-served review stars for a business about itself, and copying the 4.5 / 268 by hand would go stale. Add the founder as a Person once the client gives the owner's name (M6).
Service Markup (one per kept service page)
After the duplicates are consolidated (H1), each kept service page can carry a small Service node pointing at the business. Example for the oil change page; add an offers block only when the client confirms a published price (M4).
FAQ markup: Google no longer shows FAQ rich results for most sites, so FAQPage markup is optional. The question-and-answer structure on the page is what matters for AI answers (M4; see Schema & GEO Tactics).
Checklist
- Done Oct 7: Fix hours (Mon–Fri 08:00–18:00, Sat 08:00–16:00, Sunday omitted) after the client confirms
- Done Oct 7 (different method): author is the business, Person removed. Planned: Pages schema type → None (removes 86 Article + Person "albertgalopastor1987" nodes)
- Done Oct 7 (6 sameAs; 3 more after directory cleanup): Add sameAs (8+ confirmed profiles), geo, hasMap, areaServed, foundingDate 2017, priceRange
- Blocked: client. Decide the one official name and legal name, then match GBP and directories (C2, H6)
- Done Oct 7 (20 pages): Add Service nodes to each kept service page after H1 consolidation
- Partly done: JSON-LD validated by parser on 4 page types. Re-test the homepage and one service page in Google's Rich Results Test and the Schema.org validator; target zero errors
- AutoRepair type, address, phone and logo are already correct