大多数独立内容站不是死于内容差,而是死于发布不稳定。连续 12 周猛发然后沉默 4 个月,比稳定发一半的量更差——Google 会把突然沉默当成站要死的信号。节奏的目的不是最大化产量,是可预测——而且要从你真实的 git log 里量,不是从愿望里量。
问题背景
Google 不会真的奖励”每周二发”这种模式,但它会奖励长期持续输出相关新内容的站。更重要的是,你自己需要节奏来维持习惯。没有节奏,内容会被无限推到”以后”。“可量化节奏 + 小 backlog + 每周发文检查”是真正能撑住的最小系统。
判断标准
- 你发文呈”波”——猛冲几周然后沉默。
- 几个月前定了目标节奏,没撑住。
- 对发布频率有负罪感(说明目标错,不是你错)。
- 过去 8 周的平均产出远低于你对外承诺的数字。
快速结论
挑你 90% 确定能连续 12 个月都做到的最低节奏。这是你真实的节奏,超出的都算 bonus。
开始前准备
- 编辑控制面(git log、内容目录)能拿到。
- 留 30 分钟搭下面这套测量脚本。
- 公开承诺数字前先把数算对。
实操步骤
- 用
git log老实量。 frontmatter 里有发布日期,但 git log 证明你真正何时 ship 了:
# 过去 8 周变动的文章数
git log --since="8 weeks ago" --pretty=format:'%ai' --name-only -- 'src/content/articles/' \
| grep '\.mdx$' | awk -F/ '{print $NF}' | sort -u | wc -l
git log --since="8 weeks ago" --pretty=format:'%ai' --diff-filter=A --name-only \
-- 'src/content/articles/' \
| grep '\.mdx$' \
| awk -F/ '{print $NF}' | sort -u | wc -l
# 新增(A = added)的文章数
或者更简单地看 frontmatter:
grep -rh '^publishedAt:' src/content/articles \
| awk '{print $2}' \
| awk -F- '{print $1"-"$2}' | sort | uniq -c
# 按年-月计数,最近几个月的数据说真话
-
× 0.8 即可持续下限。 8 周发了 16 篇 → 真实节奏 16 × 0.8 / 8 = 1.6 篇/周。向下取整成干净排期(1/周、2/周)。
-
定固定发布日。 周二 + 周五是常见模式。写进
CONTENT.md:
# 发布节奏
- 目标: 2 篇/周
- 日期: 周二 10:00 ET、周五 10:00 ET
- backlog 缓冲: 任何时刻有 2-3 篇待发
- 每季度复盘;中途不调整
- 建小 backlog。 一个
drafts/目录放待发:
ls drafts/*.mdx | wc -l
# < 2 就告警:
[ "$(ls drafts/*.mdx 2>/dev/null | wc -l)" -lt 2 ] && echo "WARN: backlog 低于 2"
挂到每周清单里,告警前的告警就是告警。
- 只追踪”本周发了/没发”。 别追字数和工时,跟结果没相关性。小追踪脚本:
# scripts/cadence-check.mjs
import { execSync } from 'node:child_process';
const since = new Date(Date.now() - 7 * 86400 * 1000).toISOString().slice(0, 10);
const out = execSync(
`git log --since="${since}" --diff-filter=A --name-only -- 'src/content/articles/'`
).toString();
const newArticles = out.split('\n').filter(l => l.endsWith('.mdx')).length / 2; // en + zh
console.log(`本周: ${newArticles} 篇新文`);
if (newArticles === 0) console.log('断更');
挂到每周 cron 或周五早晨人工跑。
- 每季度复盘。 13 周总结:
grep -rh '^publishedAt:' src/content/articles \
| awk '{print $2}' \
| awk -F- '{print $1"-W"int(($2*30+$3)/7)}' \
| sort | uniq -c | tail -13
12 周都觉得轻松,月产 +1;觉得吃力降一档。中途不要调。
- 不要前置猛冲。 20 篇上线周 + 8 周沉默,比稳定 2/周差得多。至少前一个季度匀着发。
执行检查清单
- 8 周基线从 git log 量,不是凭记忆。
- 公开节奏 ≤ 实测 × 0.8。
- 固定发布日写进
CONTENT.md。 - backlog ≥ 2 篇。
- 每周”发了吗”检查自动化或仪式化。
上线后验证
- 12 周后
git log显示的连续周数与目标一致。 - backlog 从未掉到 1 以下。
- Search Console “new pages discovered” 平稳,不再尖刺。
容易踩的坑
- 按”别的独立站怎么做”定节奏。你不是他们,你的生活也不是。
- 上线第一个月猛冲。一周发 20 篇看起来漂亮,然后是 8 周沉默。要分散。
- 不留 backlog。一旦一周状态差就断更。
- 用复杂的内容日历工具。Google Sheet 或 Notion 表格够用,工具不是瓶颈。
- 跟踪输入指标(字数、小时)而不是输出(发布数)。输入不是承诺。
FAQ
- 一周两篇够吗?: 如果能撑一年,够。独立站上,稳定 2 篇/周几乎总赢过撑不住的 5 篇/周。
- 断更一周怎么办?: 用 backlog 补。backlog 空了就第二天发一篇短的,不要跳到”下周”。
- 要不要提前几个月批量囤稿?: 适当囤可以,但别超过 4-6 周。市场和你的兴趣会变,囤太久的稿子读起来会陈旧。
- 发布时间点重要吗?: SEO 上不重要。社交和邮件分发上,受众时区有一点影响。不要过度优化。
- 假期 / 出差怎么办?: 提前从 backlog 发。栈支持就排定时(
publishedAt未来 + 每日 build cron)。