Almost every contractor I talk to already has a website, and usually it is one page. A photo across the top, a row of services, a gallery, a phone number, a form at the bottom. Most of them look fine. Then the same question comes every time: why does it never show up on Google?

The answer is not the design. That page can be sharp, fast and good looking and still be close to invisible, because of how the search engine works. Once you see it, the fix is obvious and it is not expensive.

Google indexes pages, not businesses

Google describes its own process in three stages: crawling, indexing, and serving results.1 Crawling is Googlebot downloading what it finds on the web. Indexing is Google reading a page and working out what it is about. Serving is choosing which of those stored pages to show when somebody types a search.

The word doing all the work in those three sentences is page. Google does not rank your business. It ranks a page. So when a homeowner searches for lanai rescreening in their town, Google goes looking through its index for a page about lanai rescreening. If your entire website is one page covering rescreening, pressure washing, gutter cleaning and handyman work in eight bullet points, you have handed Google one page that is slightly about eight things instead of eight pages that are each entirely about one thing.

Google also says outright that indexing is not guaranteed, and that low quality content is one of the common reasons a page never gets indexed at all.1 A single page trying to carry a whole trade in one scroll is thin by construction. There is nowhere to put any depth.

One page means one title and one shot

Every page gets one title element, and Google leans on it heavily when it builds the blue link in the results. Its guidance is to give every page on the site a distinct, descriptive title, and it specifically warns against repeated or boilerplate titles that only vary by a word.2

On a one-page site you get exactly one. Something like "ABC Plumbing | Serving the Local Area." That title has to compete for water heater replacement, drain cleaning, repipes and emergency calls all at once, against companies who wrote a title for each. It loses every one of those matchups, and it is not close.

You cannot write one title that wins five different searches. The other guy wrote five titles.

Compare that to how the plumber sites and HVAC sites I build are laid out. Water heater installation gets its own page and its own title. Drain cleaning gets its own page. Emergency service gets its own page. Each one is allowed to be genuinely about its subject, in the words a customer types, and each one gets its own shot at the results.

Anchors are not pages

The common pushback is that a one-page site does have sections and the menu jumps to them. Services, About, Contact, all on the same page with a smooth scroll. Does that not count?

No. A jump link ending in a hash mark points at a spot on the same page. Google finds new pages by extracting links from pages it already knows about, and by reading your sitemap.1 A link to a section it already has is not a discovery. Nothing new to crawl, nothing new to index, nothing new to rank.

Real internal links matter for a second reason. Google uses links both to find pages and as a signal about what those pages are about, and it asks for descriptive anchor text instead of "click here."3 That only works when there is a real page on the other end. A site with a page per service and a page per area gives you dozens of chances to tell Google in plain English what each one covers. A one-page site gives you zero.

The areas problem

Local results are ranked on relevance, distance and prominence.5 Relevance is how well what you have published matches what was typed. That includes the town.

Most one-page sites handle geography with a line in the footer: serving the surrounding area and nearby communities. That is not much for Google to match against a search that names a town. What matches is a page about that town, with the neighborhoods, the housing stock and the jobs you actually do there.

That is exactly why this site has a page for Sarasota, a page for Tampa, a page for Venice and so on, all gathered on one locations hub, rather than a list of city names in small type at the bottom. It is the same structure I build for a contractor, with your towns in place of mine. The trade side works the same way: pressure washing, screen repair, landscaping, electrical and the rest each get a real page, all linked from the trades index.

One warning worth saying out loud, because a lot of cheap SEO packages get people in trouble here. Do not build twenty near-identical town pages by find-and-replacing the city name. Google groups pages with similar content together and picks one of them as the canonical to show, and the rest become alternates.1 Twenty copies of the same page do not give you twenty rankings. They give you one, and a site full of pages that were not worth writing. If you cannot say something true and specific about working in a town, do not make a page for it yet.

The part you cannot see: structured data

There is a layer of the page a visitor never sees. Structured data is code that states, in a format Google reads directly, what kind of thing the page is: a local business, a service, a price, a set of questions and answers. Google publishes the specification for local business markup and a Rich Results Test to validate it before you ship.4

It is not magic and it is not a cheat code. What it does is remove ambiguity. Instead of hoping Google infers from your paragraphs that you are a plumbing company in a specific city charging a specific range for a specific job, you tell it in a language built for the purpose. Every trade and city page on this site carries service, breadcrumb and question-and-answer markup for that reason. View the source of any of them and read it.

A one-page site usually carries none of this, or one generic block describing the entire business at once. Same problem as the title. One slot, many jobs.

What the right structure looks like

Nothing here is complicated. It is just more pages than most contractors were sold.

Then answer the phone

This is the mistake I see right after the first one gets fixed. Ranking is the hard half. Wasting the calls it produces is the stupid half. A site that finally shows up and then sends people to voicemail costs you more than the invisible one did. Work out the number on your own call log, then set up the text-back before you worry about anything else.

If you have a one-page site and you are wondering whether it is worth rebuilding: probably, and it costs nothing to find out. The system I build includes the whole structure above, built before you pay anything. $297 a month once it is live and you like it, no contract. If you would rather watch me explain it, the short version is here.

Want this built for you?

I build the website by hand, free. You don't pay a dollar until it's live and you like it — then it's $297/mo, no contract, cancel anytime. Or just get the next post in your inbox.

  1. 1. Google Search Central, In-depth guide to how Google Search works: crawling, indexing and serving results. https://developers.google.com/search/docs/fundamentals/how-search-works
  2. 2. Google Search Central, Influencing your title links in search results: one descriptive title per page, no boilerplate. https://developers.google.com/search/docs/appearance/title-link
  3. 3. Google Search Central, Link best practices for Google: crawlable links and descriptive anchor text. https://developers.google.com/search/docs/crawling-indexing/links-crawlable
  4. 4. Google Search Central, Local Business (LocalBusiness) structured data documentation. https://developers.google.com/search/docs/appearance/structured-data/local-business
  5. 5. Google Business Profile Help, Improve your local ranking on Google: relevance, distance and prominence. https://support.google.com/business/answer/7091