On-Page SEO Structure: Headings, Internal Links, Alt Text

On-page structure is how your page shows its topic and sections to both readers and search systems. A clean structure uses one clear H1, descriptive H2/H3 headings, helpful internal links, and meaningful image alt text. Add structured data only when it truly matches the content on the page.

Prerequisites

  • One goal per page: Know what the page should help a visitor do (learn, compare, buy, contact).
  • A draft outline: You need section ideas before headings can be useful.
  • Access to the HTML: Styling text to “look like a heading” is not the same as using real heading tags.

Step-by-step guide

Step 1: Lock the page to one main topic

Pick a single topic you can say in one sentence. If the page tries to cover three different topics, your headings will be messy and your content will feel scattered.

Checkpoint:

  • Can you explain the page in one sentence?
  • Does every section support that same topic?

Step 2: Write one clear H1 that matches the page

Your H1 is the top label for the page. It should describe the page, not your brand, not the menu, and not a vague category name.

Checkpoint:

  • The H1 says what the page is about in plain language.
  • The H1 is not repeated elsewhere as another H1.

Step 3: Build a simple H2 outline before you write

Treat H2 headings like chapter titles. Each H2 should answer a real sub-question a reader might have.

Good H2s are specific:

  • “How pricing works” beats “Pricing.”
  • “How to choose a running shoe size” beats “Sizing.”

Checkpoint:

  • Can a reader understand the page just by skimming the H2s?
  • Do the H2s cover the topic without overlapping?

Step 4: Use H3s only to support the H2 above them

Use H3s when an H2 needs sub-points. If you don’t need sub-points, don’t force them.

Checkpoint:

  • Every H3 clearly belongs under the H2 above it.
  • H3s don’t introduce a brand-new topic.

Step 5: Don’t skip heading levels

Heading levels are a hierarchy. Jumping from H2 to H4 can confuse assistive technology and can make your outline harder to follow.

Checkpoint:

  • No H4 appears unless there is an H3 above it.
  • Headings are nested in a logical order.

Step 6: Add internal links that help the reader continue

Internal links connect related pages on your site. They help discovery and help visitors move through your content.

Rules that keep this clean:

  • Link when it is truly helpful, not “because SEO.”
  • Use descriptive link text (for example, “canonicals guide”) instead of “click here.”

Checkpoint:

  • Links point to relevant next steps.
  • Link text tells the reader what they’ll get.

Step 7: Write image alt text that explains purpose

Alt text is for people using screen readers and for systems that need text to understand an image. Write what the image means or does, not a full visual inventory.

Strong defaults:

  • Skip “Image of…” (screen readers already announce images).
  • Use empty alt text only for decorative images: alt="".
  • Name files sensibly when you can (it helps your own workflow).

Checkpoint:

  • Decorative images have empty alt text, not missing alt. The alt attribute (even if empty) is used so screen readers don’t announce filenames.

Step 8: Add structured data only when it clearly applies

Structured data is extra code that labels what your content is (article, FAQ, product, event). It doesn’t change the design, and it doesn’t guarantee rich results.

If you use it, JSON-LD is a common choice because it’s easier to maintain.

Checkpoint:

  • The schema matches the page honestly (no fake reviews, no fake FAQs).
  • You only mark up content that is actually visible on the page.

Common mistakes and troubleshooting

Search systems can evaluate parts of a page, not just the page as a whole. Clear sections make it easier for systems to understand what’s relevant.

Common structure issues and quick fixes
Problem (what you see) Likely cause Quick fix
The page feels hard to skim Headings are vague Rewrite headings to state the section’s point (“How X works…”).
A section ranks but users bounce Heading promises one thing, text delivers another Align the first paragraph under the heading with the heading’s promise.
Screen reader experience is confusing Heading levels are skipped Rebuild the hierarchy: H1 → H2 → H3 (then H4 if needed).
Images show but add no value Alt text is missing or pointless Write alt text for meaning; use alt="" for decorative images.
Rich results don’t appear Structured data isn’t eligible or not chosen Verify schema matches the page and accept that display is not guaranteed.

A simple framework that keeps you honest

Use this Map → Meaning → Markup loop:

  1. Map: Headings show the outline.
  2. Meaning: Each section answers the question its heading asks.
  3. Markup: You add semantic help (alt text, structured data) only where it fits.

If any step is weak, fix it before moving on.

On-Page Structure Audit Checklist (copy/paste)

Use this to review any page in 5 minutes.

  • One page, one main topic: I can explain the page in one sentence.
  • One clear H1: The H1 matches the page’s main topic (not the site name).
  • H2s form a clean outline: Skimming H2s alone tells the full story.
  • H3s only support the H2 above: No “random” subtopics hiding under the wrong parent.
  • No skipped levels: I don’t jump from H2 → H4 (or similar).
  • Headings are descriptive: They say what the section delivers (not “Overview,” “Details,” “Stuff”).
  • Section openings match headings: The first paragraph delivers what the heading promises.
  • Internal links help the reader: Links appear where someone naturally wants the next step.
  • Link text is descriptive: No “click here.” The text says what the destination is.
  • Images have correct alt text: Meaningful images have helpful alt; decorative images use alt="".
  • Tables/lists improve scanning: Not decoration.
  • Schema is honest and relevant: Only mark up content that actually exists on the page.

Back to table of contents

FAQ

Do I really need just one H1?

Using one clear H1 is a strong default. It keeps the main topic obvious for readers and for tools that build an outline. If your CMS outputs more than one, check whether one is the real page title and the others are template or widget text.

What’s the difference between H2 and H3?

An H2 is a main section. An H3 is a sub-section inside that H2. If the H3 doesn’t clearly belong to the H2 above it, it’s probably the wrong level (or the outline needs work).

Is it bad to skip from H2 to H4?

It’s risky. Skipping levels can make the page outline harder to follow, especially for screen readers. A simple rule is H1 → H2 → H3 → H4, only when needed.

Can I use bold text instead of headings?

No. Bold changes appearance. Headings tell browsers and assistive tech what the structure is. If it’s a real section, use a real heading tag.

How do I know if my headings are “good”?

Do the 5-second skim test: read only the headings. If you understand what the page covers and in what order, your headings are doing their job.

How long should each section be?

Long enough to answer the section’s question, and no longer. A good check is whether the section has a clear start (the answer) and a clear end (you’ve covered the key points).

Place internal links at decision points, like after you explain a concept and the reader might want a deeper guide or a related topic. Link because it helps, not because you “need more links.”

There’s no magic number. Add the few that a real reader would click. Too many links can distract and make the page feel cluttered.

What’s “good” alt text, in plain English?

Alt text should say what the image means or does for the page. If the image is purely decorative, use empty alt text: alt="".

When should I use FAQ schema?

Use FAQ schema only when the FAQ is real content on the page, with real questions and answers. Don’t add fake questions just to qualify for a richer search display.

Back to table of contents

Helpful references

Back to the top

Ardan M. Blum

Ardan M. Blum

I founded A. Blum Localization Services in 2016 to help businesses get found online. I focus on practical SEO and localization work that helps companies reach the right audience, in the right language, and turn search visibility into real growth.

About this blog

Launched in mid-December 2025, this blog is dedicated to providing clear, comprehensive SEO analysis in two editions: Standard and Teen. It is published by Ardan Michael Blum, CEO of A. Blum Localization Services, with a focus on making search engine optimization understandable for readers of all experience levels.

For accessibility assistance or general inquiries, you can reach Ardan Michael Blum by calling +1 650-847-1810 or by using this form.