我让陀思妥耶夫斯基吐槽特斯拉的SEO(并为此构建了一个免费CLI)
Source: Dev.to

如果费奥多尔·陀思妥耶夫斯基来审查你的网站 meta 标签会怎样?
如果 MrBeast 因为你没有站点地图而对你大喊大叫会怎样?
如果特朗普宣称你的 SEO “是他见过的最糟糕的”会怎样?
我写了一个 CLI 来找答案。
npx seo-roast tesla.com --persona musk
结果:马斯克自嘲自家公司
得分: 57/100 (C)
- “没有 meta description。这根本就坏了。就像发射火箭却没有导航系统。”
- “没有 robots.txt。你在没有流量规则的情况下运营网站。无政府状态。我尊重,但 Google 不尊重。”
- “没有 sitemap.xml。你让 Googlebot 猜测你的网站结构。这就像让人没有地图去火星探险。”
工作原理
该工具会扫描 12 项真实的 SEO 信号:
- Title 标签(是否存在 + 长度)
- Meta description(是否存在 + 长度)
- H1 标签(是否存在 + 数量)
- HTTPS
- 页面加载速度
- robots.txt
- sitemap.xml
- Canonical 标签
- Viewport meta
- 图片 alt 标签
- 脚本数量
- HTML 大小
随后为每个发现的问题挑选符合人物设定的吐槽模板,并根据从 F 到 A 的评分体系计算得分。
我最喜欢的结果
MrBeast 在亚马逊上 — 42/100 (F)
“兄弟。没有 meta description?!这就像上传一个没有标题的 YouTube 视频。没人会点进去。立刻修复。”
“没有 sitemap!这就像把你最好的内容埋在没人能看到的地方!”
陀思妥耶夫斯基在 Stripe 上 — 62/100
“66 个脚本像良心上的罪恶一样压在这页上。每一个都在增重。到某个时刻,页面再也承受不住了。”
“602KB 的 HTML。内容如此之多,却不禁要问——到底有多少是真正重要的?”
Billie Eilish 在 Google 上 — 47/100 (F)
“没有 meta description。于是 Google 只能……猜测你的页面是关于什么的。这就是‘我不在乎’的能量。只不过你应该在乎。”
技术细节
- 零依赖。 仅使用 Node.js 原生的
http/https模块。 - 零 API 调用。 没有大语言模型、没有外部服务——全靠静态模板。
- 约 32 KB 总体积。 26 种人物 × 每种约 20 条吐槽模板。
- ANSI 颜色 通过原始转义码实现。
最难的部分不是扫描器,而是编写 26 种不同的声音,让它们真的像对应的人。陀思妥耶夫斯基的存在主义重量、MrBeast 的全大写能量、Billie 的小写淡漠、特朗普……嗯,特朗普。
试一试
# 随机人物
npx seo-roast competitor.com
# 指定人物
npx seo-roast mysite.com --persona tolkien
# 查看全部 26 种人物
npx seo-roast --list
26 种人物: 海明威、陀思妥耶夫斯基、托尔金、奥威尔、纳博科夫、布尔加科夫、克里斯蒂、普鲁斯特、布拉德伯里、斯特鲁加茨基、马斯克、乔布斯、贝索斯、奥特曼、特朗普、塔伦蒂诺、诺兰、雷诺兹、基努、MrBeast、泰勒·斯威夫特、坎耶、赞达亚、查拉梅、Billie Eilish。
GitHub: