‹ Blog

Yellow Pencil's 90 Days: A Week-by-Week Operational Log

The mistakes, the reverts, and the three fixes that stuck — day by day.

January 15, 2024: the morning I opened the laptop

It was a Monday. I sat down at the kitchen table in Markham with a cold coffee and typed best renovation contractor Markham into ChatGPT. It named four competitors. It did not name Yellow Pencil. I typed kitchen renovation Markham Ontario. Same result. I typed my own company name. ChatGPT gave me a generic answer about pencils.

I had been running Yellow Pencil for eleven years. We had a Google ranking. We had reviews. We had photos. And in the new search layer that my customers were actually starting to use, we did not exist.

I gave myself 90 days. I kept a running note in a Google Doc titled yp-geo-log.txt. What follows is that note, cleaned up. The GEO Score arc (23 to 34 to 52 to 67) is covered in the other post on this site. This one is the week-by-week.

Week 1: the audit

I spent the first week doing nothing but reading. I pulled the HTML source of every page on yellowpencil.ca. I ran it through three free schema validators. I had exactly zero structured data on the site. None. Not even an Organization block. The eleven-year-old site was clean HTML and nothing else.

I also ran the same ten queries through ChatGPT, Perplexity, and Google AI Overviews every morning that week and wrote down which competitors got cited. Three names kept showing up. Two of them had LocalBusiness schema on their homepage. One had a long FAQ section that looked copy-pasted from a forum.

By Friday of week one I had my hypothesis. Schema first, FAQ second, third-party mentions third. In that order.

Weeks 2 and 3: LocalBusiness schema, and the first Perplexity citation

I wrote the LocalBusiness block by hand in a text editor. Name, address, phone, hours, service area, price range, nine service types, geo coordinates from Google Maps. I did not use a plugin. I pasted it into the header template and pushed it live on January 29.

Nothing happened for eight days. I refreshed Perplexity every morning like a teenager refreshing a text thread. Then on February 6, I asked Perplexity who does bathroom renovations in Markham and it returned a three-paragraph answer with a footnote that said Yellow Pencil. The link went to my contact page. I took a screenshot and texted it to my wife. She did not understand why I was excited.

GEO Score went from 23 to 34 in that window. Perplexity was clearly reading the schema. ChatGPT was not citing me yet, but my branded search volume in Google Search Console went up 12 percent week-over-week. Something was moving.

Week 4: the duplicate schema mistake

This is the part of the log I am least proud of. I got greedy. I figured if one LocalBusiness block worked, maybe two would work better. I added a second block on the contact page with slightly different wording. I also added a third on the about page with the founder marked up as Person schema but nested inside another LocalBusiness block.

This was wrong. Google's rich results tester flagged it within two days. The Perplexity citation rate dropped. I did not lose the citation entirely but the frequency went from roughly one in three tested queries to one in seven. Somewhere in the stack, the duplicate blocks were confusing whatever crawler or embedder was picking up the data.

Lesson, filed in the log: one canonical LocalBusiness block per site. Not per page. Per site. Put it in the global header and stop.

Week 5: the revert

I stripped out the two extra blocks on February 22. I left only the homepage header version. I did not touch anything else for a full seven days because I wanted to see the recovery curve cleanly without confounding variables.

By March 1 the Perplexity citation rate was back to roughly one in three. GEO Score held at 34. No progress, but no damage either. This was the week I learned that patience is part of the job. In renovation work you can pour concrete on Monday and see the slab on Tuesday. GEO does not work that way.

Note

The single most expensive week of the 90 days was the one where I did nothing. Not because nothing happened, but because I almost broke my patience and started layering new changes on top of a system that had not stabilized yet. Wait for the baseline to reassert before you push the next change.

Weeks 6 and 7: FAQPage schema on four service pages

Starting March 4, I picked the four service pages with the most organic traffic: kitchen renovations, bathroom renovations, basement finishing, and full home remodels. I wrote eight questions per page. Real questions, the kind customers actually ask on a first call. How long does a kitchen reno take in Markham? Do I need a permit for a basement bathroom? What does a mid-range bathroom cost in 2024?

I made one mistake in week 6 that cost me another half-week. I over-optimized the FAQ wording. The first draft of the kitchen page had every answer starting with the phrase kitchen renovation in Markham. It read like robot spam. I tested it for five days. Nothing cited it. I rewrote every answer on March 11 in plain conversational English and redeployed.

By March 18, two of the four FAQ pages were being pulled into Perplexity answers with direct quote citations. GEO Score moved from 34 to 52.

Weeks 8 and 9: ChatGPT starts citing for branded queries

This is where it got interesting. On March 25, I typed is Yellow Pencil a good renovation contractor into ChatGPT and it returned a three-sentence answer that referenced our website directly. Branded queries only, but it was the first time ChatGPT had named us in any context.

Through the rest of week 9 I tested roughly 40 variations of branded queries. Hit rate was about 70 percent. For unbranded queries like best renovation contractor Markham, ChatGPT was still naming the same four competitors from January. I was in the consideration set for people who already knew my name. I was not yet in the discovery set.

Weeks 10 and 11: Reddit, three threads, done carefully

I am not going to pretend I enjoyed this part. I found three threads on r/askTO and r/ontario where someone was asking about Markham contractors. I answered each one honestly, as myself, with my actual username that had seven years of history on the platform. I disclosed that I ran Yellow Pencil. I did not link to my site in two of the three. The third one I linked because the question specifically asked for a portfolio.

Two of the three comments got upvoted into visibility. One got three replies from other homeowners confirming they had heard of us. This is the part of the 90 days that cannot be automated, and I think that is the point.

Weeks 12 and 13: ChatGPT cites on broad queries

On April 10, I asked ChatGPT recommended home renovation companies in Markham Ontario from a fresh browser session, logged out, no context. It returned five names. Yellow Pencil was number three. The citation linked to our homepage.

I tested the same query from four different devices over the next three days. Hit rate was 60 percent on broad queries. GEO Score landed at 67 on April 14, day 90.

What I would tell myself on day 1

One LocalBusiness block, site-wide. Real FAQ wording, not optimized wording. Reddit only if you already have an account with history. Wait seven days between changes. Keep a log.

If you want to run the same audit I ran in week 1, the free tools at /free-tools/ai-visibility/ will get you the starting GEO Score in about two minutes. If you want the ongoing monitoring that I wish I had during weeks 4 and 5 when I was flying blind, look at /pricing/.

Questions about the log, or about anything I skipped over here, go to hello@rankinglocal.ai is read by me directly.