dare.co.uk 404 redirects report — 2026-05-18

Daily top-50 404 paths from Cloudflare Analytics, last 24h. Operationalises feedback_404_redirect_threshold_rule — at ≥50 hits/day, examine and decide whether to redirect editorial 404s to a deserving archive page.

TL;DR

Legacy editorial — decide redirect target

(34 path(s) · 456 total hits)

Path Hits Action Decision?
/backend/.env.local 18 examine + decide (rule applies)
/server/logs/laravel.log 17 examine + decide (rule applies)
/prod/.gitconfig 17 examine + decide (rule applies)
/config/heroku.yml 16 examine + decide (rule applies)
/aws/secret.env 16 examine + decide (rule applies)
/prod/config/.env.sample 15 examine + decide (rule applies)
/.aws_secrets 15 examine + decide (rule applies)
/prod/.env.local 14 examine + decide (rule applies)
/local/.gitconfig 14 examine + decide (rule applies)
/prod/config/.env.local 14 examine + decide (rule applies)
/config/aws_credentials.yml 14 examine + decide (rule applies)
/database/config.yaml 14 examine + decide (rule applies)
/metadata/computeMetadata/v1 14 examine + decide (rule applies)
/logs/system.log 14 examine + decide (rule applies)
/aws-secrets/backup.env 14 examine + decide (rule applies)
/%20%20%20%20%22/options.php%22%2C 14 examine + decide (rule applies)
/website/config/settings.yaml 14 examine + decide (rule applies)
/backend/config/settings.yaml 14 examine + decide (rule applies)
/frontend/config/.gitignore 14 examine + decide (rule applies)
/private/sparkpost_keys.json 14 examine + decide (rule applies)
/scripts/nodemailer.js 14 examine + decide (rule applies)
/.backup/ 14 examine + decide (rule applies)
/data/config.yml 14 examine + decide (rule applies)
/tmp/.env.staging 14 examine + decide (rule applies)
/2026-05-17/ 11 examine + decide (rule applies)
/2026-05-16/ 11 examine + decide (rule applies)
/dare_seo_title_cleanup_2026-05-17 11 examine + decide (rule applies)
/dare_session_report_2026-05-16 11 examine + decide (rule applies)
/secrets/aws_config.json 10 examine + decide (rule applies)
/node/.env_example 10 examine + decide (rule applies)
/secrets/aws_credentials.json 10 examine + decide (rule applies)
/mailer_dsn_keys.json 10 examine + decide (rule applies)
/s3/credentials 10 examine + decide (rule applies)
/static 10 examine + decide (rule applies)

Favicon paths

(1 path(s) · 13 total hits)

Path Hits Action Decision?
/apple-touch-icon-precomposed.png 13 already redirected — verify deploy lag

Bot-probe paths — leave 404

(15 path(s) · 288 total hits)

Path Hits Action Decision?
/wp-content/uploads/cropped-n3.jpg 81 leave 404 (security signal)
/posts/cropped-n3.jpg 40 leave 404 (security signal)
/settings.php 17 leave 404 (security signal)
/wp-content/uploads/mailgun_keys.json 15 leave 404 (security signal)
/wp-content/uploads/aws_keys.json 15 leave 404 (security signal)
/wp-content/uploads/api_keys.json 14 leave 404 (security signal)
/config/aws.php 14 leave 404 (security signal)
/wp-login.php 13 leave 404 (security signal)
/classwithtostring.php 13 leave 404 (security signal)
/upload.php 12 leave 404 (security signal)
/wp-admin/images/admin.php 12 leave 404 (security signal)
/wp-content/uploads/index.php 11 leave 404 (security signal)
/rip.php 11 leave 404 (security signal)
/logout.php 10 leave 404 (security signal)
/wp-login.php/ 10 leave 404 (security signal)

How to apply the decisions

For each row with DECIDE:

  1. Inspect the path — is it a real legacy URL (old article slug, external referrer link) or accidentally-popular bot noise?
  2. If editorial: pick a deserving target from the existing archive-page roots: - /methods-of-business-design/ - /culture-means-thriving-teams/ - /fields-notes-from-business-design/ - /cinema/ - /photography/ - /observations/
  3. Add a 301 to ~/Code/dare-co-uk/_redirects: /<path> /<target> 301
  4. Commit + push; Cloudflare Pages redeploys in ~30s.

Bot-probe paths stay 404 — redirecting them rewards scanners. Section roots get index-page builds, not redirects, because the underlying content is stunning and deserves its own home.


Generated 2026-05-18 via dare_404_redirects_report.py. Companion to feedback_404_redirect_threshold_rule.


Automated recommendation — maturity ladder

Site housekeeping wants to become a scheduled script + intelligence engine. Criteria are set in the rule (feedback_404_redirect_threshold_rule); this report applies them. Maturity ladder for how the recommendations become action:

Today (v1 — ad-hoc) Tomorrow (v2 — programmatic + HITL) Future (v3 — decision engine)
Report generates daily, surfaces threshold hits Report adds confidence score + suggested target per row, opens weekly PR with proposed _redirects edits Engine auto-applies high-confidence redirects, queues medium-confidence for weekly batch review, escalates ambiguous
Dan reviews report manually when alerted Weekly cadence: 15 min review, approve/reject queued changes Quarterly: review engine’s calibration + edit criteria
_redirects edited by hand on a case-by-case basis _redirects PRs auto-drafted from approved rows _redirects PRs auto-merged for high-confidence; manual override always available

Criteria the report already delineates (the substrate v2/v3 build on):

v2 adds: a confidence score per editorial row (based on path-shape regex + historical hit pattern + the article corpus’ nearest-neighbour match for a sensible target), and a draft PR against _redirects per weekly cohort. v3 lets the engine merge the high-confidence cohort autonomously, with Dan reviewing the medium/low cohorts.

Each level inherits the same criteria — only the level of automation changes. The rule stays the source of truth; the engine becomes a faster applicator of it.

Source: dare_404_redirects_2026-05-18.md · Rendered 2026-05-18 12:53