Client Story · Work Continues
From a new site to links in ChatGPT and Gemini in six weeks.
AZ Coatings provides commercial polyurea roofing in Michigan, Florida, Ohio, and Indiana, with offices in Southeast Michigan and Southeast Florida. We began work on April 8, 2026. Its new 7-page WordPress site had almost no business schema, and our initial tests did not find it in answers to target questions.
After six weeks and six stages of work, our tests found AZ Coatings in ChatGPT and Gemini. ChatGPT named it, linked to it, and showed a 5.0 map rating. Gemini linked to it in answers. We tested questions like “polyurea roof coatings” and “polyurea commercial roofing” with a location added. Work continues.
Snapshot
Client
AZ Coatings LLC
Commercial polyurea roofing across several states, with offices in Southeast Michigan and Southeast Florida.
Engagement
Started Apr 8, 2026
Six stages in six weeks. Work continues.
Starting Point
No business structured data
A new 7-page WordPress site. We could use only its REST API and admin screen, with no SSH or Git access.
Six Weeks In
Linked in ChatGPT and Gemini
A 5.0 ChatGPT map rating in our Michigan test. Links in Gemini answers too.
Proof in AI Answers
What our tests found.
These are unedited images of real ChatGPT and Gemini tests. They show AZ Coatings named, linked, and on the map. The short source text uses our new search descriptions. The answers also use terms from the rebuilt Polyurea page.




Where We Started
What it looked like on April 8.
The new site had no blog or schema markup. We had no direct server access. Those limits shaped how we made each fix.
- Stack
- WordPress 6.x, Hello Elementor, Elementor Pro 3.35, LiteSpeed Cache
- Hosting
- Hostinger shared
- Access
- WordPress REST API and admin screen only. No SSH, Git, or CI.
- Pages
- 7 (Home, About, Contact, Polyurea Roofing, Industrial, Michigan, SE Florida). No blog.
- Structured data
- Almost none beyond plugin defaults
- Similar brand names
- AI could mix it up with AZ Custom Coatings in Tempe, AZ
- Founding date
- Site said 2003. Actual: 2021.
Six Phases (so far)
The work, broken out.
Each stage shows when we made changes, why we made them, and what went live.
Improve search and AI search
Add business schema and link each office to the main organization.
- Two new regional pages (Michigan, Southeast Florida)
- Service, RoofingContractor, DefinedTerm, HowTo, Review, and Person code on five core pages
- Link Michigan HQ and the Florida office to the main Organization as subOrganizations
- Add "Meet the Founders" with Person markup for Jason and Zyljana Daggy
Help AI find clear answers
Write direct answers and new search descriptions for polyurea roof searches.
- Add 6 sections and FAQ code to each of Polyurea, Michigan, and SE Florida
- Add 3 sections and Service code to Industrial. Cover 5 services: roofs, floors, spill containment, water treatment, and hangars.
- Add 18 links between the 5 target pages
- Fix the home page search description and text copied from Michigan to Florida
Clean up structured data
Records with the same @id were being merged. We gave each ID one main source.
- Keep one main source for each @id. The SEO plugin supplies the base Organization. Extra site code only adds fields.
- Use only @id when linking to an existing record
- Remove repeated FAQPage blocks
Improve the home page and video code
Google flagged "Video isn't on a watch page." We changed the code and kept the video.
- Add VideoObject code with uploadDate, duration, thumbnailUrl, and publisher @id
- Clean up skill icons and match the text styles
- Address the Google warning with structured data while keeping the video
Add a blog to the site
The theme and page builder did not switch to the Single Post template. We built each post directly.
- Put the hero, text, author, and call to action in each post's Elementor data with the canvas template
- Fix archive CSS that moved thumbnails by about 190px
- Prepare 5 posts. Publish 1 at /blog/polyurea-vs-silicone/.
- Add BlogPosting code to each post. Link to existing records by @id without repeating their main fields.
Keep site facts clear and fresh
Fix matching brand facts, update dates, and short text that defines terms.
- Shorten the blog's search title from 83 to 56 characters
- Use "AZ Coatings" in bylines, quotes, and the bio, in place of "AZ Coatings LLC"
- Add a small mu-plugin to set dateModified on blog, category, and author lists. The SEO plugin did not add these dates.
- Add disambiguatingDescription and 5 alternateName values. These help tell the Michigan brand apart from AZ Custom Coatings in Tempe, AZ.
- Change 5 old "2003" dates to "2021" in the text and code
- Use the same footer brand in UAE template post 16
What May Have Helped
Show one clear business
The site connects both offices and founders to one business. Its Michigan and Florida locations help distinguish it from a similarly named Arizona company.
Answer real buyer questions
New Michigan and Florida pages and a rebuilt Polyurea section answer key questions. What is polyurea? Can you walk on it? How does it compare with a new roof, and what does it cost? AI now has clearer source text to use.
Keep facts and dates in sync
We keep blog and archive dates accurate, with consistent founding-year, service, and location details across key pages.
Beyond The Site
The site is one part of AEO.
The work above covers site code, content, files, and dates. AI may also use facts from other sites. Local business lists, trade groups, review sites, and Google Business Profile can back up or conflict with your site.
We first observed citations after the site changes. The next stage builds consistent business details on independent sites in each state the company serves:
- Local business lists in Michigan, Florida, Ohio, and Indiana. Chambers of commerce and city or county lists help buyers and AI check where the firm works.
- Trade directories and associations for polyurea, commercial roofing, and floor coatings provide independent evidence of the company's expertise.
- Local roof review sites and trade news. These add outside reviews and mentions alongside the 5.0 Google rating.
- Keep Google Business Profile current with services, photos, posts, and reviews. Its facts should match the site.
Consistent details across independent sources help buyers and AI verify a business. The site work clarified those details; the next stage strengthens outside support. See the 16-check method to learn how independent sources fits the full plan.
Six Weeks In, By The Numbers
The site now has Organization and RoofingContractor code, with both offices linked as subOrganizations. It also has Service, DefinedTerm, HowTo, Review, Person, VideoObject, BlogPosting, and FAQPage types. A small mu-plugin sets archive update dates. Three site-wide snippets add LocalBusiness Organization facts, an llms link tag, and FAQPage code.
The score uses the same 16 checks as the free AEO check on this site. It checks structured data, files AI can read, matching brand facts, clear meanings, and other site details.
What We Learned
Structured data helped with limited site access
We rewrote metadata and business schema and added two local pages. Together, these clarified the business and its services. We cannot isolate the impact of each change.
MCP lets us edit WordPress with tools
The Elementor MCP plugin provided 97 tools for targeted edits on live and test pages. We kept the source files in Git and used MCP to apply changes.
@id collisions are invisible until they break
Google merged entities with the same @id and flagged duplicate fields. We kept one full definition per ID and linked to it from other blocks using only its @id.
Clear caches and check the page
Edits needed both an Elementor CSS clear and a LiteSpeed cache clear to show up. Once, "Clear Files and Data" removed a custom font across the site. We now check fonts after clearing caches.
Get approval for text AI may quote
We can make hidden code and sitemap fixes within the agreed scope. We get approval for each HowTo, FAQ, or Person text change that AI may quote.
Tell similar brands apart
AI could confuse AZ Coatings with a company in Tempe, Arizona. We added disambiguatingDescription and alternateName fields to distinguish the businesses.
What’s Next
Work continues.
These are the tasks in progress as the project moves to its next stage.
Track citations with Canonry
Canonry tracks AZ Coatings buyer questions across ChatGPT, Claude, Gemini, Perplexity, and Copilot. Each check records Michigan as the target location, saves new citations, and flags declines.
Build proof on other sites
We are adding consistent business details to local directories, trade groups, and review sites in Michigan, Florida, Ohio, and Indiana. We choose credible sources for each state's market.
Improve Google Business Profile
Our Michigan test showed a 5.0 map rating. Next, we will maintain the profile with current service details, photos, posts, and new reviews.
Publish more blog posts
Four draft posts follow the live polyurea-vs-silicone post. Each gets BlogPosting code that links to existing records by @id.
Score each changed page again
Before a change goes live, the team runs the 16 site checks on that page. We check if the score changed as planned.
Start with a free check of your own site.
This project uses the same 16 checks as our free tool. Run it to check your structured data, AI files, brand facts, and clear answers.