HVAC search is two different businesses wearing the same logo. One is a homeowner at 11pm in August whose AC just quit and who will hire the first company that answers. The other is a homeowner in October who has been told the 18 year old system is on borrowed time and who will take six weeks to decide on a replacement.
Those two people search differently and convert differently. Most HVAC websites are built for neither. They have a homepage, a services page, and a contact form, and the owner wonders why the phone only rings when it is 104 degrees.
Here are the pages that actually win.
The seasonal shape of the demand
HVAC demand has two peaks and two valleys, and they are sharper than almost any other trade.
The first heat wave of the year is the biggest single demand event on your calendar. Systems that limped through a mild spring fail all at once, and search volume for "AC not blowing cold" and "AC repair near me" spikes in a matter of days. The first hard freeze does the same thing on the heating side, especially in markets like Texas and the Carolinas where heat pumps and electric strips are common and the equipment does not get stress tested often.
The valleys are spring and fall, which is when maintenance, duct work, indoor air quality, and replacement research happen.
This matters for SEO because content needs lead time. A page targeting "furnace not igniting" published during a cold snap is too late. That page should be indexed in September. Your shoulder seasons are your publishing seasons, and your peaks are when you collect.
Plan replacement content on the opposite cycle. People research new systems when they are not in crisis, which is March and October. That is when the financing page, brand comparisons, and "repair or replace" content earn their keep.
Service plus city pages, and why most of them are useless
Every HVAC company serves a bunch of suburbs. The instinct is to build a page per suburb. That instinct is right, but the execution usually is not.
The page that works targets a service and a city together. "AC repair in Cary" and "heat pump replacement in Cary" are different searches by different people. A single page called "Cary" tries to serve both and serves neither.
What makes those pages real instead of filler:
- Local equipment reality. Older neighborhoods on gas furnaces versus newer subdivisions on all electric heat pumps. Attic air handlers versus closet units versus crawlspace. Techs know this instantly and homeowners recognize it.
- Local climate load. Humidity, pollen, cooling season length.
- Response time from your nearest truck or shop. If you can say "we have a tech in that area most days," say it.
- Utility rebates and credits that apply in that jurisdiction. These genuinely differ by utility, and a page that lists the current rebate for a high efficiency system is useful.
- Permits and inspections for a changeout in that municipality.
- Actual jobs you did there, with photos.
We rebuilt the two RAIR HVAC sites around several hundred programmatic service by city pages each, plus careers and troubleshooting sections. The reason that scale works is that every page pulls real variables, service type, city, climate, equipment mix, rather than cloning one block of text. If you are doing this by hand, do twelve good ones before you do a hundred bad ones.
Emergency intent versus replacement intent
Build separate pages for these. They need completely different designs.
An emergency page is for someone sweating in a hallway. It should have:
- The phone number as the first thing on the screen, tappable, repeated after every short section.
- Your actual answering reality in plain words. "Live person answers 24/7" or "calls after 9pm roll to the on call tech." Say which. Homeowners have been burned by companies that advertise 24/7 and send them to voicemail.
- A real dispatch fee or diagnostic fee number if you have one. People searching at midnight want to know if they are about to get gouged.
- Two or three things they can check before you arrive. Breaker, thermostat batteries, clogged filter, iced outdoor unit, float switch tripped on a full drain pan. It feels like it costs you a call. It builds trust, and most of those checks do not fix the real problem.
- Short. No company history, no mission statement.
A replacement page is for someone comparison shopping over weeks. It should have:
- Sizing and load explained in human terms, and why "just put in the same tonnage" is not always right.
- SEER2 and efficiency tiers explained without the jargon soup.
- What is included in your install. Line set, pad, disconnect, thermostat, drain, permit, haul away, duct modifications. The reason bids differ by thousands is almost always what is included, and the company that explains that wins the comparison.
- Financing, with monthly payment ranges if you can publish them.
- Warranty, parts versus labor, registration requirement.
- How long the install takes and what the day looks like.
Financing and brand pages
Two kinds of pages that most HVAC sites skip and that both convert.
Financing. A system replacement is a four or five figure unplanned expense. A real percentage of the market decides based on whether there is a payment option. A dedicated financing page that explains the options, what credit tiers typically qualify, how fast approval takes, and what happens to the promotional period, will capture searches like "HVAC financing bad credit" and "AC replacement payment plan" that competitors ignore.
Brand pages. Homeowners search by brand constantly. "Trane dealer near me," "Carrier vs Lennox," "is Goodman any good." If you are an authorized dealer for a brand, that deserves its own page, because dealer locator traffic and brand searches are high intent and low competition locally. If you install several lines, write an honest comparison page. Not marketing copy from the manufacturer, your actual take as an installer on which equipment holds up, which has parts availability problems, which compressor you see fail. That page earns links and gets read.
Be careful not to claim a dealer status or certification you do not hold. Manufacturers police that and it is the kind of thing that gets a letter.
Troubleshooting content captures the research phase
This is where HVAC SEO compounds. Homeowners search symptoms, not services.
- AC running but not cooling
- Outdoor unit not turning on
- AC freezing up or ice on the line
- Water around the indoor unit or a ceiling stain
- Furnace blowing cold air
- Heat pump blowing cool air in heating mode, which is normal and nobody explains it
- Thermostat says cooling but nothing happens
- Burning smell when the heat first comes on
- Short cycling
- What the blinking light on the furnace board means
Each of those is a page. Explain the likely causes in order from "you can fix this yourself in two minutes" to "this is a failed compressor." Include the DIY checks honestly. Then explain what a tech would check and roughly what that repair involves.
This content does two things. It pulls in a lot of early research traffic that you can retarget and that builds topical authority for your whole domain. And it is exactly the kind of answer AI search engines pull from, which means it gets you cited in results where there is no blue link to click.
The objection is always "won't this stop people from calling?" No. The person who fixes it with a filter change was never a profitable call. The person who reads your page and then calls already trusts you and is far easier to sell.
Maintenance plan pages hold the whole business together
Maintenance agreements are the most valuable asset in an HVAC company and the worst marketed. They smooth seasonal revenue, they are the warm list you call in slow months, and plan members are who choose you for the replacement.
A maintenance plan page should spell out:
- Exactly what gets done on each visit, by item. Coil cleaning, drain flush, capacitor and amp draw readings, refrigerant check, electrical connections, filter, blower, safety checks.
- How many visits per year and when they are scheduled.
- The discount on repairs and the priority scheduling, with real terms.
- Whether the diagnostic fee is waived.
- The price and the billing cadence.
- Whether it transfers if they sell the house, which is a genuine selling point.
And it should be linked from every repair and replacement page, because the moment to sell the plan is right after someone has just paid for a repair they could have avoided.
What to measure
- Calls by source, split between Google Business Profile and site, and separated into business hours and after hours.
- Booked appointments per month, not leads. Leads lie.
- Revenue per lead by service line. Repair leads and replacement leads are not the same asset.
- Maintenance plan signups per month and churn.
- Map pack position for your top repair terms, checked from inside the service area.
- Which troubleshooting pages produce assisted conversions, not just traffic.
- Seasonal year over year, comparing this July to last July rather than to June.
A build order that works
If you are starting fresh, this is a sane sequence.
- Google Business Profile cleaned up, correct category, service area set honestly, photos from real jobs.
- Two cornerstone pages: AC repair and AC replacement, written properly.
- Emergency page with real answering details.
- Top five service plus city pages where your trucks already are.
- Maintenance plan page, linked everywhere.
- Financing page.
- Ten troubleshooting pages, published in the shoulder season before the peak they target.
- Heating equivalents of items two through four.
If you want someone to look at your HVAC site and tell you which of these pages you are missing, that is a conversation Heights Digital is glad to have. Call or text 210-729-4008.
Related reading.
Find out what you are actually missing.
Send the site over. We will tell you what is broken, what you could rank for, and whether AI search knows you exist. No charge and no pitch deck.
- A real look at your site and your Search Console
- What your competitors are ranking for that you are not
- Whether ChatGPT and AI Overviews mention you
- Pricing in plain numbers, on the call
