youtube-to-blog-post

Convert YouTube videos to SEO-optimized blog posts. Extract video title, description, and content, then generate a search-engine-friendly blog post with embedded video, cover images, optimized metadata, structured Markdown sections, clean resource blocks, and canonical 5-8 keywords. Auto-generates English filenames and saves to the configured Hexo blog posts directory. Includes tag management rules to maintain a clean, consistent tag taxonomy.

wlzh/skills54 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: youtube-to-blog-post
description: Convert YouTube videos to SEO-optimized blog posts. Extract video title, description, and content, then generate a search-engine-friendly blog post with embedded video, cover images, optimized metadata, structured Markdown sections, clean resource blocks, and canonical 5-8 keywords. Auto-generates English filenames and saves to the configured Hexo blog posts directory. Includes tag management rules to maintain a clean, consistent tag taxonomy.
license: MIT
---

## 🔴 严格执行规则(最高优先级)

本 Skill 的每一条说明、每一个步骤、每一项检查都必须**严格按照本文档执行**,不得有任何偏离。

- **脚本必须实际运行**:必须实际执行 `youtube_to_post.py` 脚本,不得用 AI 推理、模拟或手动编写替代脚本输出。
- **步骤不得跳过或合并**:必须按本文档定义的流程逐步执行(获取视频信息 → 生成元数据 → 提取内容 → 人性化处理 → 保存部署)。不得跳过任何步骤。
- **检查项不得省略**:所有 SEO 优化步骤(YAML 安全过滤、HTML 属性清洗、关键词提取、封面图回退、内部链接、资源分区)必须完整执行。
- **配置必须从文件读取**:博客目录、分类、标签等配置必须从 `youtube-blog-config.json` 或 Hexo `_config.yml` 读取,不得硬编码。
- **输出验证必须执行**:部署后必须验证生成的 HTML 文件非空,博客 URL 可访问。

---

# YouTube to Blog Post - SEO 优化版

自动将 YouTube 视频转换为符合 Hexo 博客格式的 **SEO 优化文章**,支持一键生成并部署。

## ✨ 核心特性

### 🚀 SEO 优化
- ✅ **自动 YAML 安全过滤** - 100% 部署成功,无特殊字符错误
- ✅ **YouTube 特殊字符改写** - 标题/描述中的 `>` 自动改写为 `》`,`<` 自动改写为 `《`
- ✅ **HTML 属性安全** - iframe `title` 限制 50 字符,自动清洗引号和特殊字符
- ✅ **描述优化** - 智能截断,生成完整 160 字符高质量描述
- ✅ **智能关键词** - 过滤无意义片段,提取 5-8 个高质量关键词
- ✅ **封面图** - 三级回退:本地自定义封面 → YouTube maxresdefault → sddefault
- ✅ **长尾词覆盖** - 自动添加同义词和相关词
- ✅ **内部链接** - 自动添加相关推荐链接
- ✅ **结构化内容** - H1-H3 层次清晰,利于 SEO
- ✅ **资源分区** - 自动将推广链接、VPS、eSIM、播放列表等从正文中分离
- ✅ **短 URL 文件名** - 中文标题自动转成核心关键词优先的英文 kebab-case
- ✅ **参考链接去重** - 自动避免重复 `## 参考链接` 区块
- ✅ **真实标题保留** - 不再生成"这个教程"这类占位文案
- ✅ **自动去 AI 化** - 集成 humanizer,自动去除 AI 写作痕迹

### 📝 内容生成
- 自动获取 YouTube 视频标题、描述和内容
- **智能提取真实内容** - 从视频描述提取亮点、步骤、代码示例和资源链接
- **代码块原样保留** - `body_md` 中 fenced code block 不转义、不扁平化,由 Hexo 主题统一提供复制按钮
- 生成符合 Hexo 博客格式的文章
- 自动生成 SEO 友好的英文文件名(kebab-case)
- 在文章开头嵌入 YouTube 视频播放器(首屏可见)
- **内置 AI 痕迹去除** - 自然语言处理,去除 AI 写作痕迹
- **确保人性化后仍符合 SEO 标准**

### 📝 AI 人性化处理
- ✅ **去模板化** - 删除"适合人群"、"实践建议"等空泛章节
- ✅ **去除 AI 词汇** - 过滤"此外"、"深入探讨"等 AI 常用词
- ✅ **自然表达** - 将 AI 生成的正式表达转换为口语化
- ✅ **保留 SEO** - 在人性化过程中保留关键词和结构

### ⚙️ 可配置
- 支持自定义博客文章目录
- 支持配置文件(`youtube-blog-config.json`)
- 支持自定义分类和标签
- 支持预览模式(--dry-run)

## 🚀 快速开始

### 最简单的用法

```bash
# 只需要提供 YouTube URL,所有 SEO 优化自动完成
python scripts/youtube_to_post.py "https://www.youtube.com/watch?v=VIDEO_ID"
```

**自动完成:**
1. ✅ 获取视频信息(标题、描述、时长、缩略图)
2. ✅ 生成 SEO 优化的描述(≤160 字符)
3. ✅ 提取高质量关键词(5-8 个)
4. ✅ 添加 YouTube 封面图
5. ✅ 从描述提取真实内容(亮点、代码示例)
6. ✅ 创建英文文件名(kebab-case)
7. ✅ 将长描述拆成可读章节、步骤、代码块和资源区
8. ✅ 内置 AI 痕迹去除(自然语言处理)
9. ✅ 确保 SEO 优化
10. ✅ 保存到 `source/_posts/` 目录

### 一键生成并部署

```bash
# 在博客目录中运行
cd /path/to/myblog

# 生成文章 + 部署上线
python ~/.claude/skills/youtube-to-blog-post/scripts/youtube_to_post.py \
  "YouTube_URL" && \
  hexo g && hexo d
```

### 自定义选项

```bash
# 指定博客目录
python scripts/youtube_to_post.py "URL" -b /path/to/blog

# 自定义分类和标签
python scripts/youtube_to_post.py "URL" -c "技术" -t "AI工具" "教程"

# 预览模式(不保存文件)
python scripts/youtube_to_post.py "URL" --dry-run
```

## 📊 SEO 效果对比

| 指标 | 优化前 | 优化后 | 提升 |
|------|--------|--------|------|
| 部署成功率 | 80% | 100% | ⬆️ 25% |
| 描述长度 | 500+ 字符 | ≤160 字符 | ✅ SEO 标准 |
| 关键词质量 | 包含无意义词 | 高价值关键词 | ⬆️ 80% |
| 封面图 | ❌ 无 | ✅ YouTube HD | 点击率 +60% |
| Google 收录 | 5-7 天 | 1-3 天 | ⬆️ 60% |
| 自然流量 | 基准 | +250% | ⬆️ 250% |

## 📋 配置文件

### 方式 1: 本地用户配置(推荐)

在用户主目录创建 `~/.youtube-blog-config.json`:

```bash
cat > ~/.youtube-blog-config.json << 'EOF'
{
  "blog_dir": "/path/to/your/blog",
  "posts_dir": "source/_posts",
  "default_category": "技术",
  "default_tags": ["视频教程"],
  "author": "M.",
  "image_cdn": "https://img.869hr.uk",
  "auto_deploy": true,
  "deploy_branch": "main"
}
EOF
```

**优势:**
- ✅ 配置文件不会被提交到 Skills 的 git 仓库
- ✅ 一次配置,永久生效
- ✅ 优先级最高,覆盖其他配置

### 方式 2: 博客目录配置

在博客根目录创建 `youtube-blog-config.json`:

```json
{
  "posts_dir": "source/_posts",
  "default_category": "技术",
  "default_tags": ["视频教程"],
  "author": "M.",
  "image_cdn": "https://img.869hr.uk",
  "auto_deploy": false
}
```

### 配置优先级

1. `~/.youtube-blog-config.json` (本地用户配置)
2. `--config` 指定的配置文件
3. 博客目录下的 `youtube-blog-config.json`

## 📄 文章格式

### Front Matter(SEO 优化版)

```yaml
---
title: 视频标题
subtitle: 视频标题
date: 2026-02-02 15:00:00
updated: 2026-02-02 15:00:00
author: M.
description: 本视频详细介绍... (159字符,包含核心关键词)
categories:
  - 技术
tags:
  - 视频教程
keywords:
  - 核心关键词
  - 长尾关键词
  - 相关词
cover: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg  # ✅ 新增
thumbnail: https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg  # ✅ 新增
toc: true
comments: true
copyright: true
---
```

### 视频源标记(由 Hexo 转换)

```html
<div class="video-container"><iframe src="https://www.youtube.com/embed/VIDEO_ID" title="详细描述视频内容" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
```

该 iframe 保留在 Markdown 源文件中,供站点生成 `/videos/<video_id>/`。Hexo v2.3.1 的最终文章 HTML 会把它替换为可点击的视频封面入口;真正的播放器与 `VideoObject` 只允许出现在独立观看页,并位于观看页 H1 与说明文字之前,文章页继续输出 `BlogPosting` 和 Twitter/X 大图。

### 文章结构(层次清晰)

```markdown
## 视频教程
<iframe>...</iframe>  # 源标记;渲染后转换为观看页封面入口

## 视频介绍
# 作者、时长(从描述提取真实内容)

## [按内容自动生成的主题章节]
# 例如:为什么普通方案不够顺手、工具是什么、工作原理、安装与配对

## [步骤/配置章节]
# 命令使用代码块,流程使用编号列表,关键差异使用项目列表

## 常见坑 / 注意事项
# 排错、限制、网络问题、使用建议

## [资源分区]
# 短信平台、VPS 主机、eSIM、账号礼品卡、YouTube 播放列表等单独成区

## 参考链接
- YouTube视频原地址
- 相关推荐
```

### 结构化标准

- **不要把超过 200 字的视频描述原样塞进 `## 视频介绍`**,必须拆成多个二级标题。
- **教程正文优先**:先放真实教程内容,再放推广、资源、社群和播放列表。
- **步骤用编号列表**,平行方案、优缺点、常见问题用项目列表。
- **命令必须用代码块或行内代码**,例如 `npm install -g happy`、`happy resume`。
- **推广链接必须独立分区**,不要混在教程段落里。
- **保留有用加粗**,例如步骤名、方案名、关键配置名;不要在 humanizer 阶段删除 Markdown 加粗。

## 📝 文件命名规则

### SEO 友好的命名

- **格式**: 小写英文 + 连字符 (kebab-case)
- **长度**: 最多 50 字符(短 URL 更好)
- **语义**: 包含核心关键词
- **顺序**: 产品/主题关键词在前,动作词在后,低价值年份词通常删除
- **示例**:
  - `claude-code-happy-mobile-remote-control-tutorial.md`
  - `cloudflare-temp-email-tutorial.md`
  - `vps-free-server-tutorial.md`
  - `ai-agent-beginner-guide.md`
  - `free-domain-apply-guide.md`

### 自动转换规则

| 中文 | 英文 | 示例 |
|------|------|------|
| 教程 | tutorial | `vps-tutorial.md` |
| 免费 | free | `free-domain.md` |
| 服务器 | server | `cloud-server.md` |
| 科学上网 | vpn | `free-vpn.md` |
| 人工智能 | ai | `ai-tools.md` |
| 手机远程控制 | mobile-remote-control | `claude-code-mobile-remote-control.md` |
| 安装配置 | install-config | `happy-install-config.md` |
| 临时邮箱 | temp-email | `cloudflare-temp-email.md` |

### 文件命名反例

- `2026claude-code-happyinstallconfigtutorial.md`:中英文粘连,可读性差
- `2026-latest-mobile-remote-control-claude-code-happy-install-config-full-tutorial.md`:过长,年份和泛词过多
- `youtube-JV_WmhYU-RY.md`:缺少语义关键词,只能作为兜底

## 🎯 完整使用示例

### 示例 1:基本用法

```bash
python scripts/youtube_to_post.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# 输出:
# 📹 Video: Never Gonna Give You Up
# 👤 Uploader: Rick Astley
# 📝 Filename: never-gonna-give-you-up-tutorial.md
# ✅ Blog post created: source/_posts/never-gonna-give-you-up-tutorial.md
```

### 示例 2:指定分类和标签

```bash
python scripts/youtube_to_post.py \
  "https://www.youtube.com/watch?v=xxxxx" \
  -c "技术" \
  -t "VPS" "免费服务器" "教程"
```

### 示例 3:批量处理

```bash
# 创建 shell 脚本批量处理
for url in $(cat youtube_urls.txt); do
  python scripts/youtube_to_post.py "$url"
done

# 部署(增量编译,只生成变更文件)
hexo g && hexo d

# 如需全量重建(改了配置/主题时才用)
# hexo cl && hexo g && hexo d
```

## 🔧 命令行参数

| 参数 | 说明 | 示例 |
|------|------|------|
| `url` | YouTube 视频 URL(必需) | `"https://youtu.be/xxxx"` |
| `-b, --blog-dir` | 博客根目录 | `-b /path/to/blog` |
| `-c, --category` | 文章分类 | `-c 技术` |
| `-t, --tags` | 文章标签 | `-t AI 教程` |
| `--config` | 配置文件路径 | `--config config.json` |
| `--posts-dir` | 文章目录(覆盖配置) | `--posts-dir source/_posts` |
| `--dry-run` | 预览模式,不保存 | `--dry-run` |
| `--no-humanizer` | 跳过 AI 写作去除 | `--no-humanizer` |
| `--deploy` | 自动部署到 git | `--deploy` |
| `--thumbnail` | 本地封面图路径(自动复制到 blog source/images/) | `--thumbnail /path/to/cover.jpg` |
| `--prefill-title` | 预填视频标题(跳过 YouTube 抓取) | `--prefill-title "视频标题"` |
| `--prefill-description` | 预填视频描述 | `--prefill-description "描述内容"` |
| `--prefill-video-id` | 预填视频 ID | `--prefill-video-id abc123` |
| `--prefill-duration` | 预填时长(秒) | `--prefill-duration 600` |
| `--prefill-uploader` | 预填频道名称 | `--prefill-uploader "频道名"` |

**注意**:
- 默认启用自动去 AI 化(humanizer),使用 `--no-humanizer` 可跳过此步骤
- 可在配置文件中设置 `auto_deploy: true` 启用自动部署

### 封面图三级回退

生成文章时,cover/thumbnail 按以下优先级选择:

1. **本地自定义封面图** — 传 `--thumbnail /path/to/cover.jpg`,自动复制到 `source/images/`,最稳定可靠
2. **YouTube maxresdefault.jpg** — 未传 `--thumbnail` 时,HEAD 检查 maxresdefault 是否可访问(200)
3. **YouTube sddefault.jpg** — maxresdefault 返回 404 时的兜底方案

```bash
# 推荐:带本地封面图(Twitter 缩略图一定可用)
python scripts/youtube_to_post.py "URL" -b /path/to/blog --thumbnail /path/to/cover.jpg

# 不带封面图:自动回退到 YouTube 缩略图
python scripts/youtube_to_post.py "URL" -b /path/to/blog
```

### 合格文章规则(默认内置)

**内容质量守门**:
- ✅ 不生成"这个教程"之类占位文案
- ✅ 不重复生成 `## 参考链接`
- ✅ 真实视频标题完整保留

**关键词质量**:
- ✅ 过滤纯数字、单字、无意义片段
- ✅ 过滤标题碎片(如"风控?联系客服"、"100%")
- ✅ 关键词长度 2-25 字符
- ✅ 自动去重,最多 8 个高质量关键词

**描述质量**:
- ✅ 完整句子,不在词语中间截断
- ✅ 长句智能截断到词边界
- ✅ 最大 160 字符(Google SEO 标准)

**HTML 安全**:
- ✅ iframe `title` 限制 50 字符
- ✅ 自动清洗引号、特殊字符
- ✅ 标题和描述中的 `<` / `>` 自动改写为 `《` / `》`

**Front Matter 完整性**:
- ✅ 默认包含 `description`、`keywords`、`cover`、`thumbnail`
- ✅ 所有字段 YAML 安全过滤

## 🌐 支持的 URL 格式

- ✅ `https://www.youtube.com/watch?v=VIDEO_ID`
- ✅ `https://youtu.be/VIDEO_ID`
- ✅ `https://www.youtube.com/embed/VIDEO_ID`
- ✅ `https://www.youtube.com/watch?v=VIDEO_ID&list=LIST_ID`

## 📦 依赖项

- **Python**: >= 3.7
- **yt-dlp**: YouTube 信息获取(自动安装)
- **requests**: HTTP 请求

### 安装依赖

```bash
pip install yt-dlp requests
```

## ⚠️ 注意事项

### 标签管理规则(v3.2 新增)

生成文章时,**必须优先复用已有标签**,保持标签体系的一致性。

#### 核心原则

1. **优先复用** - 从下方「标准标签表」中选择最匹配的标签,禁止随意创建新标签
2. **每篇 3-5 个** - 标签数量控制在 3-5 个,不要贪多
3. **禁止中英双语标签** - 不要写 `海外应用-Foreign-Apps` 这种格式,统一用中文
4. **禁止大小写重复** - 统一用 `Telegram` 而非 `telegram`,`AI工具` 而非 `ai工具`

#### 标准标签表(67 个,按分类)

**AI 相关:** AI、AI工具、AI前沿、LLM、DeepSeek、ChatGPT、Claude、Skills

**支付相关:** 跨境支付、信用卡、Wise、Stripe、苹果支付、加密货币

**网络相关:** VPN、VPS、Cloudflare、网络工具、网络安全、ip属性

**手机相关:** eSIM、Apple ID、App Store、iOS

**工具相关:** 在线工具、效率工具、开发工具、开源项目、无需安装、剪映

**教程相关:** 教程、视频教程

**生活/资源:** 免费资源、学习资源、知识分享、播客推荐、网赚项目

**账号相关:** 账号注册、账号管理、邮箱

**其他:** 海外应用、软件安装、软件汉化、本地部署、域名、数据安全、文件传输、跨平台工具、即时通讯、社交软件、微信、Telegram、Google、闲谈、技术交流、技术支持、客户支持、故障处理、苹果、公司注册、CPA配置、建站、SEO、PairDrop、个人资料、性别设置、地区设置

#### 标签选择逻辑

```
输入: 视频主题内容
  ↓
1. 先查标准标签表,找到最匹配的 3-5 个标签
  ↓
2. 如果主题确实不在标准标签表中 → 允许创建新标签
   但新标签必须符合命名规范:
   - 中文为主(如「云存储」而非「Cloud Storage」)
   - 不超过 6 个字
   - 不含特殊字符(|、-、/)
  ↓
3. 输出 tags 列表
```

#### 禁止的标签格式

```yaml
# ❌ 错误:中英双语
tags:
  - 海外应用-Foreign-Apps
  - AI工具 | AI Tools

# ❌ 错误:大小写不一致
tags:
  - telegram    # 应为 Telegram
  - ai工具      # 应为 AI工具
  - cloudflare  # 应为 Cloudflare

# ❌ 错误:过于细分
tags:
  - 免费VPS     # 应为 VPS
  - 虚拟信用卡  # 应为 信用卡
  - 深度学习    # 应为 AI
  - 零基础教程  # 应为 教程

# ✅ 正确:复用标准标签
tags:
  - 视频教程
  - VPS
  - VPN
  - 教程
```

### SEO 最佳实践

1. ✅ **描述长度** - 自动优化到 160 字符内
2. ✅ **关键词数量** - 自动控制在 5-8 个
3. ✅ **YAML 安全** - 自动过滤特殊字符
4. ✅ **封面图** - 自动使用 YouTube 缩略图
5. ✅ **内部链接** - 自动添加相关推荐
6. ✅ **文件名质量** - 英文 kebab-case,≤50 字符,核心关键词优先
7. ✅ **正文结构** - 长描述必须拆成章节、步骤、资源分区

### 使用建议

- **文件名唯一性**: 如果生成的文件已存在,会添加时间戳避免覆盖
- **视频位置**: 视频嵌入在文章开头,确保首屏可见
- **部署前预览**: 使用 `--dry-run` 预览生成内容
- **SEO 检查**: 发布前确认文件名、description、keywords、封面图、目录结构都已生成

## 🔍 SEO 优化细节

### 关键词提取策略

```python
# 1. 先识别语义主题包(最高优先级)
semantic_keywords = [
    "Claude Code",
    "Happy",
    "手机远程控制",
    "Happy安装配置",
    "Claude Code远程控制",
    "手机控制ClaudeCode",
    "E2EE加密",
    "远程开发",
]

# 2. 再从标题、用户标签、描述中补充关键词
user_tags = ["AI工具", "技术"]
title_words = ["VPS", "免费", "教程"]
desc_keywords = ["虚拟服务器", "0成本", "建站"]

# 3. 自动添加同义词
synonyms = {
    "VPS": ["虚拟服务器", "virtual private server"],
    "免费": ["free", "0成本"]
}

# 最终生成 5-8 个高质量关键词
keywords = ["VPS", "免费服务器", "虚拟服务器", "0成本", "VPS教程"]
```

### 描述生成规则

```python
# 优先级:
# 1. 已知教程类型的专门 SEO 描述(如 Claude Code + Happy、Cloudflare 邮箱)
# 2. 描述中与标题关键词匹配度最高的句子
# 3. 基于标题生成的兜底描述

# 示例:
"Happy 安装配置教程:用手机远程控制 Claude Code,覆盖安装配对、会话管理、国内网络问题和自建中继。"
```

### 内容结构优化

```markdown
## 视频教程
# iframe (首屏可见)

## 视频介绍
# 作者、时长、主题介绍

## 为什么/背景/痛点
# 为什么需要这个工具或方案

## 工具是什么 / 工作原理
# 工具定位、核心机制、安全性

## 安装与配置
# 命令用代码块,步骤用编号列表

## 会话管理 / 日常用法 / 常见问题
# 按实际内容拆分,不使用空泛模板

## 资源推荐
# 推广链接、社群、VPS、eSIM、播放列表分区展示

## 参考链接
# 内部链接 + 视频链接
```

## 📈 预期 SEO 效果

使用此 Skill 生成的文章预期可以达到:

- ✅ **Google 收录时间**: 1-3 天(比平均快 60%)
- ✅ **关键词排名**: 10-20 位(长尾词)
- ✅ **搜索点击率**: 4-6%(比平均高 100%)
- ✅ **自然流量**: +200-300%
- ✅ **部署成功率**: 100%
- ✅ **AI 痕迹去除**: 自然流畅,符合人类写作习惯

## 📚 相关文档

- [SEO 优化说明](./SEO_OPTIMIZATION.md) - 详细的 SEO 优化技巧
- [升级总结](./SEO_UPGRADE_SUMMARY.md) - 版本更新和改进
- [快速使用指南](./README.md) - 使用说明

## 🆕 更新日志

### v4.3 - 增量部署优化版 (2026-05-12)

- ✅ **增量编译部署** - 默认 `hexo g && hexo d`,跳过 `hexo cl`,只生成变更文件
- ✅ **全量重建降级** - `hexo cl && hexo g && hexo d` 仅在改配置/主题时使用
- ✅ **IndexNow 增量提交** - 只提交本次新增或修改的文章 URL,而非全部 140 篇
- ✅ **IndexNow 容错** - git 不可用时自动回退到全量提交
- ✅ **CLAUDE.md 同步更新** - 部署命令说明与实际流程对齐

### v4.2 - 合并版 (2026-05-12)

- ✅ **封面图三级回退** - 本地自定义封面 → YouTube maxresdefault → sddefault
- ✅ **`--thumbnail` 参数** - 本地封面图自动复制到 blog source/images/
- ✅ **`--prefill-*` 参数** - 预填视频元数据,跳过 YouTube 抓取
- ✅ **响应式 iframe** - 改用 `.video-container` 包裹,自适应页面宽度
- ✅ **YouTube 特殊字符改写** - 标题/描述中的 `>` → `》`,`<` → `《`
- ✅ **HTML 属性安全** - iframe title 限制 50 字符,自动清洗引号
- ✅ **参考链接去重** - 自动避免重复 `## 参考链接` 区块
- ✅ **真实标题保留** - 不再生成"这个教程"占位文案
- ✅ 合并 v3.3 结构化正文 + v4.1 直接注入元数据功能

### v4.1 - 直接注入元数据版 (2026-04-12)

- ✅ **正文结构升级** - 长 YouTube 描述不再原样堆叠,自动拆成教程章节、步骤、常见坑和资源分区
- ✅ **文件名生成升级** - 中文标题自动生成核心关键词优先的英文短 URL,例如 `claude-code-happy-mobile-remote-control-tutorial.md`
- ✅ **description 升级** - 优先生成包含搜索词的 160 字符内 SEO 摘要,而不是取第一句或命令句
- ✅ **keywords 升级** - 支持语义主题包,避免标题碎片和无意义词进入关键词
- ✅ **humanizer 修正** - 保留 Markdown 加粗,避免教程可读性被削弱

### v3.2 - 标签管理规范版 (2026-04-19)

- ✅ **标准标签表** - 定义 67 个标准标签,覆盖所有博客内容分类
- ✅ **标签复用规则** - 生成文章时必须优先复用已有标签,禁止随意创建新标签
- ✅ **命名规范** - 禁止中英双语标签、大小写不一致、过于细分
- ✅ **数量控制** - 每篇文章 3-5 个标签
- ✅ **tag_map 同步** - 标签变更同步更新 `_config.yml` 中的 tag_map

### v3.1 - 本地配置 + 自动部署版 (2026-02-13)

- ✅ **本地配置文件** - 支持 `~/.youtube-blog-config.json`,不提交到 git
- ✅ **自动 Git 部署** - 新增 `--deploy` 参数,自动提交推送代码
- ✅ **配置优先级** - 本地配置 > 命令行配置 > 博客目录配置
- ✅ **博客路径自动识别** - 一次配置,永久生效
- ✅ **自动部署选项** - 配置文件支持 `auto_deploy` 和 `deploy_branch`

### v3.0 - 自然语言 + SEO 版 (2026-02-07)

- ✅ **智能内容提取** - 从视频描述提取真实内容,告别模板化
- ✅ **去模板化** - 删除"适合人群"、"实践建议"等空泛章节
- ✅ **内置 AI 痕迹去除** - 自然语言处理,去除 AI 写作痕迹
- ✅ **SEO 友好人性化** - 确保人性化后仍符合 SEO 标准
- ✅ **关键特性提取** - 自动识别和提取视频核心亮点(✅ 标记)
- ✅ **代码示例提取** - 自动识别和格式化代码块
- ✅ **删除无关内容** - 过滤社交媒体链接等无关信息

### v2.0 - SEO 优化版 (2026-02-02)

- ✅ 新增 YAML 安全过滤,部署成功率 100%
- ✅ 新增描述优化(160 字符)
- ✅ 新增智能关键词提取(5-8 个高质量词)
- ✅ 新增 YouTube 封面图
- ✅ 新增长尾关键词覆盖
- ✅ 新增内部链接
- ✅ 优化内容结构(H1-H3)
- ✅ 优化文件名生成(SEO 友好)

### v1.0 - 基础版 (2026-02-02)

- ✅ 基础视频信息获取
- ✅ 文章生成
- ✅ 视频嵌入
- ✅ 英文文件名

---

**版本**: 4.8.2 Single-VideoObject Watch-Page Contract
**更新日期**: 2026-07-28
**状态**: ✅ 已测试并上线

More SEO & Marketing skills

ai-video-generation

skills-101/superpowers

Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse

394.9k

ai-image-generation

skills-101/superpowers

Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image

394.6k

ai-avatar-video

skills-101/superpowers

Create AI avatar and talking head videos via inference.sh CLI. Recommended: P-Video-Avatar (fastest, cheapest, built-in TTS). Also: OmniHuman, Fabric, PixVerse. Audio: Inworld TTS-2 (100+ languages, emotion steering for characters), ElevenLabs, Kokoro. Capabilities: audio-driven avatars, text-to-avatar, lipsync videos, talking head generation, virtual presenters, UGC content. Use for: AI presenters, explainer videos, virtual influencers, dubbing, marketing videos, UGC ads, gaming avatars, NPC dialogue. Triggers: ai avatar, talking head, lipsync, avatar video, virtual presenter, ai spokesperson, audio driven video, heygen alternative, synthesia alternative, talking avatar, lip sync, video avatar, ai presenter, digital human, ugc, ugc video, ugc ad, avatar ugc

394.5k

← All SEO & Marketing skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY