S3 → R2 stray-image promote — 2026-05-11
25 IMAGES PROMOTED FROM LEGACY S3 → R2 · 2026-05-11 · MODE=BASENAME
TL;DR
- 25/25 uploads succeeded at the existing basenames (basename mode — preserves repo references; SEO renames parked).
- 25/25 verified HTTP 200 at
images.dare.co.uk/posts/<basename>. - Total payload: 2.7 MB across 25 objects, written with
Cache-Control: public, max-age=31536000, immutable. - Source: Lost-files audit
Result
| # | Basename | Size | Status |
|---|---|---|---|
| 1 | 005-300x292.jpg |
16 KB | ✓ live · HTTP 200 |
| 2 | 83emptycar.jpg |
37 KB | ✓ live · HTTP 200 |
| 3 | Tuerkischer_schachspieler_windisch4.jpg |
124 KB | ✓ live · HTTP 200 |
| 4 | afternoon-tea.jpg |
49 KB | ✓ live · HTTP 200 |
| 5 | apple-5th-ave.jpeg |
96 KB | ✓ live · HTTP 200 |
| 6 | campervan.jpg |
50 KB | ✓ live · HTTP 200 |
| 7 | dolomites-italy.jpeg |
266 KB | ✓ live · HTTP 200 |
| 8 | eugeniorecuenco.jpg |
139 KB | ✓ live · HTTP 200 |
| 9 | evolve.jpg |
105 KB | ✓ live · HTTP 200 |
| 10 | gauchos-in-patagonia.jpg |
71 KB | ✓ live · HTTP 200 |
| 11 | halle-berry-tie.jpg |
52 KB | ✓ live · HTTP 200 |
| 12 | henri-cartier-bresson-300x191.jpg |
15 KB | ✓ live · HTTP 200 |
| 13 | kayak.jpg |
83 KB | ✓ live · HTTP 200 |
| 14 | lesmoking.jpg |
168 KB | ✓ live · HTTP 200 |
| 15 | nigel-text.jpg |
71 KB | ✓ live · HTTP 200 |
| 16 | perla-large.jpeg |
58 KB | ✓ live · HTTP 200 |
| 17 | safe2tv-772039.jpg |
107 KB | ✓ live · HTTP 200 |
| 18 | staticmap.png |
24 KB | ✓ live · HTTP 200 |
| 19 | steven-soderbergh-259x300.jpg |
17 KB | ✓ live · HTTP 200 |
| 20 | stunts-pylon.jpg |
34 KB | ✓ live · HTTP 200 |
| 21 | syd-mead-blade-runner.jpeg |
19 KB | ✓ live · HTTP 200 |
| 22 | terroni.jpeg |
591 KB | ✓ live · HTTP 200 |
| 23 | toyko.jpeg |
468 KB | ✓ live · HTTP 200 |
| 24 | u2-no-line-on-the-horizon.jpg |
6 KB | ✓ live · HTTP 200 |
| 25 | ugg-close-up.jpeg |
75 KB | ✓ live · HTTP 200 |
The 25 stray cats, herded
Source detail
| # | Basename | Archive key | Refs | Proposed slug (parked) |
|---|---|---|---|---|
| 1 | 005-300x292.jpg |
wp_small/005-300x292.jpg |
5 | 005.jpg |
| 2 | 83emptycar.jpg |
wp_small/83emptycar.jpg |
3 | 83emptycar.jpg |
| 3 | Tuerkischer_schachspieler_windisch4.jpg |
wp_small/static/Tuerkischer_schachspieler_windisch4.jpg |
4 | tuerkischer-schachspieler-windisch4.jpg |
| 4 | afternoon-tea.jpg |
wp_small/afternoon-tea.jpg |
3 | afternoon-tea.jpg |
| 5 | apple-5th-ave.jpeg |
wp_small/apple-5th-ave.jpeg |
3 | apple-5th-ave.jpg |
| 6 | campervan.jpg |
wp_small/campervan.jpg |
3 | campervan.jpg |
| 7 | dolomites-italy.jpeg |
wp_small/dolomites-italy.jpeg |
3 | dolomites-italy.jpg |
| 8 | eugeniorecuenco.jpg |
wp_small/eugeniorecuenco.jpg |
3 | eugeniorecuenco.jpg |
| 9 | evolve.jpg |
wp_small/evolve.jpg |
3 | evolve.jpg |
| 10 | gauchos-in-patagonia.jpg |
wp_small/gauchos-in-patagonia.jpg |
3 | gauchos-patagonia.jpg |
| 11 | halle-berry-tie.jpg |
wp_small/halle-berry-tie.jpg |
3 | halle-berry-tie.jpg |
| 12 | henri-cartier-bresson-300x191.jpg |
wp_small/henri-cartier-bresson-300x191.jpg |
5 | henri-cartier-bresson.jpg |
| 13 | kayak.jpg |
wp_small/kayak.jpg |
3 | kayak.jpg |
| 14 | lesmoking.jpg |
wp_small/lesmoking.jpg |
3 | lesmoking.jpg |
| 15 | nigel-text.jpg |
wp_small/nigel-text.jpg |
3 | nigel-text.jpg |
| 16 | perla-large.jpeg |
wp_small/perla-large.jpeg |
3 | perla-large.jpg |
| 17 | safe2tv-772039.jpg |
wp_small/static/v1/safe2tv-772039.jpg |
3 | safe2tv-772039.jpg |
| 18 | staticmap.png |
wp_small/staticmap.png |
3 | staticmap.png |
| 19 | steven-soderbergh-259x300.jpg |
wp_small/steven-soderbergh-259x300.jpg |
5 | steven-soderbergh.jpg |
| 20 | stunts-pylon.jpg |
wp_small/stunts-pylon.jpg |
3 | stunts-pylon.jpg |
| 21 | syd-mead-blade-runner.jpeg |
wp_small/syd-mead-blade-runner.jpeg |
3 | syd-mead-blade-runner.jpg |
| 22 | terroni.jpeg |
wp_small/terroni.jpeg |
3 | terroni.jpg |
| 23 | toyko.jpeg |
wp_small/toyko.jpeg |
3 | toyko.jpg |
| 24 | u2-no-line-on-the-horizon.jpg |
wp_small/u2-no-line-on-the-horizon.jpg |
3 | u2-no-line-horizon.jpg |
| 25 | ugg-close-up.jpeg |
wp_small/ugg-close-up.jpeg |
3 | ugg-close-up.jpg |
Flagged for future judgment
These auto-slugs are mechanically correct but SEO-suboptimal. Slug pass parked; revisit when a focused image-rename session has bandwidth + source images:
005-300x292.jpg→ proposed005.jpg— stripped resolution suffix; ⚠ numeric-only slug — needs human rename for SEO value; ⚠ very short slug — consider adding contextgauchos-in-patagonia.jpg→ proposedgauchos-patagonia.jpg— dropped stop wordshenri-cartier-bresson-300x191.jpg→ proposedhenri-cartier-bresson.jpg— stripped resolution suffixkayak.jpg→ proposedkayak.jpg— ⚠ very short slug — consider adding contextsteven-soderbergh-259x300.jpg→ proposedsteven-soderbergh.jpg— stripped resolution suffixtoyko.jpeg→ proposedtoyko.jpg— possible typo: ‘toyko’ → ‘tokyo’?; ⚠ very short slug — consider adding contextu2-no-line-on-the-horizon.jpg→ proposedu2-no-line-horizon.jpg— dropped stop words
What’s next
- 🟢 404 gap closed — all 25 basenames now 200 at
images.dare.co.uk/posts/. - 🟡 Slug renames parked — repo references preserved tonight; revisit as a focused image-rename pass when source images are in hand.
- ⚠ Legacy S3 bucket retirement —
cdn.dare.co.ukis now redundant for the production CDN (mostly WP-era cruft remaining). One-shot UI delete is appropriate; mint a per-purposedare-bucket-retiretoken only if scripting needed.
























