# Content pages show dates

- **Pattern:** `ab-001533` (`geo-readiness.authority-expertise.publication-dates-visible`)
- **Severity:** medium
- **Lifecycle:** active
- **Last modified:** 2026-06-10
- **Canonical URL:** https://auditbuffet.com/patterns/ab-001533
- **License:** CC-BY-4.0 — attribute to AuditBuffet Pattern Catalog (https://auditbuffet.com/patterns/ab-001533)

## Why it matters

Freshness is one of the few citation factors an AI-search vendor names outright. Microsoft's grounding-index guidance puts it sharply — "In search, stale content degrades ranking. In grounding, a stale fact produces a misleading response" — and its AI-citation guidance lists regular updates among the factors that help content get referenced. A visible "published" or "last updated" date is how a page declares its recency to readers and to the systems extracting from it; undated content gives them nothing to assess.

## Severity rationale

Medium because visible dates feed the freshness assessment Microsoft documents for AI answers, but their absence does not affect baseline discoverability.

## Remediation

Render a visible publication or last-updated date on every blog post and documentation page. Use a semantic `<time>` element with a machine-readable `dateTime` attribute so both human readers and AI crawlers parsing HTML pick it up. Edit your post template in `src/app/blog/[slug]/page.tsx` or the docs layout.

```tsx
<time dateTime="2026-04-02">April 2, 2026</time>
<p className="text-sm text-muted-foreground">Last updated: March 15, 2026</p>
```

## Detection

- **ID:** `publication-dates-visible`
- **Severity:** `medium`
- **What to look for:** Count all blog posts and dateable content pages. For each, check whether a visible date indicator is present in the rendered output: publication dates, "last updated" timestamps, "published on" or "updated on" text near content. Dates must be visible in the rendered output — dates only in schema markup or HTML metadata don't count for this check (they're covered separately in AI-Readable Structure). Report: "X of Y dateable pages show visible dates."
- **Pass criteria:** Count all dateable content pages (blog posts, documentation, guides). At least 80% of dateable pages must show visible publication or "last updated" dates that users (and AI crawlers reading HTML) can see. If there is only 1 dateable page, it must show a date.
- **Fail criteria:** Fewer than 80% of dateable content pages show visible dates. No visible date signals on any content pages means 0% — a clear fail. Report: `"X of Y dateable pages show visible dates — Z% (threshold: 80%)"`.
- **Skip (N/A) when:** No blog or dateable content exists (pure SaaS with only app pages and no blog or docs).
- **Detail on fail:** `"0 of 4 blog posts show visible publication dates — 0% (threshold: 80%). AI systems use dates to assess content freshness."` or `"Documentation has no 'last updated' indicators — 0 of 3 docs pages show dates"`
- **Remediation:** Freshness matters more in AI answers than in classic ranking (Microsoft: "a stale fact produces a misleading response"). Show when content was published or updated:

  ```tsx
  // Blog post
  <time dateTime="2026-04-02">April 2, 2026</time>

  // Documentation
  <p className="text-sm text-muted-foreground">Last updated: March 15, 2026</p>
  ```

## External references

- external bing-grounding-index — https://blogs.bing.com/search/May-2026/Evolving-role-of-the-index-From-ranking-pages-to-supporting-answers

Taxons: findability

HTML version: https://auditbuffet.com/patterns/ab-001533
