seo-article-writing

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

When to Use

适用场景

  • Setting up a blog section for SEO
  • Writing blog articles for organic traffic
  • Creating comparison/review content
  • Building content marketing assets
  • Any project needing a file-based blog CMS
  • 搭建SEO向博客板块
  • 撰写博客文章获取自然流量
  • 创作对比/评测内容
  • 搭建内容营销资产
  • 任何需要基于文件的博客CMS的项目

Prerequisites

前提条件

Before writing articles, ensure:
  1. Blog infrastructure is set up (see Blog Setup)
  2. AI image generation capability is available
  3. MDX support is configured in your bundler

在撰写文章前,请确保:
  1. 博客基础设施已搭建完成(参考博客搭建
  2. 具备AI图片生成能力
  3. 你的打包工具已配置MDX支持

Quick Start

快速开始

bash
undefined
bash
undefined

1. Set up blog infrastructure (first time only)

1. 搭建博客基础设施(仅首次执行)

Copy assets from this skill to your project

将本技能中的资产复制到你的项目中

2. Create article folder

2. 创建文章文件夹

mkdir -p src/content/blog/{slug}
mkdir -p src/content/blog/{slug}

3. Generate unique article image using AI

3. 使用AI生成专属文章配图

See Image Generation section below

参考下文的图片生成章节

4. Write article using template

4. 使用模板撰写文章

Use assets/templates/article.mdx as base

以assets/templates/article.mdx为基础模板


---

---

Workflow Overview

工作流概览

┌─────────────────────────────────────────────────────────────────┐
│  1. SETUP (One-time)                                            │
│     └─> Blog infrastructure                                     │
├─────────────────────────────────────────────────────────────────┤
│  2. RESEARCH                                                    │
│     └─> Keywords → Competitors → Content gaps                   │
├─────────────────────────────────────────────────────────────────┤
│  3. OUTLINE                                                     │
│     └─> Structure → Tables → FAQs                               │
├─────────────────────────────────────────────────────────────────┤
│  4. IMAGE GENERATION                                            │
│     └─> AI-generate unique image for article content            │
├─────────────────────────────────────────────────────────────────┤
│  5. WRITE                                                       │
│     └─> Draft → Optimize → Review                               │
├─────────────────────────────────────────────────────────────────┤
│  6. PUBLISH                                                     │
│     └─> MDX file → Sitemap → Verify                             │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│  1. 搭建(仅一次)                                              │
│     └─> 博客基础设施                                           │
├─────────────────────────────────────────────────────────────────┤
│  2. 调研                                                        │
│     └─> 关键词 → 竞品 → 内容空白点                             │
├─────────────────────────────────────────────────────────────────┤
│  3. 大纲                                                        │
│     └─> 结构 → 表格 → 常见问题                                 │
├─────────────────────────────────────────────────────────────────┤
│  4. 图片生成                                                    │
│     └─> 为文章内容AI生成专属图片                                │
├─────────────────────────────────────────────────────────────────┤
│  5. 撰写                                                        │
│     └─> 草稿 → 优化 → 审核                                     │
├─────────────────────────────────────────────────────────────────┤
│  6. 发布                                                        │
│     └─> MDX文件 → 站点地图 → 验证                               │
└─────────────────────────────────────────────────────────────────┘

Image Generation (CRITICAL)

图片生成(关键环节)

Philosophy

设计原则

Every article MUST have a unique, content-specific image. Do NOT use generic pattern backgrounds. Generate a custom image that:
  1. Visually represents the article topic
  2. Includes relevant text/title overlay
  3. Has a consistent brand style (dark theme, orange accents)
  4. Is sized 1200x630 pixels for OG sharing
每篇文章MUST有专属的、匹配内容的图片。 请勿使用通用的图案背景,生成符合以下要求的定制图片:
  1. 视觉上能代表文章主题
  2. 包含相关的文字/标题覆盖层
  3. 保持统一的品牌风格(深色主题、橙色点缀)
  4. 尺寸为1200x630像素,适配OG分享

Image Generation Process

图片生成流程

For EACH article, use AI image generation with this template:
A sophisticated hero image for "[ARTICLE TITLE]" blog article.
[DESCRIBE VISUAL CONCEPT THAT MATCHES CONTENT]
Dark background (#0f172a or #1e293b) with orange (#f97316) accents.
Modern, minimalist, professional SaaS style like Linear or Vercel.
Include text overlay: "[TITLE]" and optional subtitle.
1200x630 pixels.
针对每篇文章,使用以下模板提示词生成AI图片:
A sophisticated hero image for "[ARTICLE TITLE]" blog article.
[DESCRIBE VISUAL CONCEPT THAT MATCHES CONTENT]
Dark background (#0f172a or #1e293b) with orange (#f97316) accents.
Modern, minimalist, professional SaaS style like Linear or Vercel.
Include text overlay: "[TITLE]" and optional subtitle.
1200x630 pixels.

Example Prompts by Article Type

不同文章类型的提示词示例

Comparison Article

对比类文章

A sophisticated hero image for "Sunsama Alternatives" comparison article.
Modern minimalist design with floating app icons and comparison cards.
Deep navy background (#0f172a) with orange (#f97316) gradient accents.
Show multiple tools being compared with visual hierarchy.
Include title text overlay. Professional SaaS marketing style.
1200x630 pixels.
A sophisticated hero image for "Sunsama Alternatives" comparison article.
Modern minimalist design with floating app icons and comparison cards.
Deep navy background (#0f172a) with orange (#f97316) gradient accents.
Show multiple tools being compared with visual hierarchy.
Include title text overlay. Professional SaaS marketing style.
1200x630 pixels.

Guide/Tutorial Article

指南/教程类文章

A sophisticated hero image for "Time Blocking Guide" tutorial article.
Modern minimalist design showing calendar grid with colorful time blocks.
Dark slate background (#1e293b) with vibrant orange (#f97316) blocks.
Clean 3D floating elements suggesting productivity and organization.
Include title: "TIME BLOCKING GUIDE" and subtitle "Master Your Day".
1200x630 pixels.
A sophisticated hero image for "Time Blocking Guide" tutorial article.
Modern minimalist design showing calendar grid with colorful time blocks.
Dark slate background (#1e293b) with vibrant orange (#f97316) blocks.
Clean 3D floating elements suggesting productivity and organization.
Include title: "TIME BLOCKING GUIDE" and subtitle "Master Your Day".
1200x630 pixels.

VS/Comparison Article

对决/对比类文章

A sophisticated hero image for "Time Blocking vs To-Do Lists" comparison.
Split design: left side shows organized calendar blocks, right side shows
scattered checklist items. Visual contrast between order and chaos.
Dark background with orange (#f97316) and blue (#3b82f6) accents.
Include title text. Editorial style. 1200x630 pixels.
A sophisticated hero image for "Time Blocking vs To-Do Lists" comparison.
Split design: left side shows organized calendar blocks, right side shows
scattered checklist items. Visual contrast between order and chaos.
Dark background with orange (#f97316) and blue (#3b82f6) accents.
Include title text. Editorial style. 1200x630 pixels.

Self-Hosted/Technical Article

自托管/技术类文章

A sophisticated hero image for "Self-Hosted Productivity Apps" article.
Server/cloud icon with data flowing to personal devices.
Emphasizes privacy and control with lock/shield symbols.
Dark navy background with green (#22c55e) security accents and orange highlights.
Include title and tagline about privacy/control. 1200x630 pixels.
A sophisticated hero image for "Self-Hosted Productivity Apps" article.
Server/cloud icon with data flowing to personal devices.
Emphasizes privacy and control with lock/shield symbols.
Dark navy background with green (#22c55e) security accents and orange highlights.
Include title and tagline about privacy/control. 1200x630 pixels.

Routine/Habit Article

惯例/习惯类文章

A sophisticated hero image for "Daily Planning Routine" habit article.
Morning scene with coffee, notebook, and digital calendar interface.
Soft gradient from deep purple to warm orange (#f97316).
Floating UI elements showing checklist items.
Calm, productive, aspirational mood. Include title. 1200x630 pixels.
A sophisticated hero image for "Daily Planning Routine" habit article.
Morning scene with coffee, notebook, and digital calendar interface.
Soft gradient from deep purple to warm orange (#f97316).
Floating UI elements showing checklist items.
Calm, productive, aspirational mood. Include title. 1200x630 pixels.

Image Naming Convention

图片命名规范

Save images with descriptive names:
public/blog-{slug}.png

Examples:
- blog-sunsama-alternatives.png
- blog-time-blocking-guide.png
- blog-self-hosted.png
- blog-daily-planning-routine.png
使用描述性名称保存图片:
public/blog-{slug}.png

示例:
- blog-sunsama-alternatives.png
- blog-time-blocking-guide.png
- blog-self-hosted.png
- blog-daily-planning-routine.png

Updating Frontmatter

更新Frontmatter

After generating, update the article frontmatter:
javascript
export const frontmatter = {
  // ...other fields
  image: "/blog-{slug}.png"
};

生成图片后,更新文章的frontmatter:
javascript
export const frontmatter = {
  // ...其他字段
  image: "/blog-{slug}.png"
};

Blog Infrastructure Setup

博客基础设施搭建

Required Files

所需文件

Copy these from
assets/
to your project:
your-project/
├── src/
│   ├── content/
│   │   └── blog/           # MDX articles go here
│   │       └── {slug}/
│   │           └── index.mdx
│   ├── types/
│   │   └── blog.ts         # Copy from assets/templates/
│   ├── lib/
│   │   └── blog.ts         # Copy from assets/templates/
│   ├── components/
│   │   └── blog/
│   │       ├── blog-card.tsx
│   │       └── blog-layout.tsx
│   └── routes/
│       ├── blog.tsx        # Blog listing
│       └── blog.$slug.tsx  # Individual post
└── public/
    └── blog-{slug}.png     # Generated images per article
将以下文件从
assets/
复制到你的项目中:
your-project/
├── src/
│   ├── content/
│   │   └── blog/           # MDX文章存放位置
│   │       └── {slug}/
│   │           └── index.mdx
│   ├── types/
│   │   └── blog.ts         # 从assets/templates/复制
│   ├── lib/
│   │   └── blog.ts         # 从assets/templates/复制
│   ├── components/
│   │   └── blog/
│   │       ├── blog-card.tsx
│   │       └── blog-layout.tsx
│   └── routes/
│       ├── blog.tsx        # 博客列表页
│       └── blog.$slug.tsx  # 单篇文章页
└── public/
    └── blog-{slug}.png     # 每篇文章生成的配图

Vite/React Setup

Vite/React搭建

For Vite projects, use
import.meta.glob
to load MDX files:
typescript
// src/lib/blog.ts
const modules = import.meta.glob('../content/blog/*/index.mdx', { eager: true });
对于Vite项目,使用
import.meta.glob
加载MDX文件:
typescript
// src/lib/blog.ts
const modules = import.meta.glob('../content/blog/*/index.mdx', { eager: true });

Next.js Setup

Next.js搭建

For Next.js projects, use
@next/mdx
or
contentlayer
:
typescript
// next.config.js
import mdx from '@next/mdx';
const withMDX = mdx({ extension: /\.mdx?$/ });
export default withMDX({ pageExtensions: ['ts', 'tsx', 'mdx'] });

对于Next.js项目,使用
@next/mdx
contentlayer
typescript
// next.config.js
import mdx from '@next/mdx';
const withMDX = mdx({ extension: /\.mdx?$/ });
export default withMDX({ pageExtensions: ['ts', 'tsx', 'mdx'] });

Keyword Research

关键词研究

Step 1: Primary Keyword Selection

步骤1:主关键词选择

Use web search to research your topic:
Search queries to run:
- "[topic] 2026"
- "best [topic]"
- "[topic] alternative"
- "[topic] vs [competitor]"
使用网页搜索调研你的主题:
可使用的搜索查询:
- "[topic] 2026"
- "best [topic]"
- "[topic] alternative"
- "[topic] vs [competitor]"

Step 2: Classify Search Intent

步骤2:搜索意图分类

IntentIndicatorsContent TypePriority
Transactional"best", "alternative", "buy"Comparison, reviewHIGH
Informational"how to", "what is", "guide"Tutorial, explainerMEDIUM
NavigationalBrand names, specific toolsFeature pageLOW
搜索意图判断标识内容类型优先级
交易型"best", "alternative", "buy"对比、评测
信息型"how to", "what is", "guide"教程、解释类
导航型品牌名、特定工具功能页

Subagent Prompt: Keyword Research

子Agent提示词:关键词研究

You are an SEO expert. Research keywords for [TOPIC].

Use web search to find:
1. Primary keyword with highest search intent
2. 5 secondary keywords (long-tail variations)
3. Top 5 competitor URLs for analysis
4. Content gaps competitors are missing

Return:
- Prioritized keyword list with intent classification
- Recommended content angle
- Estimated search volume (HIGH/MEDIUM/LOW)

You are an SEO expert. Research keywords for [TOPIC].

Use web search to find:
1. Primary keyword with highest search intent
2. 5 secondary keywords (long-tail variations)
3. Top 5 competitor URLs for analysis
4. Content gaps competitors are missing

Return:
- Prioritized keyword list with intent classification
- Recommended content angle
- Estimated search volume (HIGH/MEDIUM/LOW)

Article Structure

文章结构

Frontmatter Template

Frontmatter模板

javascript
export const frontmatter = {
  title: "SEO Title Under 60 Characters with Primary Keyword",
  description: "Meta description 150-160 chars with keyword and compelling hook.",
  date: "2026-01-30",
  author: "Team Name",
  tags: ["primary-tag", "secondary-tag", "category"],
  readingTime: 10,
  image: "/blog-your-article-slug.png"  // UNIQUE image per article!
};
javascript
export const frontmatter = {
  title: "包含主关键词、字数低于60字符的SEO标题",
  description: "150-160字符的元描述,包含关键词和吸引力钩子",
  date: "2026-01-30",
  author: "团队名称",
  tags: ["主标签", "次标签", "分类"],
  readingTime: 10,
  image: "/blog-your-article-slug.png"  // 每篇文章的专属图片!
};

Article Outline Template

文章大纲模板

markdown
undefined
markdown
undefined

[Primary Keyword in H1 Title]

[H1标题中包含主关键词]

Introduction

介绍

  • Hook with statistic or pain point
  • What reader will learn
  • Establish credibility (1-2 paragraphs)
  • 用数据或痛点引入
  • 读者将学到的内容
  • 建立可信度(1-2段)

[Section 2: Definition/Background]

[第2部分:定义/背景]

  • What is [topic]?
  • Why it matters (2-3 paragraphs)
  • 什么是[主题]?
  • 它的重要性(2-3段)

[Section 3: Core Content / How-To]

[第3部分:核心内容/操作指南]

  • Main value proposition
  • Step-by-step if tutorial
  • Numbered list for scanability
  • 核心价值主张
  • 如果是教程则分步骤说明
  • 使用编号列表提升可读性

[Section 4: Comparison Table]

[第4部分:对比表格]

FeatureOption AOption BOption C
PriceFree$10/mo$25/mo
Feature
功能选项A选项B选项C
价格免费$10/月$25/月
功能

[Section 5: Detailed Analysis]

[第5部分:详细分析]

  • 3-4 paragraphs per option
  • Pros and cons
  • Best use cases
  • 每个选项3-4段说明
  • 优缺点
  • 最佳适用场景

Frequently Asked Questions

常见问题

What is [primary keyword]?

什么是[主关键词]?

[2-3 sentence answer targeting featured snippet]
[2-3句回答,目标是入选精选摘要]

Is [option A] better than [option B]?

[选项A]比[选项B]更好吗?

[Honest comparison with recommendation]
[客观对比并给出推荐]

Conclusion

结论

  • Summary of key points
  • Clear CTA with link to action

---
  • 核心要点总结
  • 明确的CTA,附带跳转链接

---

Writing Guidelines

写作规范

SEO Best Practices

SEO最佳实践

ElementGuideline
TitlePrimary keyword, under 60 characters
Meta description150-160 chars, keyword, compelling hook
H2 headersInclude secondary keywords naturally
Keyword density1-2% for primary keyword
Internal links2-3 links to relevant pages
External links1-2 authoritative sources
元素规范要求
标题包含主关键词,低于60字符
元描述150-160字符,包含关键词,有吸引力
H2标题自然融入次关键词
关键词密度主关键词占比1-2%
内部链接2-3个指向相关页面的链接
外部链接1-2个权威来源链接

Word Count Targets

字数目标

Content TypeMinimum WordsOptimal
Comparison/Review2,0002,500
Complete Guide2,5003,500
How-To Tutorial1,5002,000
Thought Leadership1,8002,200

内容类型最低字数最优字数
对比/评测20002500
完整指南25003500
操作教程15002000
思想领导力18002200

Complete Article Creation Workflow

完整文章创作工作流

Step 1: Research

步骤1:调研

Use keyword research agent to identify:
- Primary keyword
- Secondary keywords  
- Top 5 competitors
- Content gaps
使用关键词研究Agent确定:
- 主关键词
- 次关键词
-  top5竞品
- 内容空白点

Step 2: Generate Image

步骤2:生成图片

Use AI image generation with article-specific prompt.
Save to public/blog-{slug}.png
使用文章专属提示词生成AI图片
保存到public/blog-{slug}.png

Step 3: Create Article Folder

步骤3:创建文章文件夹

bash
mkdir -p src/content/blog/{slug}
touch src/content/blog/{slug}/index.mdx
bash
mkdir -p src/content/blog/{slug}
touch src/content/blog/{slug}/index.mdx

Step 4: Write Content

步骤4:撰写内容

Use article writer agent with:
- Keyword targets
- Word count requirement
- Comparison tables
- FAQ section
使用文章写作Agent,提供以下信息:
- 关键词目标
- 字数要求
- 对比表格
- FAQ部分

Step 5: Update Frontmatter

步骤5:更新Frontmatter

javascript
export const frontmatter = {
  title: "...",
  description: "...",
  date: "YYYY-MM-DD",
  author: "Team Name",
  tags: ["..."],
  readingTime: X,
  image: "/blog-{slug}.png"  // Your generated image
};
javascript
export const frontmatter = {
  title: "...",
  description: "...",
  date: "YYYY-MM-DD",
  author: "团队名称",
  tags: ["..."],
  readingTime: X,
  image: "/blog-{slug}.png"  // 你生成的图片路径
};

Step 6: Add to Sitemap

步骤6:添加到站点地图

xml
<url>
  <loc>https://yoursite.com/blog/{slug}</loc>
  <lastmod>{date}</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.8</priority>
</url>
xml
<url>
  <loc>https://yoursite.com/blog/{slug}</loc>
  <lastmod>{date}</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.8</priority>
</url>

Step 7: Verify

步骤7:验证

  • Image displays correctly on blog listing
  • Article renders properly
  • All links work
  • Sitemap is valid

  • 博客列表页图片显示正常
  • 文章渲染正常
  • 所有链接可正常访问
  • 站点地图有效

Subagent Prompts

子Agent提示词

Image Generation Agent

图片生成Agent

Generate a unique blog hero image for: "[ARTICLE TITLE]"

Topic: [brief description]
Style: Dark background, orange accents, modern SaaS aesthetic
Include: Title text overlay, relevant visual elements
Size: 1200x630 pixels

Save as: blog-{slug}.png
Generate a unique blog hero image for: "[ARTICLE TITLE]"

Topic: [brief description]
Style: Dark background, orange accents, modern SaaS aesthetic
Include: Title text overlay, relevant visual elements
Size: 1200x630 pixels

Save as: blog-{slug}.png

Article Writer Agent

文章写作Agent

Write a [WORD_COUNT]+ word SEO article on [TOPIC].

Primary keyword: [KEYWORD]
Secondary keywords: [KEYWORD_LIST]

Include:
1. Frontmatter with all required fields
2. Introduction with hook/statistic
3. Comparison table with 4+ options
4. Detailed breakdown (3-4 paragraphs per option)
5. FAQ section with 5+ questions using h3 headers
6. Conclusion with CTA linking to [PAGE]

Image has been generated at: /blog-{slug}.png
Include this in frontmatter.
Write a [WORD_COUNT]+ word SEO article on [TOPIC].

Primary keyword: [KEYWORD]
Secondary keywords: [KEYWORD_LIST]

Include:
1. Frontmatter with all required fields
2. Introduction with hook/statistic
3. Comparison table with 4+ options
4. Detailed breakdown (3-4 paragraphs per option)
5. FAQ section with 5+ questions using h3 headers
6. Conclusion with CTA linking to [PAGE]

Image has been generated at: /blog-{slug}.png
Include this in frontmatter.

FAQ Writer Agent

FAQ写作Agent

Write 7 FAQ questions for article about [TOPIC].

Target keywords:
- [keyword 1]
- [keyword 2]
- [keyword 3]

Use h3 headers (###) for each question.
Each answer should be 2-3 sentences.
Target featured snippet format (direct, concise).

Write 7 FAQ questions for article about [TOPIC].

Target keywords:
- [keyword 1]
- [keyword 2]
- [keyword 3]

Use h3 headers (###) for each question.
Each answer should be 2-3 sentences.
Target featured snippet format (direct, concise).

Publishing Checklist

发布检查清单

  • Unique image generated for this specific article
  • Image saved to
    public/blog-{slug}.png
  • Image path in frontmatter matches file
  • Primary keyword in title
  • Meta description optimized (150-160 chars)
  • At least 1 comparison table
  • At least 5 FAQ questions
  • Internal links added (2-3)
  • Reading time calculated
  • Tags assigned (2-4)
  • Date set correctly
  • Article added to sitemap.xml

  • 已为该文章生成专属图片
  • 图片已保存到
    public/blog-{slug}.png
  • frontmatter中的图片路径与文件路径一致
  • 标题中包含主关键词
  • 元描述已优化(150-160字符)
  • 至少包含1个对比表格
  • 至少包含5个常见问题
  • 已添加内部链接(2-3个)
  • 已计算阅读时长
  • 已分配标签(2-4个)
  • 日期设置正确
  • 文章已添加到sitemap.xml

File References

文件参考

See
assets/
folder for:
FilePurpose
templates/blog-types.ts
TypeScript interfaces
templates/blog-utils.ts
Utility functions for loading MDX
templates/article.mdx
Article template
components/blog-card.tsx
Card component for listing
components/blog-layout.tsx
Layout for individual posts
scripts/setup-blog.sh
Quick setup script

查看
assets/
文件夹获取以下文件:
文件用途
templates/blog-types.ts
TypeScript接口
templates/blog-utils.ts
加载MDX的工具函数
templates/article.mdx
文章模板
components/blog-card.tsx
列表用的卡片组件
components/blog-layout.tsx
单篇文章的布局组件
scripts/setup-blog.sh
快速搭建脚本

Updates

更新日志

  • v1.1 (2026-01-31): Updated to require unique AI-generated images per article
  • v1.0 (2026-01-30): Initial skill with complete workflow
  • v1.1 (2026-01-31):更新要求每篇文章必须使用AI生成的专属图片
  • v1.0 (2026-01-30):初始版本,包含完整工作流