Necro Log 001: The Digital Autopsy of a Schema Data Conflict

Estimated reading time: 6 minutes

I set out to do a performance audit but ended up performing an autopsy. I discovered that BWD wasn’t just struggling with traffic—it was being haunted by a legacy Schema conflict from years ago. This log documents the discovery of that ‘Ghost ID’ and how I finally cut the cord to local purgatory.

The Haunting

Necro Log 001: The Digital Exhumation (Local SEO Audit)

This is my first post in the Necro Dev series of articles that discuss bringing my own dead brand back to life—or the attempt to do so. While I had intended to do a speed and performance audit, fate had different ideas.

I got off track as I was setting up for the day. That thought took me down a rabbit hole I had never considered until this point. I was thinking about the effects of the old site having the www subdomain and the new one being a naked domain, and what that might mean for how Google is indexing the site now. I won’t get into the weeds too much on that, since it is not really what I’m talking about.

That started me thinking about the domain squatter that took over the domain after I walked away from it. If you need to catch up, read Years in Exile: The Resurrection of Buckeye Web Development. I’ll talk more about the squatter and what I’ve done to correct that situation in a future article. I’m not there yet. What is important is that I needed to learn if that transfer is hurting the domain now in any way.

After logging into the Google Search Console, I did not see anything unusual in terms of manual actions or security issues. The website has been online long enough that, in theory, it should be out of the sandbox, so what gives? That led me to take a look at BWD’s search traffic, which I was sure was mostly bots at this point. I discovered something I didn’t see coming at all.

Google was still treating BWD as a local business. I figured this out by looking at my top-performing key phrases, and while the term for the location wasn’t in the phrase, Google associated “buckeye” with—you guessed it—the Buckeye State.

I had a localized keyword phrase as my top-performing query. But why? I deleted my whole Google Business Profile. I didn’t have an address or phone number listed on the website. What could be the problem?

I thought I was building on a clean slate. I was wrong. Underneath the fresh code of the BWD revival, a ghost from the past was still haunting the servers.

The Autopsy: Finding the Ghost in the Code

I decided to open a private browser and do a search for “Buckeye Web Development [City, State]” (using the actual city and state). What I found shocked me. Google’s AI Overview still had me listed as the business owner/operator along with the old business address, although all of the other local aspects you would normally see—like a map, office hours, and address—were gone as they should be. Huh?

I did have some high-authority domains, including GoDaddy themselves, linking to BWD. My author bio did not have the old business address, but it did have the city and state in reference to the Buckeye State. Google’s AI was hallucinating. Or was it? Regardless, it was taking whatever those high-authority domains said as the truth.

I needed a way for Google to forget that address for many reasons. It is an old address, for starters, and having BWD stuck in local purgatory is not how I intend for this to end. I didn’t just want to hide the address; I wanted to know why Google preferred it. Knowing I had Yoast installed on BWD, I started to suspect their Local SEO plugin.

The Local SEO plugin was active but not being used. It wasn’t until I peeked at the source code that I found my troublemaker: "@type": ["Organization", "Place"]. By declaring BWD as a ‘Place’ in the schema data, I was inadvertently tethering the site to an old Ghost Place ID from previous local SEO efforts. Even though I had deleted my Google Business Profile long ago, the ID remained in Google’s Knowledge Graph, waiting for the code (my schema) to confirm its existence. I was essentially providing the heartbeat for a location that was supposed to be dead.

So, what was happening is the AI was falling back on old data or using data from other authority websites like Yahoo Local, Yelp, and MapQuest—or a combination of all of that. Basically, I’ve been screaming “national brand” on the frontend while whispers of “local shop” emanated from under the hood. The algorithm always trusts the code and defaults to high-authority sites when the primary source is confused. To make matters worse, BWD’s schema data “Place” agreed with those other websites.

The Excision: Removing the Digital Rot

The fix at this point was threefold. Basically, a digital eviction:

  1. Plugin Purge: I deactivated the Yoast Local SEO plugin. I also deleted it for security.
  2. Schema Scrub: I viewed the source to verify “Place” was missing along with the opening hours array, and that “Organization” was still there.
  3. Forced Crawl: Inside the Google Search Console, I requested re-indexing for a new crawl so Google can fetch the new data right away.

The Verdict: AI is a Consensus Engine

The lesson here is simple but brutal: Google’s AI is a consensus engine. Since there is no central authority (my GBP) to directly tell Google this is not a local business anymore, Google is asking the witnesses. GoDaddy, Yelp, MapQuest, and my own schema! BWD’s website copy is saying it is a national brand, and the bystanders are all saying, “No it isn’t, it is a local business!” Who is Google going to believe?

Is this going to work 100%? I honestly think it will, but time will tell. It could take a couple of weeks for everything to update. I’ll take another look at it when the dust settles. Hopefully, this gets BWD out of local purgatory and into the national game where I can begin optimizing for that.

What I learned today (and some of it was reinforcement rather than true learning) is that Google doesn’t simply read your marketing copy and go “OK.” Your title tags and meta tags don’t matter if Google can’t verify what you’re telling it. If you are the one telling it the same thing the bystanders are telling it (that you are a local shop), no amount of national branding is going to fix that.

Anyway, Ghostbusters 101 here today. That ghost is gone, and BWD should no longer be a location on a map. It is now officially an entity on the web.

It’s time for a peer review! I’ve laid out the findings. If you’ve seen this ‘Ghost Place ID’ bug before or have a different theory on the consensus engine, I want to see it in the comments.

Key Takeaways

  • The author discovered a legacy Schema Data Conflict that caused BWD to be misclassified as a local business.
  • Google associated BWD with a local address due to old schema data despite having deleted the Google Business Profile.
  • The solution involved deactivating the Yoast Local SEO plugin, cleaning the schema data, and requesting a re-indexing in Google Search Console.
  • The author emphasizes that Google acts as a consensus engine, relying on schema data and high-authority sites.
  • The goal is to transition BWD from a local business to a national brand, addressing the internal and external signals conflicting with this identity.

Necro Dev
Necro Dev

Daymon Hoag is the Founder of Buckeye Web Development. A self-taught developer since 2003 and a professional in the field since 2007, he combines years of technical grit with a modern focus on brand identity. He helps clients scale by building websites that function as high-performance brands, not just digital infrastructure.

Share your thoughts, tips, and ideas

Leave a reply

Let’s talk shop. Drop me a line if you need to reach out—I'd love to hear from you.
  • BWD Studio
  • About BWD

Buckeye Web Development © 2012-2026 All Rights reserved.

Buckeye Web Development, LLC
Logo
Register New Account