Free SEO Reports as the Link Engine for the Boulder Sites
Private deliverable. Enter the hub password to continue.
That's not right. Try again.
Free SEO Reports as the Link Engine for the Boulder Sites
August 3, 2026 · The idea is right, the audience order is wrong, and you have already built most of it
Short version
This is the best link idea on the table, and it's better than the routine I built you earlier today, because it fixes the audience problem you just identified. A reporter doesn't care about their site's SEO. A business owner cares about almost nothing else.
Two things I'd change before you start:
- The order. You listed restaurants first. They're the hardest of the five to get a link from. Realtors and moving companies are the easiest and you have no data on them yet.
- Nothing new needs building for two of the five. The audit already exists in your database.
What you already have
I went looking before answering, and the engine is largely built.
TasteBoulder carries a websites table with 584 live Boulder business sites
crawled across 30 fields: SSL, viewport meta, robots.txt, sitemap, schema.org,
LocalBusiness schema, Restaurant schema, menu presence, online booking, email capture,
and contact_email.
On top of that sits a seo_gaps table, 769 rows, already scoring eleven specific
failures per business:
no_website · missing_schema · missing_restaurant_schema · missing_robots ·
missing_sitemap · missing_meta_desc · missing_email_list · missing_booking ·
missing_menu · missing_socials · unclaimed_gbp · plus a composite gap_score
And you've already turned that into prospects: prospects.json has 429 scored
entries, outreach.json has 99 with contact details.
MedSpasBoulder holds a further 829 businesses.
So for restaurants and med spas the audit is done. What's missing is the report a human can read, and a decision about which of your sites the link should point at.
The thing to get right: match the business to the site
A free audit gets you the conversation. What gets you the link is whether there's an honest place on their site to put one. That varies enormously by business type, and it is what should decide your order.
| Business type | Which of your sites | Will they link? | Why |
|---|---|---|---|
| Moving companies | NewToBoulder | Best | They already publish relocation resources for clients. A "new to Boulder" guide is exactly what belongs there, and you're not a competitor in any sense. |
| Realtors | NewToBoulder | Best | Same logic. Agents keep neighborhood and relocation resource pages, and linking one costs them nothing. |
| Hotels, lodging | TasteBoulder + BoulderThingsToDo | Strong | Guests ask where to eat and what to do, daily. A current guide beats their laminated sheet. |
| Things-to-do venues | BoulderThingsToDo / OutdoorBoulder | Good | They want visitors in town and have a "plan your visit" page. |
| Restaurants | TasteBoulder | Hardest | Your site lists their competitors. Most have no natural page for it. The realistic slot is a press or "as featured in" mention. |
| Med spas | MedSpasBoulder | Hardest | Same problem as restaurants, for the same reason. |
You instinctively led with the two hardest categories. That's worth knowing before you spend a month on them. Restaurants and med spas are where your data is, which is why they came to mind, but relocation businesses are where the links are.
The good news is the fix is cheap: realtors and movers are a small, easily-scraped set in Boulder, a few hundred at most, and you already own the scraper that built the other databases.
What the report has to be
Not a 40-page PDF. Those read as automated even when they aren't, and an owner won't open one from a stranger.
Three findings, specific, in the email body. Something like:
Your site has no meta description on 11 of its 30 pages, so Google is writing its own and it's pulling your address. You have no LocalBusiness schema, which is why you're not showing hours in search results. And your Google Business Profile is unclaimed, which means anyone can suggest edits to it.
Every one of those is already a boolean column in seo_gaps. The report is a rendering
job, not a research job.
Put the full report behind a link on your own site, one page per business. That does three things at once: it's easier to read than an attachment, it gives you a URL to reference in the follow-up, and if they share it internally the link they share is yours.
The rules that keep this clean
- Never condition the report on a link. Same policy point as everything else today: exchanging services for links is the named example in Google's spam policy. Give the report, ask for nothing. The link comes because you helped them, or it doesn't come.
- Don't send the same three findings to everyone. If the report is generic, it's marketing. Pull each business's actual gaps.
- Say who you are. You run these Boulder sites. They'll find out; hearing it from you first is what makes the rest credible.
- Don't fix it for them and invoice later. This is a gift or it's a sales tactic, and people can tell the difference immediately.
- Expect a lot of "thanks" and no link. That's fine and it's still working: this doubles as qualified lead generation for SEO Believer. Anyone who replies asking "can you fix this?" is a client conversation you didn't have to cold-call.
The honest weaknesses
Small local businesses have small link value. A Boulder moving company might have 40 referring domains of its own. It's a relevant local link, which counts, but you'd need a lot of them to move the needle alone. This works as a steady drip alongside the press and directory work, not as a replacement.
It's real work per business. The audit is automated; the judgment about what to say isn't. Budget realistically: maybe 20 to 30 good personalized emails a day, not 100.
Some owners will never see it. contact_email is populated for a fraction of the
584. The rest need a contact form, which is slower and less personal.
And the reciprocity is one-directional by design. You cannot ask, so your conversion rate is whatever goodwill produces. That's the price of doing it cleanly, and it's worth paying.
What I'd do next
- Scrape realtors and moving companies in Boulder into their own table, using the same pipeline that built the restaurant and med spa databases. That's the missing input and it's the highest-value one.
- Build the report renderer: one page per business on a site of yours, driven by
seo_gaps, three headline findings plus the detail. - Start with movers and realtors pointed at NewToBoulder. Best fit, least awkward, cleanest link.
- Then hotels, pointed at TasteBoulder and BoulderThingsToDo.
- Restaurants and med spas last, and treat a link there as a bonus rather than the goal. The real return on those two is SEO Believer leads.
Say the word and I'll start with the report renderer, since it's the piece every category needs and it's a day's work against data you already hold.
Published to Annette's hub. Rebuilt from the source markdown, so edit the source and rerun rather than editing this page.