关于 blog-post-optimizer
Blog Post Optimizer 可分析博客文章和网页内容的标题、SEO、结构、可读性及统计数据,适合希望系统检查内容的创作者。它通过 Python API 或命令行提供评分、建议和元标签生成。
主要功能
- 01分析标题并提供备选项
- 02检查 SEO 关键词和元数据
- 03校验标题层级与段落结构
- 04评估可读性和句子复杂度
- 05统计内容和预计阅读时间
- 06生成元标签及 HTML 报告
适用场景
- 01发布前检查文章草稿
- 02比较不同标题方案
- 03检查关键词位置和 SEO 字段
- 04将分析结果导出为 JSON 或 HTML
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dkyazzentwatwa/ chatgpt-skills --skill blog-post-optimizer安装后在 Claude Code 中输入/blog-post-optimizer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/blog_post_optimizer.pypower_words.jsonrequirements.txt详细介绍
博客文章优化器
用于优化博客文章、文章和网页内容的综合内容分析工具包。可分析标题、SEO 元素、内容结构和可读性,并生成包含评分的可执行建议。
快速开始
from scripts.blog_post_optimizer import BlogPostOptimizer
# Initialize optimizer
optimizer = BlogPostOptimizer()
# Analyze a blog post
with open('blog_post.md', 'r') as f:
content = f.read()
# Full analysis
results = optimizer.analyze_full(
content=content,
headline="10 Ways to Boost Your Productivity",
keywords=["productivity", "time management", "efficiency"]
)
# View scores
print(f"Overall Score: {results['overall_score']}/100")
print(f"Headline Score: {results['headline']['score']}/100")
print(f"SEO Score: {results['seo']['score']}/100")
print(f"Readability Grade: {results['readability']['grade_level']}")
# Export HTML report
optimizer.export_html_report(results, 'report.html')
功能
1. 标题分析
- 强效词检测 - 识别情绪触发词
- 字符数统计 - 最佳范围为 50-60 个字符
- 情感影响 - 衡量标题的吸引力潜力
- A/B 建议 - 生成替代标题
2. SEO 优化
- 关键词密度 - 主要关键词目标为 1-2%
- 关键词显著性 - 检查关键词是否出现在前 100 个词中
- 元描述 - 自动生成 150-160 个字符的描述
- 标题标签 - 优化至 50-60 个字符
- URL 别名 - 生成适合 SEO 的别名
3. 内容结构
- 标题层级 - 验证 H1/H2/H3 结构
- 段落长度 - 理想长度为 3-5 个句子
- 列表使用情况 - 检测编号列表和项目符号列表
- 图片位置 - 检查是否包含视觉元素
- 小标题分布 - 确保间距一致
4. 可读性分析
- Flesch-Kincaid 年级 - 目标为 8-10 年级
- 阅读易读性 - 60-70 为理想范围
- 句子复杂度 - 每句平均词数
- 被动语态 - 所占百分比(目标为 <10%)
5. 内容统计
- 词数 - 跟踪文章长度
- 阅读时间 - 按每分钟 265 个词估算
- 字符数 - 字符总数
- 平均句长 - 每句词数
6. 元标签生成
- Open Graph - 社交媒体预览标签
- Twitter Cards - Twitter 专用元标签
- Schema.org - 文章结构化数据(JSON-LD)
API 参考
BlogPostOptimizer
optimizer = BlogPostOptimizer()
analyze_headline(headline: str) -> Dict
分析标题效果。
返回值:
{
'score': 75, # 0-100
'character_count': 52,
'power_words': ['boost', 'proven'],
'emotional_impact': 68,
'suggestions': [
"10 Proven Ways to Boost Your Productivity Today",
"Boost Your Productivity: 10 Essential Strategies"
]
}
analyze_seo(content: str, keywords: List[str]) -> Dict
分析 SEO 元素。
返回值:
{
'score': 80,
'keyword_density': {'productivity': 1.8, 'time management': 0.9},
'keyword_prominence': True, # In first 100 words
'meta_description': 'Discover 10 proven ways to boost productivity...',
'title_tag': '10 Ways to Boost Productivity | Your Site',
'url_slug': 'boost-productivity-10-ways'
}
analyze_structure(content: str) -> Dict
分析内容结构。
返回值:
{
'score': 85,
'h1_count': 1,
'h2_count': 10,
'avg_paragraph_length': 4.2, # Sentences
'list_count': 3,
'warnings': ['Paragraph on line 45 is too long (8 sentences)']
}
analyze_readability(content: str) -> Dict
计算可读性评分。
返回值:
{
'flesch_kincaid_grade': 8.5,
'reading_ease': 65.2,
'avg_sentence_length': 15.3,
'passive_voice_pct': 8.5,
'complexity_score': 72
}
calculate_content_stats(content: str) -> Dict
计算基本内容统计数据。
返回值:
{
'word_count': 1250,
'reading_time_minutes': 5,
'character_count': 7890,
'sentence_count': 85,
'paragraph_count': 28
}
generate_meta_tags(title: str, description: str, keywords: List[str]) -> Dict
生成社交媒体和 SEO 元标签。
返回值:
{
'open_graph': {
'og:title': '10 Ways to Boost Your Productivity',
'og:description': 'Discover proven strategies...',
'og:type': 'article'
},
'twitter_card': {
'twitter:card': 'summary_large_image',
'twitter:title': '10 Ways to Boost Your Productivity'
},
'schema_org': {
'@context': 'https://schema.org',
'@type': 'Article',
'headline': '10 Ways to Boost Your Productivity'
}
}
analyze_full(content: str, headline: str, keywords: List[str]) -> Dict
综合使用所有方法进行完整分析。
返回值:
{
'overall_score': 78,
'headline': {...},
'seo': {...},
'structure': {...},
'readability': {...},
'stats': {...},
'recommendations': [
{'priority': 'high', 'issue': '...', 'fix': '...'}
]
}
export_html_report(results: Dict, output_path: str)
生成带有图表和建议的彩色 HTML 报告。
CLI 用法
分析单篇博客文章
python scripts/blog_post_optimizer.py \
--input blog_post.md \
--headline "10 Ways to Boost Your Productivity" \
--keywords "productivity,time management,efficiency" \
--output report.html \
--format html
快速分析(JSON 输出)
python scripts/blog_post_optimizer.py \
--input article.txt \
--headline "Ultimate Guide to Python" \
--keywords "python,programming" \
--format json
仅分析标题
python scripts/blog_post_optimizer.py \
--headline-only "10 Productivity Hacks You Need to Know"
CLI 参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--input、-i | 输入文件(txt/md/html) | - |
--headline | 博客文章标题 | 从内容中提取 |
--keywords、-k | 以逗号分隔的关键词 | - |
--output、-o | 输出文件路径 | 标准输出 |
--format、-f | 输出格式(json/html) | json |
--headline-only | 仅分析标题 | False |
示例
示例 1:生成 HTML 报告的完整分析
optimizer = BlogPostOptimizer()
with open('article.md') as f:
content = f.read()
results = optimizer.analyze_full(
content=content,
headline="The Complete Guide to Remote Work",
keywords=["remote work", "productivity", "work from home"]
)
optimizer.export_html_report(results, 'seo_report.html')
示例 2:标题优化
optimizer = BlogPostOptimizer()
headline = "Ways to Improve Your Writing"
analysis = optimizer.analyze_headline(headline)
print(f"Score: {analysis['score']}/100")
print(f"Power words found: {', '.join(analysis['power_words'])}")
print("\nSuggestions:")
for suggestion in analysis['suggestions']:
print(f" - {suggestion}")
示例 3:SEO 关键词分析
optimizer = BlogPostOptimizer()
with open('post.md') as f:
content = f.read()
seo = optimizer.analyze_seo(
content=content,
keywords=["python", "tutorial", "beginners"]
)
for keyword, density in seo['keyword_density'].items():
print(f"{keyword}: {density:.1f}%")
依赖项
nltk>=3.8.0
textblob>=0.17.0
beautifulsoup4>=4.12.0
pandas>=2.0.0
matplotlib>=3.7.0
reportlab>=4.0.0
lxml>=4.9.0
限制
- HTML 解析:复杂的 HTML 结构可能影响准确性
- 关键词语境:不考虑关键词语境(正面/负面)
- 语言:可读性和强效词分析仅支持英语
- 强效词:具有主观性;效果因受众而异
- 可读性:公式仅供参考,并非绝对衡量标准
- SEO:搜索引擎算法不断变化
- 图片分析:无法分析图片的实际内容
- 外部链接:不验证外部链接的质量
评论
支持 Markdown