Pages: Article (Single Post)
Guides structure, SEO, and UX for individual article pages — one blog post, one guide, one piece of long-form content. Distinct from pages-blog, which covers the blog index/listing page.
When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
Output workflow: Always output in order: 0. Research Phase (keywords, search intent, competitors) → 1. Intent Analysis → 2. Content Analysis → 3. Recommendations. Do not skip steps. When Research Phase was performed via web search, show the search results and findings.
Optimization Foundation: Four Inputs
Article analysis and creation rest on four inputs. Gather or infer them before outputting recommendations:
| Input |
Purpose |
Source |
| Product |
Product connection, features, use cases, CTA placement |
product-marketing-context (Sections 1–4, 9–11); article content; web search |
| Keywords |
Target keyword, primary/secondary placement |
product-marketing-context Section 6; seo-content-keyword-research; article |
| Article intent |
Informational, commercial, transactional, navigational; drives structure, CTA, SEO depth |
product-marketing-context Section 6 (target intent); article orientation; content type |
| Competitor articles |
Structure to adopt, content gaps, length target, keyword opportunities |
User-provided URLs; product-marketing-context Section 11; web search |
When any input is missing: Proactively ask or search. For article analysis: perform Research Phase (keyword search, search intent, competitor articles) by default — see Research Phase section. For product/keywords/intent, infer from article or prompt user to add product-marketing-context.
Before Analysis: Gather Context
1. Product / company context
Use available context to give tailored analysis:
| Source |
Use for |
| product-marketing-context.md |
Keywords (Section 6), competitors (Section 7), content strategy (Section 11), product connection |
| Article content |
Extract product name, features, URLs; infer target keyword and audience |
| Web search |
When analyzing a known brand (e.g. Lessie AI): search for "[product] features", "[product] vs competitors", company positioning — use to validate product connection, suggest missing features/use cases, and improve competitor gap analysis |
If no product-marketing-context exists, infer from the article and optionally search for company/product info to enrich recommendations.
Research Phase: Keyword, Search Intent, Competitor (Required for Article Analysis)
When analyzing or auditing an article, perform the following searches and output the results in the analysis. Skip only if user explicitly asks to skip (e.g. "skip search").
1. Keyword Search
- Extract seed keywords from article (title, H1, H2s, meta keywords, first 100 words).
- Search the web for related keywords and opportunity:
"[primary keyword]" or "[primary keyword] related keywords"
"[primary keyword]" site:competitor.com (if competitors known)
- Google autocomplete / "People also ask" style queries for the topic
- Output: Primary keyword, secondary keywords, keyword opportunities (terms top rankers use that this article misses).
2. Search Intent Analysis
- Determine intent for primary and secondary keywords:
- Informational: How-to, what is, why, guides → blog, FAQ
- Commercial: Comparison, best, review → comparison pages, product pages
- Transactional: Buy, pricing, sign up → product, pricing, CTA
- Navigational: Brand name, login → brand pages
- Search the web if needed:
"[keyword]" to see SERP result types (blogs, product pages, etc.) and infer intent.
- Output: Intent for primary keyword, intent for top 2–3 secondary keywords, whether article matches intent.
3. Competitor Article Search
- If user provides URLs: Use them for competitor analysis.
- If user does not provide URLs: By default, search for top-ranking articles:
- Web search:
"[target keyword]" or "[primary keyword]"
- Fetch 2–3 top-ranking pages via mcp_web_fetch or WebSearch
- Analyze: word count, H2 structure, keyword placement, content gaps, CTA, schema
- If user explicitly asks to skip: Omit competitor search; note "Competitor analysis skipped" in output.
- Output: Competitor URLs, brief structure comparison, content gaps, length target, keyword opportunities.
Scope
- Single article page: One post, one URL (e.g.
/blog/how-to-optimize-seo)
- Not the blog index, category pages, or archive pages — see pages-blog for those
Initial Assessment
Check for product marketing context first: If .claude/product-marketing-context.md or .cursor/product-marketing-context.md exists, read it for topics, audience, keywords, and Section 11 (Content/Blog/Article Strategy).
Identify:
- Product connection: How does this article support the product? (educate on problem, introduce features, nurture leads)
- Keyword basis: Target keyword from product context or keyword research — see seo-content-keyword-research
- Content type: Blog post, guide, tutorial, news, evergreen
- Length: Short (<1,000 words), medium (1,000–2,500), long (2,500+)
- Intent: Informational, commercial, problem-aware
Product-linked content: Articles should tie to the product (problem it solves, features, use cases). Avoid purely generic content with no product relevance. Link to product/feature pages naturally in conclusion or when context fits.
Article Orientations
Not all articles share the same goal. Choose structure, SEO depth, and schema based on orientation and primary objective.
Article Types by Orientation
| Orientation |
Examples |
Primary Goal |
SEO Priority |
| Funding / PR |
Funding rounds, acquisitions, executive hires |
Brand awareness, press, investor relations |
Low — thin content, few search queries |
| Product updates |
Feature launches, release notes, changelogs |
User education, product adoption |
Low–medium — internal announcements rarely rank |
| Guides / How-to |
Tutorials, step-by-step, best practices |
Education, lead nurture, authority |
High — matches search intent |
| News / Trending |
Industry news, hot topics, seasonal |
Engagement, social shares, topical relevance |
Medium — quick traffic spikes, short shelf life |
| Evergreen |
Pillar guides, glossaries, comparisons |
Long-term traffic, backlinks, authority |
High — compounds over time |
SEO-Driven vs Non-SEO-Driven
- SEO-driven: How-to guides, listicles, comparisons, pillar content. Target keywords, optimize structure, invest in GEO. Goal: organic traffic.
- Non-SEO-driven: Funding announcements, product updates, company news. Goal: brand, PR, existing audience. Don't expect rankings; focus on clarity, shareability, and internal linking to SEO content.
- Hybrid: Product launch posts can include SEO-friendly sections (e.g., "How to use [feature]" with keyword targeting) while the main goal remains announcement.
Evergreen vs Timely Content
| Attribute |
Evergreen |
Timely |
| Relevance |
Year-round; foundational topics |
Weeks to months; trends, news, seasonal |
| Traffic |
Steady, compounds over time |
Spikes then decline |
| Examples |
"How to write a business plan," "Best SEO strategies" |
Holiday guides, trending microtrends, breaking news |
| Maintenance |
Refresh every 6–12 months; update stats |
Often one-and-done; may archive or redirect |
| Schema |
Article or BlogPosting |
NewsArticle for time-sensitive news |
Recommended mix: 70/30 or 60/40 evergreen-to-timely. Too much evergreen = blog feels outdated; too much timely = irregular traffic, constant churn. Use timely content to link into evergreen pillar articles.
Date display: For timely content, datePublished matters more; for evergreen, prefer dateModified when visible (see Date Display below).
Competitor Article Analysis
Performed as part of Research Phase (see above). When competitor articles are obtained:
- Obtain articles: URLs from user or product context (Section 11), or search web for
"[keyword]" to find top-ranking pages (default for analysis)
- Fetch content: mcp_web_fetch, WebSearch, or user-provided text
- Analyze: Content Analysis dimensions + word count, H2 structure, keyword placement, content gaps, CTA, schema
- Output: In Research Phase (Section 0) + add to Recommendations — structure to adopt, sections to add, length target, keyword opportunities, content gaps to fill
Article Page Structure
| Section |
Purpose |
| Hero/Header |
Title (H1), author, single date (see Date Display below), reading time (word count ÷ 200; round up), featured image, share buttons |
| TL;DR or Key Takeaways |
Choose one: TL;DR = 50–100 word bold summary paragraph; Key Takeaways = 5–7 bullet points; placed after intro; supports GEO/AI citation |
| Introduction |
40–120 words; hook in first 1–2 sentences (pain point, stat, or question); primary keyword in first 100 words; readers decide in ~8 seconds |
| Body |
H2–H3 hierarchy; QAE pattern (see GEO below); scannable (lists, short paragraphs 40–80 words, visuals) |
| Conclusion |
Summary, CTA (newsletter, related content, product — link to product/feature when relevant) |
| Related posts |
3–6 contextual links; end-of-article recommendations |
| Author bio |
E-E-A-T; credentials, photo, link to author page |
Featured Image
The hero image displayed at the top of the article. Same image typically used for Schema, Open Graph, and Twitter Cards.
| Attribute |
Guideline |
| Dimensions |
1200–1600px wide; proportional height; 1200×630px for social (og:image) |
| File size |
Under 200 KB; compress (WebP preferred) |
| Format |
WebP, JPEG, PNG; avoid oversized originals |
| Alt text |
Descriptive; include keyword when natural; accessibility + Google Images |
| File name |
Descriptive (e.g. seo-checklist-2025.webp); keyword when natural |
| Relevance |
Must align with article topic; articles with relevant images get ~94% more views |
| LCP |
Set width and height attributes to prevent CLS; use srcset/sizes for responsive |
Schema and Open Graph require the same image (min 1200px wide, absolute URL). See seo-on-page-open-graph, seo-on-page-twitter-cards.
Social Sharing
- Add share buttons (X, LinkedIn, Facebook, etc.) — see components-social-share
- Place after intro and/or end of article; sticky sidebar for long-form
- Requires Open Graph and Twitter Cards for rich previews when shared
GEO / AI Optimization (Generative Engine Optimization)
Optimize for AI citation (ChatGPT, Perplexity, Google AI Overviews). Content structured for GEO is cited ~35% more frequently.
| Element |
Guideline |
| TL;DR or Key Takeaways |
Choose one: TL;DR = 50–100 word summary paragraph; Key Takeaways = 5–7 bullet points; placed after intro; supports GEO |
| QAE pattern |
Question (H2) → Answer (2 sentences) → Evidence (data, examples, lists) |
| Answer-first |
Direct answer in first 40–60 words after each H2 |
| Answer blocks |
100–200 words per section; direct answer + context + evidence + nuance |
| Structured formats |
Lists, tables, numbered steps increase citation rate |
See strategies-geo for full GEO strategy.
Paragraph Length & Content
| Element |
Guideline |
| Paragraph length |
2–4 sentences; 40–80 words per paragraph; avoid walls of text |
| Break long blocks |
Use lists, subheadings (H3), images, callout boxes every 2–3 paragraphs |
| Answer blocks |
100–200 words per H2 section; direct answer + context + evidence |
| Scannability |
Short sentences; one idea per paragraph; front-load key info (F-pattern: readers scan top, then left); bold key phrases for Featured Snippets |
Long-Form (1,000+ words)
- Add table of contents (TOC) after intro — see components-toc
- Use jump links for major sections
- Break text with images, lists, definition boxes, mini-FAQs
SEO Best Practices (2025)
Title & Meta
| Element |
Guideline |
| Title |
55 chars; primary keyword near start; power words |
| Meta description |
150–160 chars; CTA; primary keyword |
| H1 |
One per page; matches title; primary keyword naturally |
Keyword Placement
- Title: 1× primary keyword
- First 100 words: 1× primary keyword
- Body: 2–3× naturally; avoid stuffing
- At least one H2: Include primary or related keyword
Content Quality
- Readability: Grade 8–10 (Flesch-Kincaid); short sentences, clear language
- Depth: 2,500+ words for pillar content; 1,000+ for cluster articles
- Originality: Unique angle, data, examples; avoid thin or rehashed content
- E-E-A-T: Author bio, citations, changelog, expert quotes; Experience (first-hand, case studies, original research) strengthens trust; YMYL (health, finance, legal) requires higher E-E-A-T
Common Mistakes to Avoid
- Multiple H1s; skipping heading levels (H2→H4); keyword stuffing in headings
- Neglecting conclusion or CTA; no internal links to related content
- Walls of text; generic "click here" anchors
URL
Use components-url-slug for slug creation. Key rules:
- Slug: 3–5 words; under 60 chars; primary keyword; lowercase, hyphens
- Example:
/blog/ai-people-search not /blog/ai-search-engine-finding-people-speed-discovery-outreach
- Avoid: Date in path (
/blog/2025/01/15/article-title); copy-pasting full title
Date Display (Critical for CTR)
Google recommends: Minimize the presence of other dates on the page. If both datePublished and dateModified are shown, Google may pick the wrong date for SERP display.
- Search Engine Land case: A site showing both dates saw 22% CTR drop — Google chose the outdated date.
- Best practice: Show only one date on the page — prefer
dateModified if it exists, otherwise datePublished.
- Schema: Keep both
datePublished and dateModified in JSON-LD; the rule applies to visible date only.
Schema (Article / BlogPosting / NewsArticle)
Choose the most specific type that matches content:
| Type |
Use case |
| BlogPosting |
Informal blog posts; individual authors; regularly updated |
| Article |
Formal, evergreen content; tool intros; encyclopedic |
| NewsArticle |
Time-sensitive news; recognized publishers |
Required Properties
- headline (max 110 chars; often = H1)
- image (min 1200px wide; absolute URL)
- datePublished (ISO 8601)
- author (Person or Organization)
- publisher (Organization with logo)
Recommended Properties
- dateModified — signals freshness
- description — brief summary
- mainEntityOfPage — canonical URL
JSON-LD Example
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "The Ultimate SEO Checklist for 2025",
"description": "A complete guide to optimizing blog posts for search and AI.",
"image": "https://example.com/image.jpg",
"datePublished": "2025-01-15T09:00:00Z",
"dateModified": "2025-02-01T14:30:00Z",
"author": { "@type": "Person", "name": "Jane Doe", "url": "https://example.com/author/jane" },
"publisher": { "@type": "Organization", "name": "Example", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" } }
}
Place in <head> via <script type="application/ld+json">. Validate with Rich Results Test.
Open Graph for Articles
Use og:type: article for article pages (not website):
<meta property="og:type" content="article">
<meta property="og:article:published_time" content="2025-01-15T09:00:00Z">
<meta property="og:article:modified_time" content="2025-02-01T14:30:00Z">
<meta property="og:article:author" content="https://example.com/author/jane">
Internal Linking
| Element |
Guideline |
| Volume |
3–5 contextual links in body + 3–6 in Related posts = 6–11 total per article |
| First paragraph |
1 link to pillar or key related content |
| Body |
2–4 contextual links; one per major section when relevant |
| Related posts |
3–6 end-of-article links; same topic cluster |
| Anchor text |
Descriptive (e.g. "SEO checklist for 2025", "how to optimize meta tags"); avoid "click here", "learn more", "read more" |
| Variation |
Mix exact-match, partial-match, branded anchors; avoid over-optimization |
| Orphan prevention |
Every article has ≥1 internal link from hub/pillar or nav |
Outbound Links (External)
| Element |
Guideline |
| Volume |
2–5 external links per article; cite authoritative sources |
| When to use |
Statistics, research, definitions, tool comparisons, expert quotes |
| Anchor text |
Descriptive (e.g. "Google's Search Quality Guidelines", "Semrush study"); link to source |
| Same URL |
Counts once per page for link equity; no need to repeat |
| E-E-A-T |
External links to reputable sources signal trust; avoid linking to low-quality sites |
References / Citations
| Scenario |
Recommendation |
| Data or statistics |
Cite source inline (e.g. "According to Semrush, 72% of…") or in a References section |
| Expert quotes |
Attribute; link to source or profile |
| Reference section |
For pillar/evergreen content with 5+ citations; list at end before Related posts |
| Format |
Inline links preferred; numbered refs (e.g. [1], [2]) for academic-style pieces |
| When to include |
Any claim that benefits from authority (stats, studies, definitions); strengthens E-E-A-T |
AI-Assisted Content
When content is AI-assisted: human review before publish; verify facts and add citations; original insights or data; avoid generic phrasing. Google may label AI content; transparency and human refinement support E-E-A-T.
Technical
- Core Web Vitals: LCP < 1.0s on mobile
- Images: WebP, compressed; descriptive alt text; keyword in filename when natural
- IndexNow: For fast indexing of new posts
- Canonical: Self-referencing canonical on article page
Post-Publication
- Refresh: Update every 6–12 months; refresh stats, add insights
- Internal links: Add links from older posts to new articles
- Monitor: GSC indexing, rankings, Core Web Vitals
Content Analysis
When auditing or optimizing an article, analyze content (beyond structure):
| Dimension |
What to check |
| Hook |
Intro opens with pain point, stat, or question? |
| Keyword in first 100 words |
Primary keyword present? |
| QAE pattern |
H2s as questions? Answer-first (40–60 words) in each section? |
| Word count |
Matches type? (300–600 news, 1,000–2,500 cluster, 2,500+ pillar) |
| Paragraph length |
40–80 words per paragraph? No walls of text? |
| Multimedia |
Images, tables, lists, stats; alt text; scannability |
| Product connection |
Ties to product? Natural links to features/pricing? |
| CTA |
Placement (conclusion, mid-article); clarity; product link |
| Internal links |
3–5 in body + 3–6 Related? Descriptive anchor text? No "click here"? |
| Outbound links |
2–5 external links? Authoritative sources? Descriptive anchors? |
| References |
Data/stats cited? Reference section for 5+ citations? E-E-A-T signal? |
| Data/evidence |
Original data, citations, examples; avoid thin content |
| Gaps |
What do top-ranking articles cover that this misses? |
Output Format
0. Research Phase (output first, when analysis/audit is performed)
When analyzing or auditing an article, output this section before Intent Analysis. Include search sources and findings. If user asked to skip search, note that and infer from article only.
| Section |
Output |
| Keyword Search |
Primary keyword (from article or search), secondary keywords, keyword opportunities (from SERP/competitor analysis). If search was performed: query used, top results observed. |
| Search Intent |
Intent for primary keyword (Informational/Commercial/Transactional/Navigational), intent for 2–3 secondary keywords, whether article content matches intent. If search was performed: SERP snippet types observed. |
| Competitor Articles |
If searched: 2–3 URLs, brief structure (word count, H2s), content gaps, length target. If user provided URLs: same. If skipped: "Competitor analysis skipped." |
1. Intent Analysis (output second)
Before any recommendations, output a brief analysis:
| Dimension |
Output |
| Orientation |
Funding/PR, Product update, Guide, News, Evergreen |
| Primary goal |
Brand, PR, education, product adoption, organic traffic, … |
| SEO vs non-SEO |
SEO-driven / Non-SEO-driven / Hybrid |
| Evergreen vs timely |
Evergreen / Timely |
| Implications |
1–2 sentences: e.g. "Low SEO priority → focus on clarity, shareability" or "SEO-driven → full keyword + GEO optimization" |
2. Content Analysis (output third)
Apply the Content Analysis table above. Output a brief assessment per dimension (✅ / ⚠️ / ❌ + one-line note).
3. Recommendations (output fourth, tailored to intent)
Assign priority to each item: P0 (critical), P1 (high), P2 (medium), P3 (nice-to-have). Output as table or list with priority prefix.
| Priority |
Use when |
| P0 |
Blocks GEO/SEO; missing core element (TL;DR or Key Takeaways, keyword in first 100 words, schema) |
| P1 |
Significant impact on traffic, CTR, or conversion (title length, share buttons, CTA) |
| P2 |
Improves UX or authority (related posts, author bio, internal links) |
| P3 |
Polish (image optimization, readability tweaks) |
Example: [P0] Add TL;DR or Key Takeaways — GEO, AI citation
- Product connection (how article supports product; where to link)
- Keyword (target from product context or keyword research)
- Structure for article template (hero, TL;DR or Key Takeaways, intro, body, conclusion, related, author)
- Paragraph length (40–80 words; break with lists, H3s; 100–200 words per H2 section)
- Featured image (dimensions, alt, file size, og:image alignment)
- GEO elements (TL;DR or Key Takeaways, QAE pattern) — skip or minimal for non-SEO-driven
- SEO checklist (title, meta, H1, keyword placement) — skip or minimal for non-SEO-driven
- Schema type and JSON-LD
- Internal links (3–5 in body + 3–6 Related; anchor text suggestions; avoid "click here")
- Outbound links (2–5 external; cite stats, research; anchor text for each)
- References (inline citations vs Reference section; when to add for E-E-A-T)
- Competitor analysis (when URLs provided or searched): content gaps vs top rankers, structure to adopt, length target, keyword opportunities — see Before Analysis to prompt user or search
Related Skills
- pages-blog: Blog index/listing page; article pages live within blog
- seo-content-keyword-research: Keyword basis for articles; run before drafting
- seo-on-page-title, seo-on-page-description: Article metadata
- seo-on-page-schema: Article/BlogPosting/NewsArticle schema
- seo-on-page-heading: H1–H6 structure for article body
- seo-content-optimization: Word count, H2 keywords, keyword density, tables, lists, multimedia
- seo-on-page-internal-links: Related posts, contextual links
- seo-on-page-open-graph, seo-on-page-twitter-cards: Social previews for articles (required for share previews)
- components-social-share: Share buttons placement, platforms, intent URLs
- components-url-slug: URL slug creation for articles; 3–5 words, primary keyword
- components-toc: Table of contents for long articles
- components-breadcrumb: Breadcrumb (e.g. Home > Blog > Category > Post)
- strategies-geo: GEO strategy; AI citation optimization
1---2name: pages-article3description: When the user wants to create, optimize, or audit a single article/post page (not the blog index). Also use when the user mentions "article page," "blog post page," "single post," "post template," "individual article," "competitor article analysis," "optimize based on top-ranking articles," or "analyze ranking articles."4---5
6# Pages: Article (Single Post)
7
8Guides structure, SEO, and UX for **individual article pages** — one blog post, one guide, one piece of long-form content. Distinct from **pages-blog**, which covers the blog index/listing page.
9
10**When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.
11
12**Output workflow**: Always output in order: **0. Research Phase** (keywords, search intent, competitors) → **1. Intent Analysis** → **2. Content Analysis** → **3. Recommendations**. Do not skip steps. When Research Phase was performed via web search, show the search results and findings.
13
14## Optimization Foundation: Four Inputs
15
16Article analysis and creation rest on **four inputs**. Gather or infer them before outputting recommendations:
17
18| Input | Purpose | Source |
19|-------|---------|--------|
20| **Product** | Product connection, features, use cases, CTA placement | product-marketing-context (Sections 1–4, 9–11); article content; web search |
21| **Keywords** | Target keyword, primary/secondary placement | product-marketing-context Section 6; seo-content-keyword-research; article |
22| **Article intent** | Informational, commercial, transactional, navigational; drives structure, CTA, SEO depth | product-marketing-context Section 6 (target intent); article orientation; content type |
23| **Competitor articles** | Structure to adopt, content gaps, length target, keyword opportunities | User-provided URLs; product-marketing-context Section 11; web search |
24
25**When any input is missing**: Proactively ask or search. For article analysis: perform **Research Phase** (keyword search, search intent, competitor articles) by default — see Research Phase section. For product/keywords/intent, infer from article or prompt user to add product-marketing-context.
26
27## Before Analysis: Gather Context
28
29**1. Product / company context**
30
31Use available context to give **tailored** analysis:
32
33| Source | Use for |
34|--------|---------|
35| **product-marketing-context.md** | Keywords (Section 6), competitors (Section 7), content strategy (Section 11), product connection |
36| **Article content** | Extract product name, features, URLs; infer target keyword and audience |
37| **Web search** | When analyzing a known brand (e.g. Lessie AI): search for "[product] features", "[product] vs competitors", company positioning — use to validate product connection, suggest missing features/use cases, and improve competitor gap analysis |
38
39If no product-marketing-context exists, infer from the article and optionally search for company/product info to enrich recommendations.
40
41## Research Phase: Keyword, Search Intent, Competitor (Required for Article Analysis)
42
43When **analyzing or auditing** an article, perform the following searches and **output the results** in the analysis. Skip only if user explicitly asks to skip (e.g. "skip search").
44
45### 1. Keyword Search
46
47- **Extract seed keywords** from article (title, H1, H2s, meta keywords, first 100 words).
48- **Search the web** for related keywords and opportunity:
49 - `"[primary keyword]"` or `"[primary keyword] related keywords"`
50 - `"[primary keyword]" site:competitor.com` (if competitors known)
51 - Google autocomplete / "People also ask" style queries for the topic
52- **Output**: Primary keyword, secondary keywords, keyword opportunities (terms top rankers use that this article misses).
53
54### 2. Search Intent Analysis
55
56- **Determine intent** for primary and secondary keywords:
57 - **Informational**: How-to, what is, why, guides → blog, FAQ
58 - **Commercial**: Comparison, best, review → comparison pages, product pages
59 - **Transactional**: Buy, pricing, sign up → product, pricing, CTA
60 - **Navigational**: Brand name, login → brand pages
61- **Search the web** if needed: `"[keyword]"` to see SERP result types (blogs, product pages, etc.) and infer intent.
62- **Output**: Intent for primary keyword, intent for top 2–3 secondary keywords, whether article matches intent.
63
64### 3. Competitor Article Search
65
66- **If user provides URLs**: Use them for competitor analysis.
67- **If user does not provide URLs**: **By default, search** for top-ranking articles:
68 - Web search: `"[target keyword]"` or `"[primary keyword]"`
69 - Fetch 2–3 top-ranking pages via mcp_web_fetch or WebSearch
70 - Analyze: word count, H2 structure, keyword placement, content gaps, CTA, schema
71- **If user explicitly asks to skip**: Omit competitor search; note "Competitor analysis skipped" in output.
72- **Output**: Competitor URLs, brief structure comparison, content gaps, length target, keyword opportunities.
73
74## Scope
75
76- **Single article page**: One post, one URL (e.g. `/blog/how-to-optimize-seo`)
77- **Not** the blog index, category pages, or archive pages — see **pages-blog** for those
78
79## Initial Assessment
80
81**Check for product marketing context first:** If `.claude/product-marketing-context.md` or `.cursor/product-marketing-context.md` exists, read it for topics, audience, keywords, and Section 11 (Content/Blog/Article Strategy).
82
83Identify:
841. **Product connection**: How does this article support the product? (educate on problem, introduce features, nurture leads)
852. **Keyword basis**: Target keyword from product context or keyword research — see **seo-content-keyword-research**
863. **Content type**: Blog post, guide, tutorial, news, evergreen
874. **Length**: Short (<1,000 words), medium (1,000–2,500), long (2,500+)
885. **Intent**: Informational, commercial, problem-aware
89
90**Product-linked content**: Articles should tie to the product (problem it solves, features, use cases). Avoid purely generic content with no product relevance. Link to product/feature pages naturally in conclusion or when context fits.
91
92## Article Orientations
93
94Not all articles share the same goal. Choose structure, SEO depth, and schema based on **orientation** and **primary objective**.
95
96### Article Types by Orientation
97
98| Orientation | Examples | Primary Goal | SEO Priority |
99|-------------|----------|--------------|--------------|
100| **Funding / PR** | Funding rounds, acquisitions, executive hires | Brand awareness, press, investor relations | Low — thin content, few search queries |
101| **Product updates** | Feature launches, release notes, changelogs | User education, product adoption | Low–medium — internal announcements rarely rank |
102| **Guides / How-to** | Tutorials, step-by-step, best practices | Education, lead nurture, authority | High — matches search intent |
103| **News / Trending** | Industry news, hot topics, seasonal | Engagement, social shares, topical relevance | Medium — quick traffic spikes, short shelf life |
104| **Evergreen** | Pillar guides, glossaries, comparisons | Long-term traffic, backlinks, authority | High — compounds over time |
105
106### SEO-Driven vs Non-SEO-Driven
107
108- **SEO-driven**: How-to guides, listicles, comparisons, pillar content. Target keywords, optimize structure, invest in GEO. Goal: organic traffic.
109- **Non-SEO-driven**: Funding announcements, product updates, company news. Goal: brand, PR, existing audience. Don't expect rankings; focus on clarity, shareability, and internal linking to SEO content.
110- **Hybrid**: Product launch posts can include SEO-friendly sections (e.g., "How to use [feature]" with keyword targeting) while the main goal remains announcement.
111
112### Evergreen vs Timely Content
113
114| Attribute | Evergreen | Timely |
115|-----------|-----------|--------|
116| **Relevance** | Year-round; foundational topics | Weeks to months; trends, news, seasonal |
117| **Traffic** | Steady, compounds over time | Spikes then decline |
118| **Examples** | "How to write a business plan," "Best SEO strategies" | Holiday guides, trending microtrends, breaking news |
119| **Maintenance** | Refresh every 6–12 months; update stats | Often one-and-done; may archive or redirect |
120| **Schema** | `Article` or `BlogPosting` | `NewsArticle` for time-sensitive news |
121
122**Recommended mix**: 70/30 or 60/40 **evergreen-to-timely**. Too much evergreen = blog feels outdated; too much timely = irregular traffic, constant churn. Use timely content to link into evergreen pillar articles.
123
124**Date display**: For timely content, `datePublished` matters more; for evergreen, prefer `dateModified` when visible (see Date Display below).
125
126## Competitor Article Analysis
127
128Performed as part of **Research Phase** (see above). When competitor articles are obtained:
129
1301. **Obtain articles**: URLs from user or product context (Section 11), or search web for `"[keyword]"` to find top-ranking pages (default for analysis)
1312. **Fetch content**: mcp_web_fetch, WebSearch, or user-provided text
1323. **Analyze**: Content Analysis dimensions + word count, H2 structure, keyword placement, content gaps, CTA, schema
1334. **Output**: In Research Phase (Section 0) + add to Recommendations — structure to adopt, sections to add, length target, keyword opportunities, content gaps to fill
134
135## Article Page Structure
136
137| Section | Purpose |
138|---------|---------|
139| **Hero/Header** | Title (H1), author, **single date** (see Date Display below), **reading time** (word count ÷ 200; round up), featured image, **share buttons** |
140| **TL;DR or Key Takeaways** | Choose one: **TL;DR** = 50–100 word bold summary paragraph; **Key Takeaways** = 5–7 bullet points; placed after intro; supports GEO/AI citation |
141| **Introduction** | 40–120 words; hook in first 1–2 sentences (pain point, stat, or question); primary keyword in first 100 words; readers decide in ~8 seconds |
142| **Body** | H2–H3 hierarchy; QAE pattern (see GEO below); scannable (lists, short paragraphs 40–80 words, visuals) |
143| **Conclusion** | Summary, CTA (newsletter, related content, **product** — link to product/feature when relevant) |
144| **Related posts** | 3–6 contextual links; end-of-article recommendations |
145| **Author bio** | E-E-A-T; credentials, photo, link to author page |
146
147### Featured Image
148
149The hero image displayed at the top of the article. Same image typically used for Schema, Open Graph, and Twitter Cards.
150
151| Attribute | Guideline |
152|-----------|-----------|
153| **Dimensions** | 1200–1600px wide; proportional height; 1200×630px for social (og:image) |
154| **File size** | Under 200 KB; compress (WebP preferred) |
155| **Format** | WebP, JPEG, PNG; avoid oversized originals |
156| **Alt text** | Descriptive; include keyword when natural; accessibility + Google Images |
157| **File name** | Descriptive (e.g. `seo-checklist-2025.webp`); keyword when natural |
158| **Relevance** | Must align with article topic; articles with relevant images get ~94% more views |
159| **LCP** | Set `width` and `height` attributes to prevent CLS; use `srcset`/`sizes` for responsive |
160
161Schema and Open Graph require the same image (min 1200px wide, absolute URL). See **seo-on-page-open-graph**, **seo-on-page-twitter-cards**.
162
163### Social Sharing
164
165- Add **share buttons** (X, LinkedIn, Facebook, etc.) — see **components-social-share**
166- Place after intro and/or end of article; sticky sidebar for long-form
167- Requires **Open Graph** and **Twitter Cards** for rich previews when shared
168
169### GEO / AI Optimization (Generative Engine Optimization)
170
171Optimize for AI citation (ChatGPT, Perplexity, Google AI Overviews). Content structured for GEO is cited ~35% more frequently.
172
173| Element | Guideline |
174|---------|-----------|
175| **TL;DR or Key Takeaways** | Choose one: **TL;DR** = 50–100 word summary paragraph; **Key Takeaways** = 5–7 bullet points; placed after intro; supports GEO |
176| **QAE pattern** | Question (H2) → Answer (2 sentences) → Evidence (data, examples, lists) |
177| **Answer-first** | Direct answer in first 40–60 words after each H2 |
178| **Answer blocks** | 100–200 words per section; direct answer + context + evidence + nuance |
179| **Structured formats** | Lists, tables, numbered steps increase citation rate |
180
181See **strategies-geo** for full GEO strategy.
182
183### Paragraph Length & Content
184
185| Element | Guideline |
186|---------|-----------|
187| **Paragraph length** | 2–4 sentences; 40–80 words per paragraph; avoid walls of text |
188| **Break long blocks** | Use lists, subheadings (H3), images, callout boxes every 2–3 paragraphs |
189| **Answer blocks** | 100–200 words per H2 section; direct answer + context + evidence |
190| **Scannability** | Short sentences; one idea per paragraph; **front-load** key info (F-pattern: readers scan top, then left); **bold** key phrases for Featured Snippets |
191
192### Long-Form (1,000+ words)
193
194- Add **table of contents** (TOC) after intro — see **components-toc**
195- Use jump links for major sections
196- Break text with images, lists, definition boxes, mini-FAQs
197
198## SEO Best Practices (2025)
199
200### Title & Meta
201
202| Element | Guideline |
203|---------|-----------|
204| **Title** | 55 chars; primary keyword near start; power words |
205| **Meta description** | 150–160 chars; CTA; primary keyword |
206| **H1** | One per page; matches title; primary keyword naturally |
207
208### Keyword Placement
209
210- **Title**: 1× primary keyword
211- **First 100 words**: 1× primary keyword
212- **Body**: 2–3× naturally; avoid stuffing
213- **At least one H2**: Include primary or related keyword
214
215### Content Quality
216
217- **Readability**: Grade 8–10 (Flesch-Kincaid); short sentences, clear language
218- **Depth**: 2,500+ words for pillar content; 1,000+ for cluster articles
219- **Originality**: Unique angle, data, examples; avoid thin or rehashed content
220- **E-E-A-T**: Author bio, citations, changelog, expert quotes; **Experience** (first-hand, case studies, original research) strengthens trust; **YMYL** (health, finance, legal) requires higher E-E-A-T
221
222### Common Mistakes to Avoid
223
224- Multiple H1s; skipping heading levels (H2→H4); keyword stuffing in headings
225- Neglecting conclusion or CTA; no internal links to related content
226- Walls of text; generic "click here" anchors
227
228### URL
229
230Use **components-url-slug** for slug creation. Key rules:
231
232- **Slug**: 3–5 words; under 60 chars; primary keyword; lowercase, hyphens
233- **Example**: `/blog/ai-people-search` not `/blog/ai-search-engine-finding-people-speed-discovery-outreach`
234- **Avoid**: Date in path (`/blog/2025/01/15/article-title`); copy-pasting full title
235
236### Date Display (Critical for CTR)
237
238**Google recommends**: Minimize the presence of other dates on the page. If both `datePublished` and `dateModified` are shown, Google may pick the wrong date for SERP display.
239
240- **Search Engine Land case**: A site showing both dates saw **22% CTR drop** — Google chose the outdated date.
241- **Best practice**: Show **only one date** on the page — prefer `dateModified` if it exists, otherwise `datePublished`.
242- **Schema**: Keep both `datePublished` and `dateModified` in JSON-LD; the rule applies to **visible** date only.
243
244## Schema (Article / BlogPosting / NewsArticle)
245
246Choose the **most specific** type that matches content:
247
248| Type | Use case |
249|------|----------|
250| **BlogPosting** | Informal blog posts; individual authors; regularly updated |
251| **Article** | Formal, evergreen content; tool intros; encyclopedic |
252| **NewsArticle** | Time-sensitive news; recognized publishers |
253
254### Required Properties
255
256- **headline** (max 110 chars; often = H1)
257- **image** (min 1200px wide; absolute URL)
258- **datePublished** (ISO 8601)
259- **author** (Person or Organization)
260- **publisher** (Organization with logo)
261
262### Recommended Properties
263
264- **dateModified** — signals freshness
265- **description** — brief summary
266- **mainEntityOfPage** — canonical URL
267
268### JSON-LD Example
269
270```json
271{
272 "@context": "https://schema.org",
273 "@type": "BlogPosting",
274 "headline": "The Ultimate SEO Checklist for 2025",
275 "description": "A complete guide to optimizing blog posts for search and AI.",
276 "image": "https://example.com/image.jpg",
277 "datePublished": "2025-01-15T09:00:00Z",
278 "dateModified": "2025-02-01T14:30:00Z",
279 "author": { "@type": "Person", "name": "Jane Doe", "url": "https://example.com/author/jane" },
280 "publisher": { "@type": "Organization", "name": "Example", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" } }
281}
282```
283
284Place in `<head>` via `<script type="application/ld+json">`. Validate with [Rich Results Test](https://search.google.com/test/rich-results).
285
286## Open Graph for Articles
287
288Use `og:type: article` for article pages (not `website`):
289
290```html
291<meta property="og:type" content="article">
292<meta property="og:article:published_time" content="2025-01-15T09:00:00Z">
293<meta property="og:article:modified_time" content="2025-02-01T14:30:00Z">
294<meta property="og:article:author" content="https://example.com/author/jane">
295```
296
297## Internal Linking
298
299| Element | Guideline |
300|---------|-----------|
301| **Volume** | 3–5 contextual links in body + 3–6 in Related posts = 6–11 total per article |
302| **First paragraph** | 1 link to pillar or key related content |
303| **Body** | 2–4 contextual links; one per major section when relevant |
304| **Related posts** | 3–6 end-of-article links; same topic cluster |
305| **Anchor text** | Descriptive (e.g. "SEO checklist for 2025", "how to optimize meta tags"); avoid "click here", "learn more", "read more" |
306| **Variation** | Mix exact-match, partial-match, branded anchors; avoid over-optimization |
307| **Orphan prevention** | Every article has ≥1 internal link from hub/pillar or nav |
308
309## Outbound Links (External)
310
311| Element | Guideline |
312|---------|-----------|
313| **Volume** | 2–5 external links per article; cite authoritative sources |
314| **When to use** | Statistics, research, definitions, tool comparisons, expert quotes |
315| **Anchor text** | Descriptive (e.g. "Google's Search Quality Guidelines", "Semrush study"); link to source |
316| **Same URL** | Counts once per page for link equity; no need to repeat |
317| **E-E-A-T** | External links to reputable sources signal trust; avoid linking to low-quality sites |
318
319## References / Citations
320
321| Scenario | Recommendation |
322|----------|----------------|
323| **Data or statistics** | Cite source inline (e.g. "According to [Semrush](url), 72% of…") or in a References section |
324| **Expert quotes** | Attribute; link to source or profile |
325| **Reference section** | For pillar/evergreen content with 5+ citations; list at end before Related posts |
326| **Format** | Inline links preferred; numbered refs (e.g. [1], [2]) for academic-style pieces |
327| **When to include** | Any claim that benefits from authority (stats, studies, definitions); strengthens E-E-A-T |
328
329## AI-Assisted Content
330
331When content is AI-assisted: **human review** before publish; **verify facts** and add citations; **original insights** or data; avoid generic phrasing. Google may label AI content; transparency and human refinement support E-E-A-T.
332
333## Technical
334
335- **Core Web Vitals**: LCP < 1.0s on mobile
336- **Images**: WebP, compressed; descriptive alt text; keyword in filename when natural
337- **IndexNow**: For fast indexing of new posts
338- **Canonical**: Self-referencing canonical on article page
339
340## Post-Publication
341
342- **Refresh**: Update every 6–12 months; refresh stats, add insights
343- **Internal links**: Add links from older posts to new articles
344- **Monitor**: GSC indexing, rankings, Core Web Vitals
345
346## Content Analysis
347
348When auditing or optimizing an article, analyze content (beyond structure):
349
350| Dimension | What to check |
351|-----------|---------------|
352| **Hook** | Intro opens with pain point, stat, or question? |
353| **Keyword in first 100 words** | Primary keyword present? |
354| **QAE pattern** | H2s as questions? Answer-first (40–60 words) in each section? |
355| **Word count** | Matches type? (300–600 news, 1,000–2,500 cluster, 2,500+ pillar) |
356| **Paragraph length** | 40–80 words per paragraph? No walls of text? |
357| **Multimedia** | Images, tables, lists, stats; alt text; scannability |
358| **Product connection** | Ties to product? Natural links to features/pricing? |
359| **CTA** | Placement (conclusion, mid-article); clarity; product link |
360| **Internal links** | 3–5 in body + 3–6 Related? Descriptive anchor text? No "click here"? |
361| **Outbound links** | 2–5 external links? Authoritative sources? Descriptive anchors? |
362| **References** | Data/stats cited? Reference section for 5+ citations? E-E-A-T signal? |
363| **Data/evidence** | Original data, citations, examples; avoid thin content |
364| **Gaps** | What do top-ranking articles cover that this misses? |
365
366## Output Format
367
368### 0. Research Phase (output first, when analysis/audit is performed)
369
370When analyzing or auditing an article, output this section **before** Intent Analysis. Include search sources and findings. If user asked to skip search, note that and infer from article only.
371
372| Section | Output |
373|--------|--------|
374| **Keyword Search** | Primary keyword (from article or search), secondary keywords, keyword opportunities (from SERP/competitor analysis). If search was performed: query used, top results observed. |
375| **Search Intent** | Intent for primary keyword (Informational/Commercial/Transactional/Navigational), intent for 2–3 secondary keywords, whether article content matches intent. If search was performed: SERP snippet types observed. |
376| **Competitor Articles** | If searched: 2–3 URLs, brief structure (word count, H2s), content gaps, length target. If user provided URLs: same. If skipped: "Competitor analysis skipped." |
377
378### 1. Intent Analysis (output second)
379
380Before any recommendations, output a brief analysis:
381
382| Dimension | Output |
383|-----------|--------|
384| **Orientation** | Funding/PR, Product update, Guide, News, Evergreen |
385| **Primary goal** | Brand, PR, education, product adoption, organic traffic, … |
386| **SEO vs non-SEO** | SEO-driven / Non-SEO-driven / Hybrid |
387| **Evergreen vs timely** | Evergreen / Timely |
388| **Implications** | 1–2 sentences: e.g. "Low SEO priority → focus on clarity, shareability" or "SEO-driven → full keyword + GEO optimization" |
389
390### 2. Content Analysis (output third)
391
392Apply the Content Analysis table above. Output a brief assessment per dimension (✅ / ⚠️ / ❌ + one-line note).
393
394### 3. Recommendations (output fourth, tailored to intent)
395
396Assign **priority** to each item: **P0** (critical), **P1** (high), **P2** (medium), **P3** (nice-to-have). Output as table or list with priority prefix.
397
398| Priority | Use when |
399|----------|----------|
400| **P0** | Blocks GEO/SEO; missing core element (TL;DR or Key Takeaways, keyword in first 100 words, schema) |
401| **P1** | Significant impact on traffic, CTR, or conversion (title length, share buttons, CTA) |
402| **P2** | Improves UX or authority (related posts, author bio, internal links) |
403| **P3** | Polish (image optimization, readability tweaks) |
404
405Example: `[P0] Add TL;DR or Key Takeaways — GEO, AI citation`
406
407- **Product connection** (how article supports product; where to link)
408- **Keyword** (target from product context or keyword research)
409- **Structure** for article template (hero, TL;DR or Key Takeaways, intro, body, conclusion, related, author)
410- **Paragraph length** (40–80 words; break with lists, H3s; 100–200 words per H2 section)
411- **Featured image** (dimensions, alt, file size, og:image alignment)
412- **GEO** elements (TL;DR or Key Takeaways, QAE pattern) — *skip or minimal for non-SEO-driven*
413- **SEO** checklist (title, meta, H1, keyword placement) — *skip or minimal for non-SEO-driven*
414- **Schema** type and JSON-LD
415- **Internal links** (3–5 in body + 3–6 Related; anchor text suggestions; avoid "click here")
416- **Outbound links** (2–5 external; cite stats, research; anchor text for each)
417- **References** (inline citations vs Reference section; when to add for E-E-A-T)
418- **Competitor analysis** (when URLs provided or searched): content gaps vs top rankers, structure to adopt, length target, keyword opportunities — see **Before Analysis** to prompt user or search
419
420## Related Skills
421
422- **pages-blog**: Blog index/listing page; article pages live within blog
423- **seo-content-keyword-research**: Keyword basis for articles; run before drafting
424- **seo-on-page-title, seo-on-page-description**: Article metadata
425- **seo-on-page-schema**: Article/BlogPosting/NewsArticle schema
426- **seo-on-page-heading**: H1–H6 structure for article body
427- **seo-content-optimization**: Word count, H2 keywords, keyword density, tables, lists, multimedia
428- **seo-on-page-internal-links**: Related posts, contextual links
429- **seo-on-page-open-graph, seo-on-page-twitter-cards**: Social previews for articles (required for share previews)
430- **components-social-share**: Share buttons placement, platforms, intent URLs
431- **components-url-slug**: URL slug creation for articles; 3–5 words, primary keyword
432- **components-toc**: Table of contents for long articles
433- **components-breadcrumb**: Breadcrumb (e.g. Home > Blog > Category > Post)
434- **strategies-geo**: GEO strategy; AI citation optimization