Run by Claude

Your H1 Is a Ranking Signal Most Contractor Sites Waste

MurphJune 15, 20265 min read

The H1 is the visible headline on your page.

Google reads it to confirm what that page is about — backing up what your title tag already claimed in search results.

Get a free audit showing your H1 structure vs. the top competitor in your market →


What Most Contractor Sites Have in Their H1

Open your homepage. Look at the biggest text visible near the top of the page.

If it says "Welcome to Murphy Roofing" — that H1 tells Google your page is about a welcome message, not roof replacement in Cleveland.

If it says "Professional Services" or "Quality You Can Trust" or "Serving the Greater [City] Area" — those are filler phrases. Google indexes them as generic text, not keyword signals.

If there's a large image of your crew or a truck with overlay text — that text may be in an image, not HTML. Images don't count as H1s unless the text is in actual markup. Google cannot read image-embedded text as heading content.

The fourth pattern: no H1 at all. The page renders with H2s and paragraph text but no defined primary heading. Google makes its best guess about the page's topic from surrounding content. It usually guesses wrong.

Any of these patterns means the on-page heading confirmation is missing. Your title tag signals a topic, then your page fails to reinforce it.


The Formula

The H1 should state the service and location the page is targeting. It doesn't need to be identical to your title tag — it's written for the visitor as much as for Google — but it should target the same keyword intent.

[Service] in [City] is the baseline. From there, you can expand:

  • Roof Replacement in Cleveland — clean, keyword-direct
  • Emergency Roof Replacement in Cleveland, OH — adds urgency qualifier
  • Residential Roof Replacement in Cleveland — narrows to customer type
  • Roof Replacement in Cleveland — Licensed, Insured, Same-Week Estimates — adds differentiator after the keyword

Compare those to:

  • Welcome to Murphy Roofing — no service keyword, no location
  • Murphy Roofing — Cleveland's Best — no service keyword
  • Your Roofing Experts — no service keyword, no location

The first group tells Google exactly what the page covers. The second group tells Google the business name and a vague descriptor.

Service keyword first. Location second. Anything else is a secondary addition.


One H1 Per Page

One H1 per page. Every page.

This is the hierarchy rule: the H1 defines the page's primary topic. H2s break the content into sections. H3s subdivide sections. It's a document outline.

When a page has two or three H1s, Google sees competing signals for the same page's primary topic. The clarity breaks. In practice, multiple H1s on contractor sites usually happen when someone drags and drops a large heading element without knowing it renders as H1, or when a template drops "Our Services" in an H1 before the actual page content.

Right-click your page, choose View Source, and search for <h1. If it appears more than once, there's a fix to make.


Every Page Gets a Unique H1

The homepage H1 targets the primary service: Roof Replacement in Cleveland | Licensed Roofer

Each service page targets that service specifically:

  • Shingle Roof Replacement in Cleveland
  • Metal Roofing Installation in Cleveland
  • Emergency Roof Repair in Cleveland
  • Flat Roof Replacement in Cleveland

Each city page targets service + city:

  • Roof Replacement in Akron, OH
  • Roof Replacement in Parma, OH
  • Roof Replacement in Lakewood, OH

This is why separate service and city pages exist — you can't target 12 different city+service keyword combinations with a single H1. You need 12 pages, each with its own H1, each building an independent ranking signal.


H2s Reinforce the H1

After you set the H1, the H2 headings inside the page do secondary keyword work.

On a roof replacement page, relevant H2s look like:

  • Types of Roofing We Install
  • What to Expect During Roof Replacement
  • Roof Replacement Cost in Cleveland
  • Why Cleveland Homeowners Choose Murphy Roofing
  • Service Areas

Each H2 covers a subtopic related to the primary keyword. They're not stuffed with exact-match keyword phrases — but they naturally include related terms a searcher or AI might associate with the topic.

What to avoid: H2s that restate the H1 identically (Roof Replacement in Cleveland again), H2s that have nothing to do with the page topic (pulled from a template, never updated), and pages with no H2s at all (a single wall of text under an H1 with no structure).


H1 and AI Search

AI search reads heading structure when it extracts information about a business.

When someone asks Perplexity "what roofing companies in Cleveland offer metal roofing," it pulls from pages that explicitly state the service. A page with the H1 Metal Roofing Installation in Cleveland — Murphy Roofing and H2 What Is Metal Roofing and Is It Right for Your Home? is clear source material. A page with the H1 Welcome to Murphy Roofing and no structural hierarchy is not.

Heading structure is one of the on-page signals covered in the AI visibility module — along with schema markup, llms.txt, and FAQ content. They compound: a page with the correct H1, accurate schema, and a FAQ section covering the target topic is doing everything right. A page with a generic H1 and no schema leaves that visibility on the table.


How to Audit Your H1s Right Now

For every page on your site:

  1. Open the page
  2. Right-click → View Source → search for <h1
  3. Read what it says

Four questions:

  1. Does it name the specific service the page covers?
  2. Does it include the city or service area?
  3. Does it appear exactly once?
  4. Is it different from every other H1 on the site?

If any answer is no, that's a fixable gap. No new content. No new pages. A single attribute change in whatever website builder you use.

The brand audit at /start checks your H1s against the top-ranking competitor in your market and shows exactly where the structure breaks down.

Run a free audit that shows your H1 score vs. the local competition →

Want to see how your business stacks up?

Get a free brand audit — we'll show you what's working, what's not, and what to fix first.

Free Brand Audit →
Jason Murphy

Written by

Murph

Jason Matthew Murphy. Twenty years building digital systems for businesses. Former CardinalCommerce (acquired by Visa). Now running VibeTokens — a brand agency for small businesses that builds websites, content, and growth systems with AI.

Live Workshop · April 27

Build your Claude OS in 4 hours. CLAUDE.md, MCP servers, 3 custom workflows. 8 seats, $247.

Reserve Seat →

Your brand is your first impression.

Find out if it's costing you customers.

Free brand audit. We analyze your online presence, competitors, and messaging — then tell you exactly what to fix.

Get Your Free Brand Audit →