HTML for SEO: Code Examples, Essential Tags, and Validation Checks

August 26, 2026

Author: Shusaku Yosa
HTMLのSEO対策|押さえるタグとコーディングのポイント

HTML for SEO describes content, structure, and links so a page can be understood and discovered. It is not a way to earn rankings by adding tags or repeating keywords. Start with a small example, then check output, rendering, usability, and search status as separate questions.

Understand discovery, rendering, and indexing

Discovery, fetching, rendering, indexing, and appearing in results are different stages. Correct HTML does not guarantee indexing or a ranking. Missing performance data also does not establish that a page is currently unindexed.

JavaScript can generate content that is absent from the initial source. Google’s JavaScript SEO guidance distinguishes initial HTML from rendered content. What you see after manually interacting with a page is not necessarily what Google can obtain without those actions.

Review a minimal page example: head and body

This fictional tutorial page demonstrates structure. It is illustrative text, not a production configuration to apply unchanged. The head supplies page information; the body contains material readers use.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Backup Restore Checks</title>
<meta name="description" content="Review preparation and record keeping for an authorized backup restore test.">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<main>
<h1>Backup Restore Checks</h1>
<p>Use an authorized test environment to check restoration.</p>
<h2>Before the check</h2>
<ul><li>Record the data scope and responsible person.</li></ul>
<p><a href="/help/restore/">Restore checklist</a></p>
</main>
</body>
</html>

The title describes the page, while the description can supply snippet text. A viewport declaration supports mobile layout but does not make every design usable. Meta is a void element and has no closing tag. The HTML syntax standard distinguishes void elements from normal elements and conditional end-tag omission.

Use the meta description guide to write a summary that matches the real article.

Use headings, paragraphs, lists, and emphasis semantically

Headings describe the hierarchy; paragraphs, lists, and tables describe relationships between information. Do not choose a heading merely to make text larger. W3C’s heading guidance explains the value of a logical structure.

Markup

Purpose

Avoid this assumption

title and description

Page title and summary information

The exact text must appear in results

Headings

Section hierarchy

More headings earn better rankings

Paragraphs, lists, tables

Prose, sequence, grouping, comparison

Visual appearance alone determines structure

strong and em

Importance and stress emphasis

They are interchangeable decoration

canonical and robots

Canonical preference and indexing-related controls

They perform the same task

Compare meaning with presentation in the strong, em, and b examples.

A basic link is <a href="/help/restore/">Restore checklist</a>. Its destination and anchor should agree. A click handler on a visual element is not always a substitute for a normal link. Check Google’s crawlable-link guidance.

Image purpose

Alternative-information approach

Informative photograph

Describe relevant information concisely

Pure decoration

Consider empty alt text when no information is needed

Linked image or control

Convey destination or action, not just appearance

Complex chart

Add a nearby explanation or data table as needed

For example, <img src="divider.png" alt=""> serves a different purpose from <img src="search.png" alt="Search">. Review surrounding text to avoid unnecessary repetition. Do not turn alternatives into keyword lists.

Use W3C’s alt decision tree and complex-image guidance to check the purpose and necessary information.

Separate structured data from supported search features

Structured data describes information that agrees with the visible page. Refer to Google’s structured-data introduction and the current guide for the intended feature. Remove outdated deployment instructions aimed at FAQ rich results; useful questions and answers can remain in the article itself.

Google’s policies make clear that valid implementation does not guarantee a rich result. A vocabulary’s ability to describe information, support in Google Search, and an observed display are different states.

Validate syntax, rendering, and mobile behavior

  1. Validate syntax and nesting; inspect unexpected browser corrections.
  2. Compare the published head, text, and links with intended output.
  3. Look for required content in rendered DOM and URL Inspection output.
  4. Test keyboard use, reading order, text, and controls at different widths.

In a fictional JavaScript example, the initial source contains a shell while a script adds instructions and a link. Finding them in your browser DOM is one check; finding them in the relevant rendered inspection output is another. Follow lazy-loading guidance so essential content does not depend on a required click.

Record pre-publication checks and unknowns

Check

Release record

Syntax and output

Pass or correction needed, location, responsible person

Display and operation

Widths, browser, and actions tested

Search-feature testing

Feature, requirements, and test result

Indexing and performance

Current inspection status separately from period-specific impressions and clicks

A successful live fetch does not prove current indexing or a ranking. Record unknowns, correct reproducible issues, and repeat the same checks. One page’s head, content, and links are a practical place to begin.

Related posts