GPTMap Article Maintenance Guide: Re-testing, Version Sync, and Sunset
Publishing is the start, not the end. GPTMap's editorial standard for maintaining a published article: six-month re-test triggers, world-state sync, link health checks, and sunset/merge decisions.
How to
Detect whether it's time
Six-month hard cycle, OR one of three event triggers (OpenAI major release / model or API deprecation / 404 in officialReferences). Either way, schedule the maintenance.
Re-read and produce a change list
Read the full article, list every claim that should have changed (price, version, API field, link). That's your change list.
Bump three frontmatter timestamps
updatedAt / lastTestedAt / lastReviewedAt — all set to today's ISO 8601. If the OpenAI model version changed, also bump openaiVersion.
Edit body + append the update log
Apply the change list to the body. If changes are large, rewrite a paragraph. Append a '## Update log' entry (newest first): date, action summary, fields bumped.
Run the SEO/GEO mandatory checklist
pnpm lint + typecheck + build; run the .agents/skills/add-content step 8 grep script and confirm head meta + JSON-LD all emit.
Link health check
Crawl all outbound URLs (curl or linkchecker), fix 4xx/5xx and wrong-redirect targets.
Publishing is the starting line. Below is GPTMap's editorial standard for maintaining a published article — turning one-shot content into a durable, citable asset.
1. Two triggers for maintenance
Schedule trigger (six months)
Six months is the hard floor. Going longer creates two compounding risks:
- Code examples break: OpenAI rotates endpoints, SDK method names, parameter shapes — old code blocks no longer run as written.
- AI summary engines demote: stale
softwareVersion/lastTestedAttell ChatGPT/Perplexity the source is outdated; citation weight drops.
Event trigger (overrides schedule)
Three events, any one of which kicks off immediate re-test:
- OpenAI releases a new major family (e.g. GPT-5.6)
- A model or API field used in the article is deprecated / retired
- A link in
officialReferencesgoes 404 or is significantly rewritten
Event triggers outrank schedule triggers.
2. Re-test execution
The following sequence takes ~1 hour per article.
2.1 Re-read and produce a change list
Read the full article. List every claim that should have changed: price, version, API field, official reference. Read with skepticism — code you wrote six months ago probably doesn't run anymore.
2.2 Bump three frontmatter timestamps
| Field | Value | Purpose |
|---|---|---|
updatedAt | today's ISO 8601 | schema dateModified |
lastTestedAt | today's ISO 8601 | EEAT signal |
lastReviewedAt | today's ISO 8601 | schema lastReviewed |
If the OpenAI model version changed, also update openaiVersion — it auto-flows into the Article schema's softwareVersion, which AI summary engines use for freshness scoring.
2.3 Edit body + append update log
Apply the change list to the body. For large changes, rewrite a paragraph. Append a ## Update log entry at the end of the article:
## Update log
- 2026-08-08: GPT-5.6 family refresh — code examples re-tested, openaiVersion bumped to gpt-5.6
- 2026-02-12: Migrated links to developers.openai.com
- 2026-01-05: Initial publish
Newest first — gives readers a direct version signal.
2.4 Run the SEO/GEO mandatory checklist
Per .agents/skills/add-content step 8: title / description / canonical / robots / hreflang / OG / Twitter / JSON-LD (softwareVersion / applicationCategory / FAQPage / Breadcrumb / Person / Organization / mainEntityOfPage / image / citation / inLanguage / speakable) — all must emit. H1 = 1.
pnpm lint && pnpm build must pass.
2.5 Link health check
Crawl all outbound URLs:
# Example: check every URL in the post's frontmatter
grep -oE 'https?://[^"]+' apps/web/content/posts/<slug>.zh.md | sort -u | xargs -I {} curl -s -o /dev/null -w "%{http_code} {}\n" {}
Fix or replace 4xx / 5xx; fix wrong-redirect targets.
3. Sunset decisions
Don't delete articles — that creates 404s. Three options:
| Option | When | Implementation |
|---|---|---|
| Merge | Content is superseded by a new article | 301 redirect old URL to the new one |
| Draft | Content is temporarily unsound but URL must not break | frontmatter status: "draft" — page stays, falls back to default-locale content |
| Keep + warn | Historical content is still a citable asset | Top-of-article "this content is outdated, see [new article]" notice; remains indexable |
generateStaticParams is false by default, so to truly delete a page you must explicitly remove its slug from the code's static-params list.
4. The metadata signals your maintenance emits
4.1 Schema.org lastReviewed
When frontmatter has lastReviewedAt, GPTMap's Article schema emits a lastReviewed field. Google Quality Rater Guidelines treat "most recent human review" as an important E-E-A-T signal.
4.2 softwareVersion auto-updates
The openaiVersion field drives both:
- Manual annotation in frontmatter (you write it)
softwareVersionin Article JSON-LD (schema emits it automatically)
Change it once, both update. That's why the SEO/GEO mandatory checklist includes "rendered HTML softwareVersion must match frontmatter openaiVersion byte-for-byte" — the consistency check catches drift.
5. Recommended rhythm
| Cadence | Trigger | Scope |
|---|---|---|
| 6 months | Schedule | All published articles |
| Immediate | OpenAI major / API deprecation / 404 link | Affected articles only |
| Quarterly | Link health + cross-reference audit | All |
| Immediate | Major security event (e.g. MCP protocol RCE disclosure) | Affected articles |
6. Common errors and troubleshooting
- Six months pass, frontmatter untouched → AI summary engines mark as stale; citation weight drops.
- Body updated, timestamps forgotten → schema doesn't change; search engines think you didn't maintain it.
- Link rot unnoticed → users click into 404s; SEO score drops.
- Article deleted outright → inbound link equity evaporates; future references dead-end.
- World-state changed, related articles not synced → same fact contradicts itself across the site.
7. What's Next
- The GPTMap editorial checklist: 12 steps to a publishable OpenAI article — the writing-stage counterpart
- OpenAI Models Release Notes (Living Document) — example of a maintenance target
- Deep Research prompt patterns — standard method for citation verification
Update log
- 2026-08-08: Initial publish
Key points
- Six months is the hard floor; any of three event triggers (major OpenAI release, deprecation, dead link) overrides it
- On re-test, bump frontmatter updatedAt / lastTestedAt / lastReviewedAt — and softwareVersion auto-updates in the Article JSON-LD
- Run link health at least quarterly: crawl all outbound URLs, fix 4xx/5xx and wrong-redirect targets
- Don't delete articles — merge, mark draft, or annotate. Direct delete breaks inbound links
- Append a '## Update log' block at the end of the article so humans and AI summarizers see the same version signal
Frequently asked questions
Official references
Related articles
OpenAI's Agents Optimization cookbook: a four-round playbook for cheaper support agents
A new official cookbook tutorial on agent optimization: measure a baseline, change one thing per round, and accept savings only after quality holds. Four optimization rounds and a nine-step tuning order, item by item.
Read articleBilingual Content Production: zh Master Drafts, en Rewrites, and Consistency Checks
In a bilingual knowledge base the en version is a rewrite for English readers, not a translation: shared vs independent frontmatter fields, target-language link titles, and a two-round tightening method for over-length fields.
Read articleWorld-State Consistency for Multi-Author Knowledge Bases
The deadliest failure in a multi-author, AI-assisted knowledge base is contradictory facts. GPTMap's world-state pattern: a dated shared-facts snapshot, three-step change propagation, and build-time consistency assertions.
Read articleSubscribe to GPTMap Weekly
One email every Monday: curated OpenAI updates, deep dives, and best practices. No ads, unsubscribe anytime.
Submitting opens Buttondown in a new tab to confirm your subscription.