toolkit

In Action · Content and search

Set up this month's special

“Here's the promotion for this month — can you get it up?”

Every promotion published today is a future stale-content problem unless its end date actually makes it into the visible copy at the moment it goes live — a special that only ever says "limited time" can't be found again by anything except a client noticing it's still up. This publishes and verifies the promotion, and specifically checks that other, older specials aren't still live on the site before adding one more to the pile.

What to ask for

See it work

A real run of Promo expiry scanner:

FAIL — graded against <date>
      [error] expired <age> ago (<date>): "Offer ends December 31, 2025"

  report: ./out/promo-expiry-scanner-promo-expiry-scanner.html
  text:   ./out/promo-expiry-scanner-promo-expiry-scanner.txt

The captured report, exactly as a run hands it to a client —open the full report ↗

Specials are the fifth-busiest category and the one with a built-in decay problem: every one you publish is a future stale-content ticket unless the end date goes into the copy at publish time.

  1. Get the end date in writing, and into the copy. “Offer ends 12/31” in the visible text is what makes this promotion findable later by the expiry scan. A special whose copy says only “limited time” cannot be audited by anything and will be found by a client instead.
  2. Check what is already live before adding another. Run the promo expiry scan across the site first. Publishing this month’s special onto a page still advertising last spring’s is the most common version of this ticket going wrong, and it is one command to avoid.
  3. Snapshot the pages you are about to change.
  4. [manual] Publish the promotion. Build it wherever it belongs — a specials page, a banner, a popup, a section on the home page — with the dated copy from step 1. Publish and purge the cache; a promotion nobody can see because of a cached page is the most embarrassing version of this.
  5. Verify it as a visitor. Before/after check on every page touched, links and images on the promo itself — a special almost always carries a call-to-action link, and a broken one costs the actual revenue this ticket exists to generate. Capture it across devices: promo banners and popups break on mobile more than any other component.
  6. Re-run the expiry scan. It should now report the new promotion as dated and current, which is the proof that the end date landed in the copy rather than just in the ticket.

The decay is the real work

Publishing a promotion is straightforward and the tools verify it well. What makes specials expensive is the accumulation: pages advertising offers that ended, seasonal copy running out of season, urgency language with no date attached. Step 1 and step 6 are both about making this promotion auditable by the scan that will eventually need to find it.

What this does not cover

The offer itself, and taking it down again. It publishes and verifies a promotion and flags dated copy that has expired, but nobody is told when this one ends unless a date goes in the copy — a promo with no end date in its text is invisible to the expiry scan and will still be live next year. Whether the discount is legal, honoured, or correctly priced is the practice's call.

← All jobs