Blog Article SEO Checklist: Everything You Need Before Publishing
Before hitting “Publish,” every blog post should pass through a structured SEO checklist - not to chase algorithms, but to ensure the article shows up correctly on Google, looks sharp when shared on social media, and is readable by AI search engines. This guide covers every required element, with exact formats and character limits.
Writing the article itself takes up about 90% of the effort. The remaining 10% - the technical SEO layer - is consistently the most skipped part. Yet a missing meta description means Google auto-generates a random excerpt. No OG banner means a blank thumbnail on LinkedIn and Facebook. No schema means your FAQ section never gets picked up as a Featured Snippet. This checklist eliminates all of that with one pass before you publish.
Overview: What Does a Blog Post Actually Need?
A properly optimized blog article requires 7 groups of SEO elements:
- SEO Title - the title displayed on Google
- Meta Description - the snippet shown below the title on SERP
- URL / Slug - the page’s permanent address
- Open Graph (OG) - data controlling how the post looks when shared on social (including OG banner)
- Heading Structure - H1, H2, H3 hierarchy
- Schema Markup - structured data for Google to parse
- Supporting elements - canonical tag, hreflang, alt text, internal links
1. SEO Title
The SEO title (also called the title tag) appears on the browser tab and on Google’s search results page. It is the single most important on-page SEO element.
Standard format:
[Primary keyword] - [Short description] | [Brand name]
Example:
Blog Article SEO Checklist: Everything Before Publishing (2026) | NateCue
Rules:
- Length: 50-60 characters (including brand name). Longer titles get truncated on SERP
- Primary keyword appears early - ideally within the first 30 characters
- No keyword stuffing - the title must read naturally
- Every page must have a unique title - never duplicate across posts
- Include a click magnet: numbers, current year (2026), power words (“Complete”, “Full Guide”, “Step-by-Step”)
Note: The SEO title and H1 can differ - and often should. The SEO title is optimized for SERP clicks; the H1 is optimized for the reader’s experience on-page.
2. Meta Description
The meta description is the short paragraph appearing below the title on SERP. It does not directly affect rankings but has a major impact on CTR (Click-Through Rate).
Standard format:
[Primary keyword] + [What the article delivers] + [Light CTA]
Example:
Complete SEO checklist for blog articles: title tag, meta description, OG banner, schema, and URL format - with exact character limits so you get it right before publishing.
Rules:
- Length: 140-160 characters. Under 120 feels thin; over 160 gets cut off
- Must include the primary keyword (Google bolds matching terms in the snippet)
- Accurately describes the page - do not bait clicks with misleading copy
- Include a light CTA: “See the full checklist”, “Learn more”, “Updated 2026”
- Every page must have a unique meta description
- If left blank, Google auto-generates one - almost always lower quality than a handwritten version
3. URL / Slug
The URL is the permanent link to the article. A clean URL helps Google understand the topic and helps users know what to expect before clicking.
Standard format:
domain.com/blog/primary-keyword-here
Rules:
- Keep it short: 3-6 words, only core keywords, drop stop words (“the”, “a”, “is”, “for”)
- Use hyphens (
-) to separate words - never underscores (_) or spaces - Lowercase only, no special characters, no accented characters
- Do not include dates in the URL (makes future updates painful)
- Never change the URL after publishing - all backlinks and accumulated SEO value are tied to it
- Good:
/blog/seo-checklist-blog-article; Bad:/blog/2026/04/21/complete-seo-checklist-for-blog-articles-before-you-publish
4. Open Graph (OG) - Social Sharing Data
Open Graph is a set of meta tags that control how your post appears when shared on Facebook, LinkedIn, Twitter/X, Slack, Discord, and any other platform that unfurls link previews. It is the most frequently skipped part of the checklist - and missing it guarantees a broken or blank preview.
OG Title
<meta property="og:title" content="Blog Article SEO Checklist: Everything Before Publishing (2026)" />
- Length: 60-90 characters (more space than SEO title allows)
- Can match or differ from the SEO title - write it for a social feed audience
OG Description
<meta property="og:description" content="Complete SEO checklist for blog posts: title tag, meta, OG banner, schema markup, and URL format - all with specific character limits." />
- Length: 100-200 characters
- Written to make someone scrolling a feed want to click - not just an SEO copy-paste
OG Image (OG Banner)
<meta property="og:image" content="https://domain.com/images/seo-checklist-og.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
- Dimensions: 1200 x 630 px (1.91:1 ratio) - the universal standard for all major platforms
- File size: under 1MB, JPG or PNG format
- Content: article title + brand/logo, large enough to read on mobile thumbnail
- Avoid images with small text - thumbnails display very small in feeds
- Each article should have its own unique OG image - avoid a generic site-wide fallback
- Test the preview with Facebook Sharing Debugger or LinkedIn Post Inspector
Additional OG Tags
<meta property="og:type" content="article" />
<meta property="og:url" content="https://domain.com/blog/seo-checklist-blog-article" />
<meta property="og:site_name" content="NateCue" />
<meta property="article:published_time" content="2026-04-21T00:00:00Z" />
<meta property="article:author" content="https://www.facebook.com/natecue" />
-
og:type: usearticlefor blog posts (notwebsite) -
og:url: canonical URL of the page -
article:published_time: ISO 8601 format
Twitter Card
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Blog Article SEO Checklist: Everything Before Publishing" />
<meta name="twitter:description" content="Complete checklist with exact formats and character limits for every SEO element." />
<meta name="twitter:image" content="https://domain.com/images/seo-checklist-og.jpg" />
- Use
summary_large_imageto show a large image preview on X/Twitter - The Twitter image can share the same 1200x630 file as the OG image
5. Heading Structure (H1, H2, H3)
Headings are not just about organizing content for readers - Google reads them to understand the article’s topic hierarchy and semantic coverage.
Rules:
- Every article must have exactly one H1 - containing the primary keyword, typically the article title
- H2 headings are the major sections - use semantic keywords and related terms, not the exact same phrase as H1
- H3 headings are subsections of H2 - add detail and specificity
- Never skip heading levels: do not jump from H1 directly to H3 without an H2 between them
- Do not use headings as decoration (making one sentence bold by promoting it to H2 is incorrect)
- Each H2 should have at least 2-3 paragraphs of content below it
6. Schema Markup (Structured Data)
Schema markup is JSON-LD code that helps Google understand the article more deeply - and is the prerequisite for appearing in Rich Results (the enhanced SERP formats like FAQ boxes, article carousels, etc.).
Article Schema (required for every blog post)
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Blog Article SEO Checklist: Everything You Need Before Publishing",
"datePublished": "2026-04-21",
"dateModified": "2026-04-21",
"author": {
"@type": "Person",
"name": "NateCue",
"url": "https://natecue.com"
},
"image": "https://natecue.com/images/seo-checklist-og.jpg",
"publisher": {
"@type": "Organization",
"name": "NateCue",
"logo": {
"@type": "ImageObject",
"url": "https://natecue.com/logo.png"
}
}
}
FAQ Schema (if the article has a Q&A section)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is the correct OG banner size?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The standard OG banner size is 1200 x 630 px (1.91:1 ratio), under 1MB in file size."
}
}]
}
- Article schema on every blog post, no exceptions
- FAQ schema added whenever the article contains a Q&A section
- Validate with Google Rich Results Test
7. Supporting Elements
Canonical Tag
<link rel="canonical" href="https://domain.com/blog/seo-checklist-blog-article" />
- Always include a canonical tag - prevents Google from indexing multiple URL variants
- Canonical points to the clean, parameter-free URL
Hreflang (for multilingual sites)
<link rel="alternate" hreflang="vi" href="https://domain.com/vi/seo-checklist-blog-article" />
<link rel="alternate" hreflang="en" href="https://domain.com/en/blog-article-seo-checklist" />
<link rel="alternate" hreflang="x-default" href="https://domain.com/blog-article-seo-checklist" />
- Add hreflang tags if the site has multiple language versions
-
x-defaultpoints to the default version (usually the primary language)
Image Alt Text
- Every image in the article has descriptive
alt text - Alt text reads naturally - can include keywords but must not be stuffed
- Images with no alt text are invisible to Google’s image understanding
Internal Links
- Every article includes at least 2-3 internal links to related content on the same site
- Anchor text accurately describes the destination page - avoid generic “click here” or “read more”
- No circular internal linking (A -> B -> C -> A)
Blog Article SEO Ruleset (AI Agent Standard)
A machine-readable ruleset with hard constraints. Use this as the source of truth when generating or reviewing any blog article.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BLOG ARTICLE SEO RULESET — Universal Standard (2026)
For use by AI Agents when generating or reviewing blog content.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
── FRONTMATTER ──────────────────────────────────────
TITLE (SEO Title / <title> tag)
Rule : 50–60 characters including brand suffix
Format: {Primary Keyword}: {Descriptor} | {Brand Name}
Constraints:
- Primary keyword must appear within first 30 chars
- No keyword repetition (each keyword appears once)
- Must differ from H1 — SERP copy, not body copy
- Forbidden words: "ultimate", "best ever", vague superlatives
Example: "Blog Article SEO Checklist: Full Guide (2026) | YourBrand"
DESCRIPTION (Meta Description)
Rule : 140–160 characters
Format: {Primary keyword} + {what reader gains} + {light CTA}
Constraints:
- Primary keyword in first 20 chars
- Must describe page content accurately — no clickbait
- End with action-oriented phrase, not a period
- Unique per article — never reuse across pages
Example: "Complete SEO checklist for blog articles: title, meta,
OG banner, schema — with exact formats. Ready to copy."
DATE
Rule : ISO format YYYY-MM-DD
Update: Set dateModified whenever content changes
LANG
Rule : Use the language code of the article (e.g. "en", "vi", "ja")
Pair : If site is multilingual, link translations via translationSlug
KEYWORDS (array)
Rule : 3–5 items only
Order : [primary keyword, secondary keyword, 1–2 long-tail variants]
Constraints:
- Primary keyword must match the searcher's exact phrasing
- No brand name in keywords array
- All keywords must appear naturally in body content
IMAGE
Rule : Relative path to OG image file
Format: /images/{slug}-og.jpg
Size : 1200 × 630 px, under 1 MB, JPG or PNG
── URL / SLUG ───────────────────────────────────────
SLUG
Rule : 3–6 words, kebab-case, ASCII only
Format : {primary-keyword-condensed}
Strip : articles (a, the), prepositions (for, in, of),
conjunctions (and, or), non-ASCII diacritics
Frozen : NEVER change slug after first publish
Example : "seo-checklist-blog-article" ✓
"2026-04-complete-seo-checklist-for-your-blog" ✗
── HEADING STRUCTURE ────────────────────────────────
H1
Rule : Exactly 1 per article
Must : Contain primary keyword
Must : Match article topic — not a teaser or question hook
May : Differ from SEO title
H2
Rule : Minimum 3, maximum 8 per article
Must : Use semantic variants of primary keyword (not exact repeat)
Must : Each H2 has ≥ 2 paragraphs of content below it
Format: Sentence case, not Title Case for every word
H3
Rule : Subsections of H2 only — never skip a level
Use : For step breakdowns, sub-features, sub-categories
── BODY CONTENT ─────────────────────────────────────
WORD COUNT : 800 words minimum / 1500 words target
PARAGRAPH : Max 3–4 sentences. One line break between paragraphs.
KEYWORD USAGE : Primary keyword in intro paragraph, ≥ 2 H2 headings,
and conclusion. Semantic variants everywhere else.
BOLD : Use for technical terms, constraints, and key takeaways
only — not for decoration
INTRO : First paragraph must state the problem and promise a
specific outcome. No vague "In this article we will..."
── OPEN GRAPH ───────────────────────────────────────
OG:TITLE
Rule : 60–90 characters
Write : For social feed, not for Google — more descriptive is fine
Must : Include primary keyword
OG:DESCRIPTION
Rule : 100–200 characters
Write : As a feed hook — assumes zero prior context for the reader
OG:IMAGE
Dimensions : 1200 × 630 px (1.91:1 ratio) — REQUIRED
File size : < 1 MB
Format : JPG or PNG (no WebP — some platforms reject it)
Content : Legible title text + brand mark at thumbnail scale
Unique : One image per article — no shared fallback images
Validate : https://developers.facebook.com/tools/debug/
OG:TYPE : "article" (not "website")
OG:URL : Canonical URL, no query parameters
TWITTER:CARD : "summary_large_image"
── SCHEMA MARKUP ────────────────────────────────────
ARTICLE SCHEMA (mandatory on every blog post)
Required fields: headline, datePublished, dateModified,
author.name, author.url, image, publisher.name
FAQ SCHEMA (add if article has ≥ 2 Q&A pairs)
Trigger : Any <details> block, numbered Q&A list, or FAQ section
Benefit : Eligible for FAQ Rich Results + AI Overview citations
VALIDATE: https://search.google.com/test/rich-results
(must show zero errors before publish)
── TECHNICAL TAGS ───────────────────────────────────
CANONICAL : Always present. Points to clean URL (no params).
HREFLANG : Required if article exists in multiple languages.
Include x-default pointing to primary-language version.
── IMAGES IN BODY ───────────────────────────────────
ALT TEXT
Rule : Required on every image — no exceptions
Format : Descriptive phrase, ≤ 125 chars
May : Include primary keyword if it fits naturally
Never : Stuff keywords, repeat "image of", leave blank
FILE NAME
Rule : Descriptive kebab-case
Good : seo-checklist-og-banner-example.jpg
Bad : IMG_20260421_001.jpg
── INTERNAL LINKING ─────────────────────────────────
MINIMUM : 2 internal links per article
ANCHOR : Describes the destination precisely
Good: "see the full SEO audit checklist"
Bad : "click here", "read more", "this article"
DIRECTION : Must not create circular chains (A → B → A)
PLACEMENT : Distribute through body — not all at the end
── PRE-PUBLISH VALIDATION SEQUENCE ──────────────────
Run in this order before marking any article as ready:
1. Count SEO title characters → must be 50–60
2. Count meta description characters → must be 140–160
3. Confirm slug is ASCII kebab-case → no diacritics, no dates
4. Count H1 tags → must equal exactly 1
5. Check primary keyword placement → intro + ≥2 H2s + conclusion
6. Confirm OG image exists and is named → /images/{slug}-og.jpg
7. Confirm OG image dimensions → 1200 × 630 px
8. Confirm Article schema fields → all required fields present
9. Run Google Rich Results Test → zero errors
10. Run Facebook Sharing Debugger → correct image + title render
11. Count internal links → minimum 2
12. Check all images have alt text → zero blank alt attributes
13. Confirm canonical tag is present → clean URL, no params
14. Confirm hreflang (if multilingual) → all language variants listed
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Frequently Asked Questions (FAQ)
Does the SEO title need to match the H1?
No - and they often should differ. The SEO title is optimized for SERP: concise, keyword-forward, click-worthy. The H1 is optimized for the reader: clear, descriptive, fits naturally at the top of the article. For example, the SEO title might be “Blog SEO Checklist (2026): Full Guide | NateCue” while the H1 is “Blog Article SEO Checklist: Everything You Need Before Publishing.”
What is the correct OG banner size?
The standard is 1200 x 630 px (1.91:1 aspect ratio). This works well across Facebook, LinkedIn, Twitter/X, Discord, and Slack. Keep the file size under 1MB. After uploading, verify the preview looks correct using Facebook Sharing Debugger - it also forces platforms to refresh their cached preview.
Does meta description directly affect Google rankings?
No - meta description is not a ranking factor. However, it heavily influences CTR, and a consistently higher CTR for a keyword can indirectly signal relevance to Google. If you leave it blank, Google generates its own snippet from the page content - almost always lower quality than a handcrafted description. Write it as a two-sentence ad for the article.
When should I use a canonical tag?
Always - even when you believe there is no duplicate content. The canonical tag declares the “official” URL of the page, preventing Google from treating URL variants as separate pages (?utm_source=newsletter, ?fbclid=xyz, with or without trailing slash, www vs non-www). Point the canonical to the clean, parameter-free URL of the article.
When do I need FAQ schema?
Whenever the article has a clearly structured question-and-answer section - whether in accordion format, a numbered list of Q&As, or a dedicated section. FAQ schema signals to Google that the content has direct answers to specific questions, making it eligible for FAQ Rich Results on SERP and more likely to surface in AI Overviews and AI search citations. If your CMS or framework auto-generates schema from your markup, you may not need to write it manually.
Summary
A publish-ready blog post is more than well-written content - it is a complete package of technical signals that helps Google read it correctly, makes SERP listings look compelling, and creates strong social previews. The 7-group checklist above covers every layer: SEO title, meta description, URL, OG banner, heading hierarchy, schema markup, and supporting elements. Running through it takes 10-15 minutes per article. Skipping it costs weeks of retroactive cleanup.