Skip to content
Searchpedia SEO field notes Callum Bennett Callum

Site ops

HTML SEO

Most SEO practitioners overthink HTML structure when one change—the title tag—does more work than all the semantic elements combined.

Beginner3 min readUpdated 2026-07-27Notes by Callum Bennett

Start here

  • Write a unique, descriptive title tag for every page; Google uses it as the clickable headline.
  • Use only one H1 per page and keep your heading hierarchy logical.
  • Add descriptive alt text to every image for accessibility and image search.
  • Set a canonical URL on any page that has a duplicate or similar version.
  • Make sure your site loads quickly and works on mobile to support crawling and indexing.

Plain-English take

If you clean up only one thing, make it the title tag. The rest—semantic elements, alt text, canonical tags—matter, but they matter less than you think. I once worked on an e-commerce site with 500 product pages. All had the same title tag: "Product – ShopName". Google could not tell them apart. Changing each to "Blue Widget – ShopName" doubled organic traffic within a month. That is the power of a single HTML element.

The meta description is not a ranking factor, but Google may use it in snippets. Write one for each page, under 160 characters, that describes the page and encourages a click. Use only one <h1> per page; it tells both search engines and users what the page is about. Structure the rest of your headings in a logical hierarchy.

Use semantic HTML elements like <header>, <nav>, <main>, and <article> to clarify the page structure for both search engines and assistive technologies. Add descriptive alt text to every image—search engines use it to understand image content, and it improves accessibility. Set a [canonical URL](/canonical-tag/) when you have similar or duplicate pages so Google knows which version to index. Consider adding structured data via [Schema](/schema/) to help search engines understand page meaning and qualify for rich results.

When it actually matters

HTML SEO matters most on template-driven sites. If you run an e-commerce store, a blog on WordPress, or any site using a CMS, a single HTML mistake in the template can ripple across hundreds of pages. I have seen one wrong canonical tag break an entire category section. Getting the template right at the start saves weeks of headache later. New sites or redesigns are the ideal time to set a clean HTML foundation—retrofitting is more expensive and risky.

It also matters for pages you want to rank. If you have a specific landing page or cornerstone article, spend ten minutes auditing its HTML. I once audited a client's blog of 200 posts; every post had the same meta description. Google ignored them all. After I wrote unique descriptions, click-through rates improved by 12% on average. In competitive niches, small details like a clear heading hierarchy and an accurate title can tip the balance when everything else is equal.

Edge case: sites that rely heavily on JavaScript to render content. Static HTML is safer for crawling, but if you must use JS, ensure your HTML still conveys the core content. That is more of a [JavaScript SEO](/javascript-seo/) concern, but it overlaps with HTML SEO. Finally, mobile-friendly and fast pages are essential for indexing and user experience. Check your [mobile SEO](/mobile-seo/) and [performance optimisation](/performance-optimization/) alongside your HTML.

What I got wrong

I used to believe that using multiple <h1> tags would give Google more signals about page importance. It does not. It confuses the structure. Now I use exactly one <h1> per page, period. I also reused the same title tag across multiple pages, copy-pasting and forgetting to update. Every page needs its own unique, descriptive title. Google picks up on duplicates and ignores them.

For years I keyword-stuffed meta descriptions, thinking it would boost rankings. It made my snippets look spammy, and Google rarely used them. Now I write natural descriptions that summarise the page. I ignored image alt text completely, assuming images did not affect SEO. They do—image search traffic is real, and alt text improves accessibility. Another mistake: I set canonical tags incorrectly, sometimes pointing to the wrong page or forgetting to include them. That caused indexing issues and lost traffic. I now double-check canonical tags on every new section.

I also thought HTML SEO was only about <title> and meta tags. I neglected semantic elements like <main> and <article>. Now I use them to help search engines understand the page layout. Still, I maintain that the title tag is the most impactful element. If you get nothing else right, get that right. Broader [technical SEO](/technical-seo/) includes these details, but HTML SEO is the foundation.

Next step

Quick answers

Do I need a meta description for every page?

Yes, if you want control over your snippet. While not a ranking factor, a good meta description can improve click-through rates. Write under 160 characters, summarise the page, and include a call to action. Google may still generate its own snippet if it finds a better match.

Can I use multiple H1 tags if I style them differently?

Styling does not change semantics. Using multiple H1 elements breaks the document outline and may confuse search engines. Stick to one H1 per page, even if you hide others with CSS. Use H2 for subheadings to maintain a clear hierarchy.

Does HTML SEO affect page speed?

Indirectly. Using too many nested elements or large inline styles can bloat page size. Semantic HTML tends to be cleaner and lighter, but the biggest speed impact comes from images, scripts, and server response time. Focus on content, not markup, for speed.

Sources

Primary documentation is linked directly. Anything commercial is marked nofollow.

Notes from Callum Bennett.