Monthly reviews are too frequent — nothing meaningful changes in 30 days. Yearly reviews are too slow — drift compounds for 11 months before you notice. Quarterly is the sweet spot, but only if the review is structured. A free-form “let me look at analytics” almost always produces zero decisions.
Background
Drift on content sites happens silently: rankings slip a position per month, an algorithm update halves traffic on one article, a category goes stale because the underlying tools were renamed. None of these trigger an alert. The job of a quarterly review is to put a regular checkpoint between you and slow decay — and produce decisions, not observations.
How to tell
- Your last “review” was actually just opening Search Console for 10 minutes.
- You have articles you have not opened in a year and do not know if they still rank.
- Your monthly traffic graph is flat or declining and you cannot explain why.
- You discover algorithm-update impact 2-3 months late, on Twitter.
- You cannot answer “which 5 articles drove the most growth this quarter?”
Quick verdict
Block 4 hours every 90 days. Use the same template every time. Produce a decision log, not a slide deck. The point is action, not measurement.
The 4-hour template
Hour 1: traffic deltas. Pull last-90-days vs prior-90-days in Search Console. Sort by absolute clicks change. Look at the top 20 winners and top 20 losers:
# clicks delta query (paste into GSC API)
curl -X POST "https://www.googleapis.com/webmasters/v3/sites/$SITE/searchAnalytics/query" \
-H "Authorization: Bearer $TOKEN" \
--data '{"startDate":"2026-02-22","endDate":"2026-05-22",
"dimensions":["page"],"rowLimit":500}' > q-current.json
# repeat with prior 90 days, then join in pandas
For each big loser, ask: algorithm update, lost backlink, competitor outranked, content went stale, or seasonal? Write the cause next to each row.
Hour 2: topical drift check. For your top 5 categories, search 3-5 representative queries in incognito. Note where you rank. Compare to last quarter’s notes. A category sliding everywhere is a signal — either the SERP shifted (AI Overviews, new format), or your content is aging.
Hour 3: stale content sweep. Filter articles by updatedAt > 365 days ago AND impressions > 100. These are still working but might be lying — outdated screenshots, dead links, renamed tools. Pick 10 for refresh next quarter.
Hour 4: decisions and quarter plan. Write down: 5 articles to refresh, 3 articles to retire, 1 category to expand, 1 technical fix to ship, 1 experiment to run. That is the whole next-quarter plan. Anything beyond this list is overreach.
What a decision log looks like
Save it to reviews/2026-Q2.md in the repo. Format:
## 2026-Q2 Review (May 23)
Wins:
- ai-applications +38% clicks (new tag pages indexed)
- indie-dev /pick-niche article reached page 1
Losses:
- prompt-library -22% (AI Overview took position 0 on 4 queries)
- 14 articles in `troubleshooting/` dropped 5+ positions
Decisions:
- Refresh: firebase-rewrite-issue, astro-deploy-firebase, [3 others]
- Retire: 3 thin tool-comparison articles from 2024
- Expand: indie-dev/content-ops cluster (only 8 articles)
- Ship: per-article LCP audit by 2026-06-30
- Experiment: shorter intros on 20 articles, measure CTR
Reviewing last quarter’s decisions before writing this quarter’s is the highest-value 10 minutes of the whole exercise.
Common mistakes
- Treating the review as data collection. Without decisions, you might as well not run it.
- Comparing month-over-month instead of 90-day blocks. Monthly noise drowns the signal.
- Skipping the decision log because “I will remember”. You will not.
- Trying to fix everything in the review itself. The review identifies; the next 12 weeks execute.
- Doing it alone when you have a team. A 30-minute team walkthrough doubles the catch rate on category drift.
FAQ
- Why 90 days and not monthly?: Most SEO and content changes take 4-8 weeks to show in data. Monthly review reacts to noise; quarterly reacts to signal.
- Should I review by language separately for bilingual sites?: Yes. Markets diverge: a refresh on the EN side does not affect ZH rankings. Run two parallel review passes.
- What tooling do I actually need?: Search Console (free), Google Analytics or Plausible (free), a CSV diff tool, your own content inventory. No paid SEO suite is required for this cadence.
- How long until the cadence pays off?: Two quarters. The first review establishes baseline, the second is when you can see deltas and compound learning.
- Can AI do the review for me?: AI is good at summarizing query lists. It is bad at deciding which articles to retire — that requires context about your strategy. Use AI for hour 1, do hours 2-4 yourself.
Related
- Running a Site-Wide Content Audit
- Content Site Staffing and Roles
- When to refresh old articles
- Managing a content site after 1,000 articles
Tags: #Indie dev #Content ops #SEO #review-cadence #operations