dare.co.uk — daily hygiene
DARE.CO.UK · DAILY HYGIENE · 25 JUNE 2026
Site hygiene: YELLOW ⚠ — 20 ok, 6 warnings, 0 failures.
At a glance
| Check | Verdict | Summary |
|---|---|---|
| Domain registration expiry | ⚠ yellow | 1 domain(s) ≤60d: audreylam.com (57d) |
| R2 off-site backup (restic → rsync.net) | ✅ green | R2 offsite restic backup healthy — last clean run 10h ago; r2-buckets snapshot present in rsync.net repo (snapshot 3e0d9ca2), encrypted. |
| pa.gf.cx purchase-evidence tripwire | ✅ green | pa evidence tripwire GREEN: sampled 18 keys across amazon+ebay, all 18/18 live with real image content (buckets 157–416). |
| portfolio link-graph tripwire | ✅ green | link-graph GREEN: crawled 7 surfaces (pa-ebay, pa-amazon, payload, sandbox, growth, services, kb), all 169 intended links/clicks resolve. |
| deSEC DNS warm standby | ✅ green | deSEC standby fresh — 14 zone(s) refreshed 17h ago, gf.cx present, NS-flip ready. |
| 404 audit (pages + images) | ✅ green | 0% broken pages or images — clean run across all sampled article URLs and inline image refs. |
| Sitemap validation | ✅ green | 100.0% of sampled URLs return 200. |
| JSON-LD presence | ⚠ yellow | 93.3% of sampled URLs carry JSON-LD (target ≥95%). |
| SEO title + og: hygiene | ✅ green | 2/696 pages have SEO-title issues (0.3%). |
| CLAUDE.md follow-up triage | ✅ green | 16 follow-up(s) audited — 0 likely done, 1 decision pending, 5 parked, 10 open. |
| Canonical site-header rollout | ✅ green | 691/691 pages canonical (100%). |
| snapshots.gf.cx R2 push | ✅ green | All snapshot entries in last 48h have working R2 URLs across 22 surface(s). |
| snapshots.gf.cx freshness | ✅ green | Local index 9.81h old + dedup healthy + deploy line in log. Live should reflect the current state. |
| Dashboard inline thumbnails | ✅ green | Live has 102/102 thumb-pop spans (100% of local) — healthy. |
| Dashboard Site-Health windows | ✅ green | 0/3 window(s) with anchor data render real cards. No regression. |
| Content breadth + depth profile | ✅ green | 697 pages profiled — 227 stubs / 272 brief / 180 medium / 18 long-form; 192 without body image. |
| Body image coverage | ✅ green | 64/690 pages (9.3%) no body image — recover via dare_lost_image_audit |
| NextDNS security threats | ⚠ yellow | 6 threats blocked across 9 named devices · window -24h · breakdown: 6 ai-driven threat detection |
| NextDNS block rate | ✅ green | 13.6% queries blocked — 102,543 queries · 13,994 blocked · top reason: Goodbye Ads (10,610) · 30d baseline accruing (10 of 14 data points) |
| NextDNS device coverage | ⚠ yellow | 44.6% unidentified — 45,761 of 102,521 queries from unnamed devices · 9 named · window -24h |
| Burst-VM Linode billing | ✅ green | burst-vm: no instances, uninvoiced $2.24 |
| GSC URL Inspection (per-page verdict) | ⚠ yellow | 45/76 URLs indexed; non-blocking lag in others. · dare.co.uk: 25/39 indexed · other=1, discovered_not_indexed=6, crawled_not_indexed=7 · audreyinc.com: 19/36 indexed · redirect=1, crawled_not_indexed=4, other=12 · dogwood.house: 1/1 indexed |
| GSC week-over-week delta | ⚠ yellow | 3 property(ies) scored · dare.co.uk: ratio 0.0%→0.0% (+0.0pp) · clicks -25% / impr -24% · audreyinc.com: ratio 0.0%→0.0% (+0.0pp) · clicks +0% / impr +2% · dogwood.house: ratio 0.0%→0.0% (+0.0pp) · clicks +0% / impr +12% |
| GSC indexing-reasons CSV trend | ✅ green | dare.co.uk: 1236 not-indexed (+/-) · audreyinc.com: ? not-indexed (0 ingest) · dogwood.house: ? not-indexed (0 ingest) |
| GSC 404 cross-check vs our audit | ✅ green | Healthy: audit 0 live 404s; GSC 76 (was 75, +1, +1%) = historical/external URLs Google ages out. Static gap is expected, not drift. |
| Email health (DMARC/SPF/DKIM) | ✅ green | 7 green / 0 yellow / 0 red across 7 email-health checks. |
⚠ Domain registration expiry — YELLOW
1 domain(s) ≤60d: audreylam.com (57d)
- Detail (markdown):
dare_domain_expiry_2026-06-25.md - Detail (HTML):
dare_domain_expiry_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
domains=[{'domain': 'audreylam.com', 'expiry': '2026-08-21', 'days_left': 57}, {'domain': 'dognscarf.com', 'expiry': '2026-12-05', 'days_left': 163}, {'domain': 'audreyinc.com', 'expiry': '2027-01-17', 'days_left': 206}, {'domain': 'dareusa.com', 'expiry': '2027-03-04', 'days_left': 252}, {'domain': 'dogwoodhouse.org', 'expiry': '2027-03-21', 'days_left': 269}, {'domain': 'brooklynbrit.com', 'expiry': '2027-03-22', 'days_left': 270}, {'domain': 'xlab.studio', 'expiry': '2027-04-25', 'days_left': 304}, {'domain': 'dogwood.house', 'expiry': '2027-05-28', 'days_left': 337}, {'domain': 'dansellars.com', 'expiry': '2027-05-31', 'days_left': 340}, {'domain': 'audan.co', 'expiry': '2027-12-01', 'days_left': 524}, {'domain': 'xlabs.digital', 'expiry': '2028-02-19', 'days_left': 604}, {'domain': 'dare.uk', 'expiry': '2028-07-07', 'days_left': 743}, {'domain': 'gf.cx', 'expiry': '2030-07-20', 'days_left': 1486}, {'domain': 'dare.co.uk', 'expiry': '2032-03-15', 'days_left': 2090}],red=0,yellow=1,unknown=0
✅ R2 off-site backup (restic → rsync.net) — GREEN
R2 offsite restic backup healthy — last clean run 10h ago; r2-buckets snapshot present in rsync.net repo (snapshot 3e0d9ca2), encrypted.
- Detail (markdown):
dare_r2_offsite_restic_2026-06-25.md - Detail (HTML):
dare_r2_offsite_restic_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
last_sync_ts=2026-06-25T10:03:09-0400,last_sync_age_h=10.2,last_sync_ok=True,started_at=2026-06-25T10:00:05-0400,finished_at=2026-06-25T10:03:09-0400,duration_seconds=184,duration_human=3m04s,delta_vs_prev=1% slower,repo=sftp:rsyncnet:restic-corpora,repo_snapshot_id=3e0d9ca2,repo_snapshot_age_h=10.3,repo_error=None
✅ pa.gf.cx purchase-evidence tripwire — GREEN
pa evidence tripwire GREEN: sampled 18 keys across amazon+ebay, all 18/18 live with real image content (buckets 157–416).
- Detail (markdown):
dare_pa_evidence_2026-06-25.md - Detail (HTML):
dare_pa_evidence_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
sampled=18,ok_200=18,problems=0
✅ portfolio link-graph tripwire — GREEN
link-graph GREEN: crawled 7 surfaces (pa-ebay, pa-amazon, payload, sandbox, growth, services, kb), all 169 intended links/clicks resolve.
- Detail (markdown):
dare_linkgraph_2026-06-25.md - Detail (HTML):
dare_linkgraph_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
surfaces=7,links=169,problems=0,gated=0,unreachable=0
✅ deSEC DNS warm standby — GREEN
deSEC standby fresh — 14 zone(s) refreshed 17h ago, gf.cx present, NS-flip ready.
- Detail (markdown):
dare_desec_standby_2026-06-25.md - Detail (HTML):
dare_desec_standby_2026-06-25.html— surfaces in the dev-reports catalog after the next sync.
✅ 404 audit (pages + images) — GREEN
0% broken pages or images — clean run across all sampled article URLs and inline image refs.
- Detail (markdown):
dare_404_audit_2026-06-25.md - Detail (HTML):
dare_404_audit_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
broken_pages=0,broken_imgs=0
✅ Sitemap validation — GREEN
100.0% of sampled URLs return 200.
- Detail (markdown):
dare_sitemap_validate_2026-06-25.md - Detail (HTML):
dare_sitemap_validate_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
total_urls=1182,sampled=50,ok_200=50,rate=1.0,sitemap_ok=True,robots_ok=True
⚠ JSON-LD presence — YELLOW
93.3% of sampled URLs carry JSON-LD (target ≥95%).
- Detail (markdown):
dare_jsonld_presence_2026-06-25.md - Detail (HTML):
dare_jsonld_presence_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
sampled=30,valid_200=30,with_jsonld=28,coverage=0.9333
✅ SEO title + og: hygiene — GREEN
2/696 pages have SEO-title issues (0.3%).
- Detail (markdown):
dare_seo_title_audit_2026-06-25.md - Detail (HTML):
dare_seo_title_audit_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
audited=696,with_issues=2,by_issue={'og_image': 2}
✅ CLAUDE.md follow-up triage — GREEN
16 follow-up(s) audited — 0 likely done, 1 decision pending, 5 parked, 10 open.
- Detail (markdown):
dare_followup_audit_2026-06-25.md - Detail (HTML):
dare_followup_audit_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
total=16,likely_done=0,decision_pending=1,parked=5,open=10
✅ Canonical site-header rollout — GREEN
691/691 pages canonical (100%).
- Detail (markdown):
dare_header_audit_2026-06-25.md - Detail (HTML):
dare_header_audit_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
canonical=691,drift=0,no_header=0,total=691
✅ snapshots.gf.cx R2 push — GREEN
All snapshot entries in last 48h have working R2 URLs across 22 surface(s).
- Detail (markdown):
dare_snapshots_r2_push_2026-06-25.md - Detail (HTML):
dare_snapshots_r2_push_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
surfaces=[{'slug': 'antifragile-gf', 'total_entries': 23, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'antifragile-gf_2026-06-25_842f982.jpg'}, {'slug': 'brand-gf-cx', 'total_entries': 11, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'brand-gf-cx_2026-06-25_fbac34c.jpg'}, {'slug': 'brooklyn-gf-cx', 'total_entries': 11, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'brooklyn-gf-cx_2026-06-25_c8ddc84.jpg'}, {'slug': 'crm-gf-cx', 'total_entries': 11, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'crm-gf-cx_2026-06-25_142427.jpg'}, {'slug': 'cv-gf-cx', 'total_entries': 11, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'cv-gf-cx_2026-06-25_142451.jpg'}, {'slug': 'dash-gf-cx', 'total_entries': 61, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'dash-gf-cx_2026-06-25_cd56e77.jpg'}, {'slug': 'dash-reports', 'total_entries': 81, 'in_window': 4, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'dash-reports_2026-06-25_6311db8.jpg'}, {'slug': 'data-gf-cx', 'total_entries': 35, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'data-gf-cx_2026-06-25_df04686.jpg'}, {'slug': 'data-sourced', 'total_entries': 33, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'data-sourced_2026-06-25_df04686.jpg'}, {'slug': 'email-gf-cx', 'total_entries': 12, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'email-gf-cx_2026-06-25_7558645.jpg'}, {'slug': 'growth-gf-cx', 'total_entries': 19, 'in_window': 4, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'growth-gf-cx_2026-06-25_f95109f.jpg'}, {'slug': 'happiness-gf-cx', 'total_entries': 99, 'in_window': 5, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'happiness-gf-cx_2026-06-25_e4eb24f.jpg'}, {'slug': 'london-gf-cx', 'total_entries': 15, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'london-gf-cx_2026-06-25_552a60b.jpg'}, {'slug': 'pa-gf-cx', 'total_entries': 28, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'pa-gf-cx_2026-06-25_142151.jpg'}, {'slug': 'patterns-gf-cx', 'total_entries': 56, 'in_window': 5, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'patterns-gf-cx_2026-06-25_7414a9c.jpg'}, {'slug': 'radar-gf-cx', 'total_entries': 11, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'radar-gf-cx_2026-06-25_142437.jpg'}, {'slug': 'sandbox-fal', 'total_entries': 15, 'in_window': 4, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'sandbox-fal_2026-06-25_959c19f.jpg'}, {'slug': 'sandbox-gf-cx', 'total_entries': 16, 'in_window': 4, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'sandbox-gf-cx_2026-06-25_959c19f.jpg'}, {'slug': 'sandbox-one-pager', 'total_entries': 10, 'in_window': 4, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'sandbox-one-pager_2026-06-25_959c19f.jpg'}, {'slug': 'services-gf-cx', 'total_entries': 11, 'in_window': 4, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'services-gf-cx_2026-06-25_f798c24.jpg'}, {'slug': 'status-gf-cx', 'total_entries': 279, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'status-gf-cx_2026-06-25_bfbae4c.jpg'}, {'slug': 'status-transfer-windows', 'total_entries': 47, 'in_window': 3, 'missing_r2': 0, 'missing_examples': [], 'broken_url_count': 0, 'latest_broken': False, 'latest_filename': 'status-transfer-windows_2026-06-25_bfbae4c.jpg'}],total_missing_r2=0,total_broken_url=0,latest_broken_surfaces=[]
✅ snapshots.gf.cx freshness — GREEN
Local index 9.81h old + dedup healthy + deploy line in log. Live should reflect the current state.
- Detail (markdown):
dare_snapshots_freshness_2026-06-25.md - Detail (HTML):
dare_snapshots_freshness_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
local={'exists': True, 'mtime': '2026-06-25T10:30:09', 'age_hours': 9.81},dupes={'surfaces': [{'name': 'dash.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'dash.gf.cx/reports', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'patterns.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'data.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'data.gf.cx/sourced', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'pa.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'status.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'status.gf.cx/transfer-windows', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'happiness.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'antifragile.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'sandbox.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'sandbox.gf.cx/fal', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'sandbox.gf.cx/one-pager', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'growth.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'crm.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'radar.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'cv.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'srvc.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'email.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'brand.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'london.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}, {'name': 'brooklyn.gf.cx', 'thumbs': 2, 'unique_jpgs': 2, 'max_repeats': 1}], 'worst_dupe_run': 1, 'worst_surface': 'dash.gf.cx'}
✅ Dashboard inline thumbnails — GREEN
Live has 102/102 thumb-pop spans (100% of local) — healthy.
- Detail (markdown):
dare_dashboard_thumbs_2026-06-25.md - Detail (HTML):
dare_dashboard_thumbs_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
live={'chars': 2360670, 'thumb_pop_spans': 102, 'data_uris': 107, 'link_with_thumb_anchors': 192},local={'chars': 2358158, 'thumb_pop_spans': 102, 'data_uris': 107, 'link_with_thumb_anchors': 192},ratio_pct=100.0
✅ Dashboard Site-Health windows — GREEN
0/3 window(s) with anchor data render real cards. No regression.
- Detail (markdown):
dare_dashboard_windows_2026-06-25.md - Detail (HTML):
dare_dashboard_windows_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
windows_checked=3,windows_regressed=0,windows=[{'window': '7d', 'anchor_iso': '2026-06-18', 'anchor_rows': 0, 'expected_has_data': False, 'rendered_real': 0, 'rendered_pending': 1, 'regression': False}, {'window': '30d', 'anchor_iso': '2026-05-26', 'anchor_rows': 0, 'expected_has_data': False, 'rendered_real': 0, 'rendered_pending': 1, 'regression': False}, {'window': '90d', 'anchor_iso': '2026-03-27', 'anchor_rows': 0, 'expected_has_data': False, 'rendered_real': 0, 'rendered_pending': 1, 'regression': False}]
✅ Content breadth + depth profile — GREEN
697 pages profiled — 227 stubs / 272 brief / 180 medium / 18 long-form; 192 without body image.
- Detail (markdown):
dare_content_breadth_audit_2026-06-25.md - Detail (HTML):
dare_content_breadth_audit_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
total=697,by_bucket={'brief': 272, 'stub': 227, 'medium': 180, 'long-form': 18},by_section={'404.html': 1, 'about': 1, 'albums': 14, 'anti-spam-policy': 1, 'architecture': 43, 'archive': 3, 'books': 11, 'brands': 7, 'cinema': 85, 'contact.html': 1, 'culture-means-thriving-teams': 2, 'daring-acts': 66, 'dmca-policy': 1, 'fields-notes-from-business-design': 3, 'fine-arts': 44, 'future-media': 32, 'index.html': 1, 'industrial-design': 24, 'methods-of-business-design': 3, 'narrative': 5, 'new-york-city': 15, 'observations': 213, 'people': 45, 'photography': 36, 'places': 14, 'privacy-policy': 1, 'psychology': 4, 'sitemap': 1, 'templates': 1, 'user-interface': 13, 'users': 1, 'visual-communications': 3, 'writing': 2},no_image=192,no_image_by_bucket={'brief': 69, 'stub': 84, 'medium': 36, 'long-form': 3}
✅ Body image coverage — GREEN
64/690 pages (9.3%) no body image — recover via dare_lost_image_audit
- Detail (markdown):
dare_body_image_coverage_2026-06-25.md - Detail (HTML):
dare_body_image_coverage_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
total=690,no_image=64,pct_no_image=9.28,by_section={'observations': 30, 'architecture': 4, 'albums': 4, 'cinema': 3, 'photography': 3, 'daring-acts': 3, 'industrial-design': 2, 'books': 2, 'user-interface': 2, 'people': 2, 'dmca-policy': 1, 'privacy-policy': 1, 'brands': 1, 'sitemap': 1, 'anti-spam-policy': 1, 'future-media': 1, 'psychology': 1, 'fine-arts': 1, 'writing': 1}
⚠ NextDNS security threats — YELLOW
6 threats blocked across 9 named devices · window -24h · breakdown: 6 ai-driven threat detection
- Detail (markdown):
dare_nextdns_security_2026-06-25.md - Detail (HTML):
dare_nextdns_security_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
security_blocks=6,named_devices=9,window=-24h
✅ NextDNS block rate — GREEN
13.6% queries blocked — 102,543 queries · 13,994 blocked · top reason: Goodbye Ads (10,610) · 30d baseline accruing (10 of 14 data points)
- Detail (markdown):
dare_nextdns_block_rate_2026-06-25.md - Detail (HTML):
dare_nextdns_block_rate_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
total_queries=102543,blocked_queries=13994,block_rate_pct=13.65,history_points=10,window=-24h
⚠ NextDNS device coverage — YELLOW
44.6% unidentified — 45,761 of 102,521 queries from unnamed devices · 9 named · window -24h
- Detail (markdown):
dare_nextdns_device_coverage_2026-06-25.md - Detail (HTML):
dare_nextdns_device_coverage_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
total_queries=102521,unidentified_queries=45761,unidentified_pct=44.64,named_devices=9,window=-24h
✅ Burst-VM Linode billing — GREEN
burst-vm: no instances, uninvoiced $2.24
- Detail (markdown):
dare_burst_billing_2026-06-25.md - Detail (HTML):
dare_burst_billing_2026-06-25.html— surfaces in the dev-reports catalog after the next sync.
⚠ GSC URL Inspection (per-page verdict) — YELLOW
45/76 URLs indexed; non-blocking lag in others. · dare.co.uk: 25/39 indexed · other=1, discovered_not_indexed=6, crawled_not_indexed=7 · audreyinc.com: 19/36 indexed · redirect=1, crawled_not_indexed=4, other=12 · dogwood.house: 1/1 indexed
- Detail (markdown):
dare_gsc_inspect_2026-06-25.md - Detail (HTML):
dare_gsc_inspect_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
total_urls=76,bucket_counts={'indexed': 45, 'other': 13, 'discovered_not_indexed': 6, 'crawled_not_indexed': 11, 'redirect': 1},snapshots_missing=[]
⚠ GSC week-over-week delta — YELLOW
3 property(ies) scored · dare.co.uk: ratio 0.0%→0.0% (+0.0pp) · clicks -25% / impr -24% · audreyinc.com: ratio 0.0%→0.0% (+0.0pp) · clicks +0% / impr +2% · dogwood.house: ratio 0.0%→0.0% (+0.0pp) · clicks +0% / impr +12%
- Detail (markdown):
dare_gsc_delta_2026-06-25.md - Detail (HTML):
dare_gsc_delta_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
properties_scored=3,accruing=[],per_property={'dare.co.uk': {'old_pulled': '2026-06-19T23:56:55+00:00', 'new_pulled': '2026-06-25T01:23:47+00:00', 'old_window': '2026-03-21→2026-06-19', 'new_window': '2026-05-27→2026-06-24', 'clicks': {'old': 4, 'new': 3, 'pct': -25.0}, 'impressions': {'old': 2065, 'new': 1563, 'pct': -24.3}, 'ctr': {'old': 0.0019, 'new': 0.0019, 'pp': 0.0}, 'position': {'old': 22.51, 'new': 19.28, 'abs': -3.23}, 'indexed': {'old': 0, 'new': 0, 'pct': 0.0}, 'submitted': {'old': 12223, 'new': 12229, 'pct': 0.0}, 'ratio': {'old': 0.0, 'new': 0.0, 'pp': 0.0}}, 'audreyinc.com': {'old_pulled': '2026-06-18T18:44:41+00:00', 'new_pulled': '2026-06-25T01:23:49+00:00', 'old_window': '2026-05-21→2026-06-18', 'new_window': '2026-05-27→2026-06-24', 'clicks': {'old': 5, 'new': 5, 'pct': 0.0}, 'impressions': {'old': 542, 'new': 555, 'pct': 2.4}, 'ctr': {'old': 0.0092, 'new': 0.009, 'pp': -0.02}, 'position': {'old': 10.56, 'new': 10.28, 'abs': -0.28}, 'indexed': {'old': 0, 'new': 0, 'pct': 0.0}, 'submitted': {'old': 0, 'new': 0, 'pct': 0.0}, 'ratio': {'old': 0.0, 'new': 0.0, 'pp': 0.0}}, 'dogwood.house': {'old_pulled': '2026-06-18T18:44:47+00:00', 'new_pulled': '2026-06-25T01:23:49+00:00', 'old_window': '2026-05-21→2026-06-18', 'new_window': '2026-05-27→2026-06-24', 'clicks': {'old': 0, 'new': 0, 'pct': 0.0}, 'impressions': {'old': 8, 'new': 9, 'pct': 12.5}, 'ctr': {'old': 0, 'new': 0, 'pp': 0.0}, 'position': {'old': 37.62, 'new': 38.56, 'abs': 0.94}, 'indexed': {'old': 0, 'new': 0, 'pct': 0.0}, 'submitted': {'old': 0, 'new': 0, 'pct': 0.0}, 'ratio': {'old': 0.0, 'new': 0.0, 'pp': 0.0}}}
✅ GSC indexing-reasons CSV trend — GREEN
dare.co.uk: 1236 not-indexed (+/-) · audreyinc.com: ? not-indexed (0 ingest) · dogwood.house: ? not-indexed (0 ingest)
- Detail (markdown):
dare_gsc_csv_trend_2026-06-25.md - Detail (HTML):
dare_gsc_csv_trend_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
accruing=['audreyinc.com', 'dogwood.house'],flagged={},detail_paths=['/Users/dansellars/Downloads/gsc_csv_trend_dare.co.uk_2026-06-25.md', '/Users/dansellars/Downloads/gsc_csv_trend_audreyinc.com_2026-06-25.md', '/Users/dansellars/Downloads/gsc_csv_trend_dogwood.house_2026-06-25.md']
✅ GSC 404 cross-check vs our audit — GREEN
Healthy: audit 0 live 404s; GSC 76 (was 75, +1, +1%) = historical/external URLs Google ages out. Static gap is expected, not drift.
- Detail (markdown):
dare_gsc_404_drift_2026-06-25.md - Detail (HTML):
dare_gsc_404_drift_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
gsc_404=76,our_404=0,delta=76
✅ Email health (DMARC/SPF/DKIM) — GREEN
7 green / 0 yellow / 0 red across 7 email-health checks.
- Detail (markdown):
dare_email_health_2026-06-25.md - Detail (HTML):
dare_email_health_2026-06-25.html— surfaces in the dev-reports catalog after the next sync. - Metrics:
checks=7,green=7,yellow=0,red=0,domain=dare.co.uk
What this tells us
- One or more checks show measurable drift. None are P1 individually, but multiple yellows in a row warrant a deeper look — yellow is the leading indicator of red.
- See the per-check sections above for specifics; each detail report includes its own “what’s next”.
What’s next
- Re-runnable any time:
python3 ~/bin/dare_daily_hygiene.py. - Scheduled daily 07:30 local via
~/Library/LaunchAgents/uk.co.dare.daily-hygiene.plist. - Each detail report in the catalog (sync runs every 30 min from
~/Library/LaunchAgents/uk.co.dare.devreports-sync.plist). - Add more checks: register an adapter in
CHECKSinside~/bin/dare_daily_hygiene.py. Phase 2 candidates parked inPHASE2_PARKED(same file): Broken-link crawl (outbound), Image-naming audit, Content-freshness audit.
Generated 2026-06-25 20:30:34 via dare_daily_hygiene.py.
dare_daily_hygiene_2026-06-25.md · Rendered Built with — component scripts
dare_daily_hygiene.py— generated this reportseo_render_html.py— wraps the source.mdin the dash.gf.cx design language (+anchor_enricher.pyfor inline-link promotion & rollover thumbnails)dare_dev_reports_publish.py— bundles the day’s reports into the catalog and ships to dash.gf.cx/reports