# Blog SEO Standards

> SEO + AEO standards for writing or reviewing a technical blog post — title, meta description, headings, images, structured data, and the frontmatter that feeds them. Use when the user asks whether a post is "SEO-friendly", wants a title/description/heading/alt-text check, or is drafting an article to be found by search + AI answer engines. Separates EDITORIAL guidelines from the actual 2026 SEO numbers for word count, title length, and meta-description length. This is the SEO source of truth; for readability/structure see [[technical-content-structure]], for numbered walkthroughs [[tutorial-writing]].

- Skill: `prostdev/blog-seo-standards` (Agent Skill)
- Install (CLI): `npx skillmds@latest add prostdev/blog-seo-standards`
- Raw SKILL.md: https://api.skillmd.com/api/skills/prostdev/blog-seo-standards/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: ProstDev (https://skillmd.com/u/prostdev)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/prostdev/blog-seo-standards

---


# SEO + AEO standards for a technical blog post

The findability half of writing a post: will search rank it, and can an AI answer engine (ChatGPT,
Perplexity, Google AI Overviews) quote it? Pairs with [[technical-content-structure]] (readability)
and [[tutorial-writing]] (numbered walkthroughs).

**Two kinds of rules — keep them apart when you report:**

- **Editorial** — craft choices (length, voice). Fine for UX, NOT ranking rules.
- **SEO facts** — verified against Google Search Central + Ahrefs/Backlinko/Moz (2025-2026).

## The numbers that matter

| Field | The 2026 number | Why |
| --- | --- | --- |
| Post length | No SEO target | Google doesn't rank on word count — length is a *readability* choice, not a ranking factor. |
| Title | ~50-60 characters | Google truncates the title link at ~600 px; longer titles get cut off in results. |
| Meta description | ~155-160 chars (~120 mobile) | The snippet truncates past that; the rest never shows. |

## Title (the H1 + browser/tab title)

- **~50-60 characters** — the safe zone before Google's ~600 px truncation.
- **Front-load the primary keyword** — the phrase a reader types. One primary + a natural secondary
  is plenty; **don't stuff 2-5 keywords**. Keyword-in-title is a "ticket to entry," not a boost, and
  stuffing reads as spam.
- **Match the title to the actual format.** A conceptual headline on a hands-on walkthrough is a
  scope mismatch — searchers and AI won't connect it to the direct query. If the body is a
  walkthrough, say so in the H1; save the clever framing for the lede.
- **Write for the click**, and keep every title unique. Positive framing out-clicks clickbait.

## Meta description (the search + social snippet)

This ONE field usually feeds the search snippet, the social card, AND the post card — it's what a
person reads in Google before clicking.

- **~155-160 characters** (~120 mobile). Past that it's truncated.
- **It must accurately summarize the page.** "It doesn't need to be in the article" is a clickbait
  trap — a mismatch tanks dwell time and trust. Describe what's genuinely there.
- **Phrase it as the reader's search** — state the concrete outcome, not just the topic. Google bolds
  matching query terms, so natural keywords help CTR. Not a ranking factor; a *click* factor.
- Keywords that belong to the topic but didn't fit the title can live here — if the post covers them.

## Structure & headings

- **One H1 (the title), then H2 → H3, never skip a level.** Body sections start at H2 (the title is
  the only H1). A H3-led post skips H2 → breaks WCAG 1.3.1 + the table of contents.
- **Land the primary keyword in at least one H2, not only the H1** — a common gap. Section headers
  double as topic signals for search and AI section-identification.
- **Descriptive, standalone headings** ("Handling the timeout error"), not bare "Step 1" — readers
  skim headings first.
- **Lead each section with the answer.** Buried answers don't win featured snippets or get quoted.

## Images & code

- **Explain what an image/code block shows BEFORE you show it** — inverted-pyramid; the reader knows
  what they're looking at and AI reads the lead-in prose for context.
- **Descriptive alt text on every meaningful image** (WCAG 1.1.1 + image search) — describe what's IN
  it ("the settings page with the API-key field highlighted"), don't keyword-stuff; empty alt for
  purely decorative images.
- **Optimize the file:** descriptive filename (`user-settings.png`, not `DSC_4536.png`), compressed,
  explicit dimensions (avoids layout shift), lazy-load offscreen images.

## Modern additions (what the classic checklist missed)

- **E-E-A-T — show a real author.** Google asks "is it self-evident who wrote this?" Set a per-post
  author byline + Article JSON-LD. First-hand experience — your own screenshots, "I hit this error
  and fixed it" — is what AI can't fabricate and E-E-A-T rewards. State first-party authority in one
  first-person sentence near the top when you built/operate the thing.
- **Match search intent.** Check what already ranks for the query — an opinion piece won't win a slot
  the top results fill with tutorials, however clean the on-page SEO.
- **Internal links, descriptive anchors.** Link related posts; anchor text that names the destination
  ("the setup guide"), **never "click here" / "read more"** (Google flags them; useless to screen
  readers). ~2-4 internal links per 1,000 words.
- **AEO.** Structure for extraction: question-shaped H2s, a direct answer first, standalone quotable
  sentences, one extractable "X is Y that does Z" definition in the first 100 words for any named
  concept, and a FAQs block.
- **Structured data.** Emit `Article` + `BreadcrumbList` (and `FAQPage`) JSON-LD — keep `author`,
  `pubDate`, `updatedDate` accurate because they feed it. (Google dropped the FAQ *rich result* in
  2026, but the visible FAQ text still helps AI + non-Google engines.)
- **URL slug:** short, human-readable, hyphenated, keyword-bearing. Keep it stable once published —
  changing it 404s the old URL and drops its link equity.
- **Freshness:** for version-/time-sensitive posts, make *substantive* updates then bump the modified
  date — a real update, not a cosmetic date change.

## How to apply

- **New post:** use this while drafting — title length, description length + accuracy, keyword in an
  H2, explain-before-show.
- **Reviewing:** read the post, then report findings grouped **Editorial** vs **SEO facts**. Flag:
  title > 60 chars, description > 160 or not reflecting the body, H3-led sections, empty alt, "click
  here" links, a missing author byline, an image/code block with no lead-in.
- **Verify** any change with a build.

## Sources

Google Search Central (title link, snippet, helpful-content, images, links, URL-structure); Ahrefs &
Backlinko on-page/title studies; Moz; Nielsen Norman Group. Verified 2026 — SEO numbers drift, so
re-check before treating any figure as gospel.
