Local SEO
Local SEO for CPR Companies: The Page Structure
August 3, 20268 min readCPR West Covina
Almost every CPR training website has the same shape. One homepage trying to rank for every course in every city, a contact page, and a blog post from a few years ago. Google receives one page and eight different buying intents, ranks it weakly for all of them, and strongly for none.
The fix is structural, not cosmetic. Here is the structure we run on our own site.
Hub and spoke, in plain terms
A hub is a page about a category. A spoke is a page about one specific thing a person can buy. Hubs link down to spokes, spokes link back up to their hub, and spokes for related products link sideways to each other. Nothing links to everything.
For a CPR training company that produces four layers.
- 01Homepage. Who you are, where you teach, what a class is like, and the routes into everything else.
- 02Certifying body hubs. One for AHA, one for Red Cross, listing the courses under each.
- 03Course hubs. BLS, ACLS, PALS, Heartsaver, First Aid. One page per course, explaining the course itself.
- 04Buyable spokes. Course plus city, course plus format, course plus renewal. This is where the money is.
A page like BLS certification in your city is a spoke. It sells one course, in one place, with real dates and a real price and a way to pay. It is not an essay about the history of chest compressions.
Course pages: one page per thing you sell
If you sell BLS, ACLS, PALS, Heartsaver, and a Red Cross first aid course, that is five course pages minimum. Not one courses page with five sections. Five pages.
Each one answers what the buyer of that course is actually asking: who needs it, how long it takes, what the card is and how long it lasts, what it costs, when the next class runs, and what happens on the day. If a page cannot answer the price and the next date, it is a brochure and it will convert like one.
Renewals get their own pages. A person searching for a BLS renewal has a card in hand, a deadline, and a different question than a first-timer. Sending both to the same page means the page half-answers both.
City pages: the part everyone does badly
The failure mode is templated city pages. Same three paragraphs, city name swapped, published forty times. Google treats those as thin, and it does not just ignore them, it lets them drag on the pages that would otherwise have ranked.
Our rule is simple: if you cannot write two paragraphs that only make sense for that city, do not build the page. A real city page names the class times that serve that city, gives directions and parking from that direction, mentions the hospitals, schools, or employers whose staff come from there, and answers what a person in that city would actually ask.
Twelve real city pages beat sixty templated ones, and they beat them on the templated pages' own keywords.
Build city pages for places you actually teach or where students realistically drive to you. Stop there.
The 89-page migration, and what it taught us
We moved 89 pages of our own site to server-rendered HTML with a full redirect map, and kept the rankings. Zero orphaned pages, nothing lost in the move.
The reason we did it is the reason this matters to you. The old site rendered its text in the browser. A human opening it saw a beautiful page. Google's crawler fetched a mostly empty container and the words arrived later, if at all. You can write perfect content on a site like that and rank for nothing, because the crawler never sees the content you are so proud of.
Check this before you spend a dollar on content. View the page source, not the inspector, and search for a sentence from the middle of the page. If it is not in the HTML, that is your problem, and no amount of writing will fix it.
The three things that made the migration boring, in a good way: a redirect map built from the live URL list before anything moved, internal links updated to the new URLs rather than relying on redirect chains, and a check that every page was reachable by clicking from the homepage. An orphaned page is a page you published and Google cannot find.
Need a hand
Want to know which of the four problems is yours?
Book 15 minutes. We will open your site and your Business Profile live and tell you whether the issue is crawlability, structure, thin city pages, or the profile itself.
Book a 15-Minute CallInternal links are the part that makes it work
Structure without linking is just a folder. The links are what tell Google which page owns which topic and stop your own pages from competing with each other.
- Every course page links to its city variants, and every city page links back to the course page.
- Related courses link sideways. BLS links to ACLS and PALS, because the same buyer often needs them.
- Renewal pages link to the full course page for people who are past the renewal window.
- Link with descriptive text. Click here teaches Google nothing about the destination.
Do this and your pages stop cannibalizing. Skip it and you will have twenty pages all half-ranking for the same query while a competitor with five pages beats all of them.
Order of operations
Crawlability first, because everything else is wasted if the crawler sees an empty container. Google Business Profile second, because it moves fastest and often outperforms the website for city and near me searches. Course pages third. City pages fourth, and only for cities you can defend. Internal linking as you go, not as a cleanup project at the end.
That is the whole method. We run it on our own site and it is what our SEO service does for other training companies, at $500 a month for one location.
Troubleshooting
Questions we get asked
How many city pages should a CPR training company build?
Do I need a separate page for every course?
How do I know if Google can actually read my site?
How long does local SEO take for a CPR business?
Need a hand
Tell us what your training company is stuck on
Fifteen minutes, on a call, looking at your real account or your real site. We will tell you what we would do first, including when the answer is nothing yet.
We run CPR West Covina: 4.9 from 300+ Google and Yelp reviews.
