{"meta":{"title":"Candid Creative Knowledge Base","description":"Atomic, sourced, confidence-flagged research notes underpinning Candid Creative practice.","total_entries":326,"total_topics":58,"rules":45,"reference":281,"generated_at":"2026-05-23T03:40:11.103Z","api":{"full_dump":"/api/kb/all","single_entry":"/api/kb/{slug}","ui_index":"/kb","ui_entry":"/kb/{slug}","ui_topic":"/kb/topic/{topic}","ui_kind":"/kb/kind/{rule|reference|roadmap-item|decision-record}"}},"topics":[{"value":"agency-methodology","count":77},{"value":"measurement","count":51},{"value":"core-web-vitals","count":49},{"value":"wordpress","count":39},{"value":"ai-citation","count":33},{"value":"platform-lock-in","count":29},{"value":"information-architecture","count":29},{"value":"page-builders","count":26},{"value":"editorial-discipline","count":26},{"value":"citation-practices","count":24},{"value":"regulatory-compliance","count":24},{"value":"open-data","count":24},{"value":"tech-stack","count":21},{"value":"data-portability","count":21},{"value":"data-infrastructure","count":20},{"value":"migration-mechanics","count":19},{"value":"schema-org","count":18},{"value":"content-architecture","count":18},{"value":"seo-content","count":17},{"value":"knowledge-base","count":17},{"value":"longevity-architecture","count":13},{"value":"navigation-design","count":12},{"value":"conversion-rate","count":10},{"value":"security-vulnerabilities","count":10},{"value":"geo","count":9},{"value":"accessibility","count":8},{"value":"hosting-platforms","count":7},{"value":"vertical-saas","count":7},{"value":"extractability","count":7},{"value":"e-e-a-t","count":7},{"value":"pricing-models","count":6},{"value":"framework-choice","count":6},{"value":"inp-optimization","count":6},{"value":"freshness","count":6},{"value":"crm-systems","count":6},{"value":"domain-registration","count":6},{"value":"redirect-mapping","count":5},{"value":"trust-signals","count":5},{"value":"nextjs","count":5},{"value":"b2b-buying","count":5},{"value":"forms-conversion","count":5},{"value":"content-extraction","count":4},{"value":"build-tooling","count":4},{"value":"ecommerce-platforms","count":4},{"value":"structured-content","count":4},{"value":"css-architecture","count":3},{"value":"local-seo","count":3},{"value":"cms-workflow","count":2},{"value":"rag-architecture","count":2},{"value":"ai-dev-productivity","count":2},{"value":"view-transitions","count":2},{"value":"aeo","count":1},{"value":"ai-search-citations","count":1},{"value":"image-optimization","count":1},{"value":"speculation-rules","count":1},{"value":"deployment","count":1},{"value":"headless-cms","count":1},{"value":"agentic-web","count":1}],"entries":[{"id":695,"slug":"migration-objection-handling-map","title":"Migration objection-handling map — sourced answers to every common client fear about migrating off WordPress","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["agency-methodology","migration-mechanics","pricing-models"],"updated_at":"2026-05-22T21:24:18.449Z","snippet":"**Use these verbatim in sales conversations and the public Migration Audit article.**\n\n**Fear: \"I'll lose my Google rankings.\"**\n> For a same-domain migration with a proper 1:1 redirect map, recovery "},{"id":694,"slug":"migration-pricing-bands-2026","title":"Candid migration pricing bands 2026: $3.5-7K brochure / $8-18K 50-page+100-post / $20-45K 200-page content-heavy; ACF/Elementor/WooCommerce multipliers","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["migration-mechanics","pricing-models"],"updated_at":"2026-05-22T21:24:18.445Z","snippet":"**Realistic fixed-fee bands for WP → modern-stack migrations (Candid Creative 2026 pricing):**\n\n| Site profile | Fixed-fee range | Timeline | Notes |\n|---|---|---|---|\n| 10-page brochure, no blog, Ast"},{"id":691,"slug":"live-preview-state-of-the-art-2026","title":"Live-preview state of the art (May 2026): Sanity Presentation most mature; Storyblok Visual Editor pioneered iframe pattern; TinaCMS only Git-based with true visual editing","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["cms-workflow"],"updated_at":"2026-05-22T21:24:18.438Z","snippet":"**Live-preview landscape as of May 2026:**\n\n- **Sanity Presentation tool** — production-ready with Next.js, Astro, Remix, Expo templates. Uses Content Source Maps + Vercel Stega for in-context overlay"},{"id":690,"slug":"cms-workflow-decision-matrix","title":"CMS workflow decision matrix — Sanity/Storyblok (weekly editors, visual preview); Keystatic (monthly, technical-adjacent); Markdown-in-Git (engineers only)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","content-extraction","cms-workflow"],"updated_at":"2026-05-22T21:24:18.434Z","snippet":"**The decision framework Candid uses for picking a CMS during migration:**\n\n| Client profile | Recommendation | Why |\n|---|---|---|\n| Edits weekly+, multiple editors, needs visual preview, non-technic"},{"id":689,"slug":"content-extraction-decision-tree","title":"Content extraction decision tree — WP REST API default, WXR XML fallback, direct DB only for hidden postmeta","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["migration-mechanics","content-extraction"],"updated_at":"2026-05-22T21:24:18.430Z","snippet":"**Decision tree for extracting WordPress content during migration:**\n\n- **WP REST API** (`/wp-json/wp/v2/posts`, `/pages`, `/media`) — **default choice** for any WP 4.7+ site. Reliable, supports custo"},{"id":688,"slug":"migration-hidden-killers-catalogue","title":"Migration hidden-killers catalogue — the seven failure modes that appear in every post-mortem","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["migration-mechanics","redirect-mapping","content-extraction"],"updated_at":"2026-05-22T21:24:18.426Z","snippet":"**The reproducible failure modes — appear in every credible migration post-mortem.**\n\n1. **The \"thousands of attachment URLs\" mistake.** A photographer's WP site with 800 portfolio images can have 5,0"},{"id":687,"slug":"rule-keep-migration-redirects-12-months","title":"RULE: Keep migration 301 redirects in place for at least 12 months; never less than 180 days (Google's explicit floor)","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["seo-content","migration-mechanics","redirect-mapping"],"updated_at":"2026-05-22T21:24:18.420Z","snippet":"**Rule:** All 301 redirects implemented during a WordPress migration remain in place for **at least 12 months**. Never less than 180 days under any circumstances.\n\n**Why (Google's own framing):** *\"Ma"},{"id":686,"slug":"redirect-map-deliverable-spec","title":"Redirect map deliverable spec — CSV of old→new URL with notes; sources are XML sitemap + Screaming Frog + GSC + Ahrefs/Semrush","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["migration-mechanics","redirect-mapping"],"updated_at":"2026-05-22T21:24:18.416Z","snippet":"**The redirect map is the single most consequential deliverable in a same-domain migration.**\n\n**Format:** CSV with columns `old_url, new_url, status_code, notes`. Default `status_code = 301`.\n\n**Buil"},{"id":685,"slug":"same-domain-migration-recovery-timeline","title":"Same-domain CMS migration with proper 1:1 redirects: 2-4 weeks of crawl turbulence; 4-8 weeks to full stability. The 523-day stat is domain-to-domain.","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["seo-content","migration-mechanics","redirect-mapping"],"updated_at":"2026-05-22T21:24:18.412Z","snippet":"**Realistic recovery timeline (confidence-labeled):**\n\n- **Same-domain CMS swap, complete 1:1 redirects, no URL restructure:** Plan for 2-4 weeks of crawl turbulence and 4-8 weeks to full stability. ("},{"id":684,"slug":"when-not-to-migrate-counter-cases","title":"When NOT to migrate a client off WordPress — the honest counter-cases Candid Creative will refuse","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["agency-methodology","migration-mechanics","pricing-models"],"updated_at":"2026-05-22T21:24:18.408Z","snippet":"**Candid Creative will recommend NOT migrating in these cases:**\n\n1. **The site is fine; the client just heard \"WordPress is slow\" on a podcast.** Diagnose. Often the fix is $50/mo of better hosting +"},{"id":683,"slug":"rule-lead-with-paid-migration-audit","title":"RULE: Lead WordPress migration sales with a $1,250 fixed-price Migration Audit. Quote the build fixed-price only after the audit completes.","kind":"rule","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["agency-methodology","migration-mechanics","pricing-models"],"updated_at":"2026-05-22T21:24:18.405Z","snippet":"**Rule:** Every Candid Creative WordPress migration engagement begins with a paid Migration Audit & Risk Register at **$1,250 fixed**.\n\n**Audit deliverables (all in one document):**\n\n1. **Full URL inv"},{"id":682,"slug":"nextjs-cwv-10pp-drop-fid-to-inp-transition","title":"Next.js suffered a 10 percentage-point CWV drop when FID was replaced by INP (March 2024) — \"modern stack\" is not synonymous with \"fast\"","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["core-web-vitals","framework-choice","inp-optimization"],"updated_at":"2026-05-22T21:24:18.401Z","snippet":"**Claim:** Per the 2024 Web Almanac Performance chapter, Fig. 9.3: *\"Several technologies were significantly impacted, including a 19% drop for 1C-Bitrix, a 10% drop for Next.js (a React-based framewo"},{"id":679,"slug":"managed-wp-ttfb-hostingstep-2025","title":"Managed WordPress host TTFB benchmarks (HostingStep 2025, 34 hosts, 1,960+ days of 24/7 monitoring)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["core-web-vitals","wordpress","hosting-platforms"],"updated_at":"2026-05-22T21:24:18.395Z","snippet":"**Source:** HostingStep 2025 benchmark, hostingstep.com/wordpress-hosting-benchmarks/. 24/7 Pingdom monitoring of identical WordPress test installs, US-East probe.\n\n**TTFB (p75 mobile-equivalent, US):"},{"id":677,"slug":"wp-gutenberg-managed-host-matches-astro","title":"A well-optimized WordPress + Gutenberg + Kadence/GeneratePress site on managed hosting can plausibly match an Astro-on-Cloudflare site in CWV","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["core-web-vitals","wordpress","hosting-platforms"],"updated_at":"2026-05-22T21:24:18.390Z","snippet":"**Claim:** A WordPress installation configured with Gutenberg-only (no Elementor/Divi/WPBakery), a lightweight theme (Kadence, GeneratePress, Hello, Blocksy), running on managed hosting (Kinsta, WP En"},{"id":676,"slug":"wordpress-cwv-causal-attribution-2026","title":"WordPress CWV gap causal decomposition (May 2026): ~40-50% hosting/TTFB, ~20-30% page builders, ~15-20% plugins, ~5-10% core, ~5-10% theme","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["core-web-vitals","wordpress","page-builders","hosting-platforms"],"updated_at":"2026-05-22T21:24:18.386Z","snippet":"**Best decomposition the public data supports:**\n\n| Factor | Share of gap | Evidence | Confidence |\n|---|---|---|---|\n| **Hosting / TTFB** | ~40-50% | Only 32% of WP origins have good TTFB (CoreDash c"},{"id":674,"slug":"ai-search-citation-direct-evidence-thin-2026","title":"AI search citation likelihood — direct evidence is thin; indirect evidence (overlap with organic top 10) is moderate. Speed is not a known direct lever.","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["ai-citation","aeo","ai-search-citations"],"updated_at":"2026-05-22T21:24:18.381Z","snippet":"**Direct evidence:**\n\n- Dan Taylor (SALT.agency), Search Engine Land (Jan 13, 2026), n=107,352 webpages in AI Overviews / AI Mode. Spearman correlation: LCP r = -0.12 to -0.18 (weak negative); CLS r ="},{"id":673,"slug":"smb-5k-vs-20k-build-decision-framework","title":"$5K WordPress refresh vs $20K custom build — performance alone does not justify the $15K delta","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["tech-stack","conversion-rate","pricing-models"],"updated_at":"2026-05-22T21:24:18.377Z","snippet":"**Decision framework for KW SMB clients deciding between a $5K WordPress refresh and a $20K custom build.**\n\n**Stage 1 — do this regardless of which path:**\n\n- Measure first. PageSpeed Insights / CrUX"},{"id":672,"slug":"stats-not-supported-by-evidence","title":"Speed/conversion stats commonly cited but NOT supported by primary evidence in 2026 — Candid will not quote these","kind":"rule","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["editorial-discipline","citation-practices","conversion-rate"],"updated_at":"2026-05-22T21:24:18.373Z","snippet":"**Rule:** Do not quote these statistics in sales conversations or marketing copy:\n\n1. **\"A 1-second delay reduces conversions by 7% across all sites.\"** Traces to Akamai/SOASTA 2017 retail data ([[aka"},{"id":671,"slug":"contentsquare-inp-2023-25pct-conversion-gap","title":"Contentsquare 2023 (n=997 customer sites): Good INP retail users converted 2.5% vs 2.0% for Poor (25% relative lift); +45% on desktop","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["inp-optimization","conversion-rate"],"updated_at":"2026-05-22T21:24:18.369Z","snippet":"**Claim (Contentsquare, Rich Bentley, Nov 8 2023):** *\"that's a 25% better conversion rate for users with good INP, which could equate to millions of dollars depending on your business.\"*\n\n- Retail co"},{"id":670,"slug":"google-neural-net-bounce-mobile-2018","title":"Google neural-net (Think with Google, 2018): mobile load 1→3s = +32% bounce probability; 1→5s = +90%; 1→10s = +123%","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["measurement","conversion-rate"],"updated_at":"2026-05-22T21:24:18.365Z","snippet":"**Claim:** Google's neural-net analysis of 11 million mobile landing pages (Think with Google, 2018, 213 countries, 90% prediction accuracy):\n\n- Mobile load 1s → 3s: +32% bounce probability.\n- Mobile "},{"id":669,"slug":"akamai-soasta-2017-100ms-7pct-mobile","title":"Akamai/SOASTA (2017, ~10B visits): 100ms delay = -2.4% desktop / -7.1% smartphone conversions; 2s delay = -36.5% desktop / -26.2% mobile","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["measurement","conversion-rate"],"updated_at":"2026-05-22T21:24:18.362Z","snippet":"**Claim:** Akamai's 2017 *State of Online Retail Performance* analyzed ~10 billion user visits across top online retailers.\n\n- 100ms delay → -2.4% desktop, -7.1% smartphone, -3.8% tablet conversions.\n"},{"id":667,"slug":"economic-times-43pct-bounce-reduction-2021","title":"The Economic Times (2021): LCP 4.5s→2.5s, CLS 0.25→0.09 → -43% bounce site-wide","kind":"reference","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["core-web-vitals","conversion-rate"],"updated_at":"2026-05-22T21:24:18.356Z","snippet":"**Claim:** The Economic Times (India) brought LCP from 4.5s to 2.5s and CLS from 0.25 to 0.09 (passing all CWV thresholds). **-43% bounce rate** site-wide.\n\n**Source:** web.dev/case-studies/economic-t"},{"id":666,"slug":"renault-1s-lcp-14pp-bounce-2021","title":"Renault (2021): 1s LCP improvement → -14 ppt bounce rate, +13% conversions (regression analysis, multi-month, millions of sessions)","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["core-web-vitals","conversion-rate"],"updated_at":"2026-05-22T21:24:18.352Z","snippet":"**Claim:** Renault analyzed 4 months of data across multi-million sessions. A 1-second LCP improvement was associated with **-14 percentage points of bounce rate and +13% conversions.**\n\n**Source:** w"},{"id":665,"slug":"redbus-inp-7pct-sales-2023","title":"redBus (2023): INP improved ~72% on search page → +7% sales (6-7.2% CR uplift across operating countries)","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["core-web-vitals","inp-optimization","conversion-rate"],"updated_at":"2026-05-22T21:24:18.348Z","snippet":"**Claim:** redBus (India) optimized the date-change interaction on the search page, improving INP by ~72%. Outcome: **+7% sales**, with 6-7.2% CR uplift in operating countries.\n\n**Source:** web.dev/ca"},{"id":664,"slug":"rakuten24-cwv-conversion-33pct-2022","title":"Rakuten 24 (2022 A/B test): CWV optimization → +33.13% conversion rate, +53.37% revenue per visitor, -35.12% exit rate","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["core-web-vitals","citation-practices","conversion-rate"],"updated_at":"2026-05-22T21:24:18.345Z","snippet":"**Claim:** Rakuten 24 (Japan) ran an A/B test in 2022 optimizing Core Web Vitals: CLS improved 92.7%, FID 7.95%, FCP 8.45%, TTFB 18.03%, ~0.4s LCP gain.\n\n**Outcome:** **+33.13% conversion rate, +53.37"},{"id":663,"slug":"rule-avoid-astro-db-as-strategic-bet","title":"RULE: Don't recommend Astro DB / Astro Studio as a strategic platform bet — Studio was wound down late 2024","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["tech-stack","data-infrastructure","rag-architecture"],"updated_at":"2026-05-22T21:24:18.341Z","snippet":"**Rule:** Do not recommend Astro DB or Astro Studio as the data layer for client work.\n\n**Why:** Astro Studio (the hosted DB platform) was wound down in late 2024; existing databases were deleted on o"},{"id":662,"slug":"rag-when-it-pays-off-50-pages-threshold","title":"RAG on a marketing site only pays off above ~50 pages of substantive content AND when visitor questions don't map cleanly to navigation","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["knowledge-base","rag-architecture"],"updated_at":"2026-05-22T21:24:18.338Z","snippet":"**Threshold for when RAG pays off on a client marketing site:**\n\n- 50+ pages of substantive content (knowledge base, docs, case studies).\n- User questions don't map cleanly to navigation (complex serv"},{"id":661,"slug":"rule-pay-for-claude-code-plus-cursor-or-copilot","title":"RULE: Every Candid developer gets paid Claude Code + Cursor (or Copilot). ~$30-40/mo/person is not a real number against the productivity lift.","kind":"rule","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["agency-methodology","ai-dev-productivity"],"updated_at":"2026-05-22T21:24:18.335Z","snippet":"**Rule:** Every developer at Candid gets paid Claude Code Pro ($20/mo) **and** either Cursor ($20/mo) or VS Code + Copilot ($10/mo).\n\n**Why:** Total cost ~$30-40/mo/person. Against any plausible produ"},{"id":660,"slug":"ai-dev-productivity-realistic-ceiling-2026","title":"AI-assisted dev productivity 2026: published evidence ranges from 21-28% speedup (GovTech) to 19% slowdown (METR RCT) — honest ceiling is 1.3-1.7× for fluent users","kind":"reference","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["agency-methodology","ai-dev-productivity"],"updated_at":"2026-05-22T21:24:18.331Z","snippet":"**Published research range — three primary sources:**\n\n- **GovTech Singapore GitHub Copilot study (arXiv:2409.17434):** *\"coding/tasks speed increased by 21-28%\"*.\n- **Longitudinal arXiv:2509.19708 (1"},{"id":659,"slug":"edge-vs-origin-cloudflare-default-for-smb","title":"For sub-100k pageviews/mo SMB sites, Cloudflare Pages + Workers is default; flip only when Postgres connection pooling or existing Vercel contract","kind":"reference","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["tech-stack","hosting-platforms"],"updated_at":"2026-05-22T21:24:18.327Z","snippet":"**Latency math for a KW SMB serving primarily Ontario traffic:**\n\n- Cloudflare PoP in Toronto → user: 5-15ms\n- Vercel iad1 (Virginia) → Ontario user: 25-40ms\n- Single origin in Toronto VPS → Ontario u"},{"id":658,"slug":"image-pipeline-avif-webp-fetchpriority-2026","title":"Candid image pipeline 2026: AVIF source / WebP fallback / JPEG last; fetchpriority=\"high\" on LCP image only; explicit dimensions always","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","image-optimization"],"updated_at":"2026-05-22T21:24:18.324Z","snippet":"**Standard pipeline (every Candid build):**\n\n- Source format: **AVIF** (Q ~50-60) for hero/photography, **WebP** for everything else, JPEG fallback.\n- `<picture>` element with type negotiation, AVIF s"},{"id":657,"slug":"scheduler-yield-limited-baseline-may-2026","title":"scheduler.yield() is Limited Availability — Chrome 129+, Edge, Firefox; Safari has not shipped. Use scheduler-polyfill.","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["inp-optimization","build-tooling"],"updated_at":"2026-05-22T21:24:18.320Z","snippet":"**Claim:** `scheduler.yield()` for breaking up long tasks (any client-side work over ~50ms) is Limited Availability as of May 2026.\n\n**Verbatim (MDN Scheduler.yield page):** *\"Limited availability — T"},{"id":656,"slug":"inp-150ms-target-not-200ms-floor","title":"Candid build standard: INP ≤ 150ms target (200ms is the failing floor); LCP ≤ 2.0s; CLS ≤ 0.05","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","inp-optimization"],"updated_at":"2026-05-22T21:24:18.317Z","snippet":"**Rule:** Set internal performance budgets above Google's \"Good\" thresholds:\n\n- **LCP ≤ 2.0s** (don't aim for 2.5s — that's the failing threshold)\n- **INP ≤ 150ms** (200ms is \"Good\", so aim 50ms insid"},{"id":655,"slug":"tailwind-v4-oxide-stable-jan-2025","title":"Tailwind v4 (January 2025) — Oxide engine; CSS-first @theme config; ~3.5× faster full builds, ~8× faster incrementals","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["css-architecture","build-tooling"],"updated_at":"2026-05-22T21:24:18.313Z","snippet":"**Claim:** Tailwind v4 released January 2025. Per Tailwind Labs' Catalyst-project benchmark (tailwindcss.com/blog/tailwindcss-v4): *\"full rebuilds to be over 3.5x faster, and incremental builds to be "},{"id":654,"slug":"speculation-rules-moderate-eagerness-default","title":"Speculation Rules with eagerness:\"moderate\" is the 2026 default for instant navigation; ~82% LCP improvement in CoreDash field data","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","speculation-rules"],"updated_at":"2026-05-22T21:24:18.310Z","snippet":"**Claim:** Per Arjen Karel's CoreDash field data (corewebvitals.io): *\"Across sites monitored by CoreDash, prerendered navigations have a p75 LCP of 320ms compared to 1,800ms for standard navigations "},{"id":653,"slug":"view-transitions-cross-doc-limited-no-firefox","title":"Cross-document View Transitions are Limited Availability — Chrome/Edge 126+, Safari 18.2+, Firefox not yet shipped","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["view-transitions","css-architecture"],"updated_at":"2026-05-22T21:24:18.307Z","snippet":"**Claim:** Cross-document View Transitions (`@view-transition { navigation: auto; }`) are Limited Availability as of May 2026.\n\n**Verbatim (MDN `@view-transition` page, updated April 20, 2026):** *\"Th"},{"id":652,"slug":"view-transitions-same-doc-baseline-oct-2025","title":"Same-document View Transitions became Baseline Newly Available on October 14, 2025 (Firefox 144)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["view-transitions","css-architecture"],"updated_at":"2026-05-22T21:24:18.303Z","snippet":"**Claim:** Same-document View Transitions reached Baseline Newly Available on October 14, 2025, when Firefox 144 shipped support — joining Chrome 111+, Edge 111+, Safari 18+.\n\n**Verbatim (web.dev, Oct"},{"id":651,"slug":"react-compiler-1-0-stable-oct-2025","title":"React Compiler 1.0 went stable October 7, 2025; battle-tested on Meta apps and fully production-ready","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["tech-stack","inp-optimization","build-tooling"],"updated_at":"2026-05-22T21:24:18.297Z","snippet":"**Claim:** React Compiler 1.0 released stable October 7, 2025.\n\n**Verbatim (react.dev):** *\"We are releasing the compiler's first stable release today... The compiler has been battle tested on major a"},{"id":650,"slug":"nextjs-16-cache-components-october-2025","title":"Next.js 16 (October 2025) made Partial Prerendering production via \"Cache Components\" with dynamic-by-default semantics","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["tech-stack","framework-choice","build-tooling"],"updated_at":"2026-05-22T21:24:18.291Z","snippet":"**Claim:** Next.js 16 (released October 2025) shipped:\n\n- **Cache Components / PPR** is now the default story: everything is dynamic by default, caching is opt-in via the `\"use cache\"` directive with "},{"id":649,"slug":"astro-6-stable-march-2026","title":"Astro 6 went stable in March 2026; removes legacy APIs (getEntryBySlug, getDataEntryById, Astro.glob, Astro.canonicalURL)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["tech-stack","framework-choice"],"updated_at":"2026-05-22T21:24:18.284Z","snippet":"**Claim:** Astro 6.0 released stable in March 2026. Major changes vs Astro 5: removed legacy `getEntryBySlug`, `getDataEntryById`, `Astro.glob`, `Astro.canonicalURL` APIs; tightens around the v5 Conte"},{"id":648,"slug":"cloudflare-acquires-astro-jan-2026","title":"Cloudflare acquired The Astro Technology Company on January 16, 2026 — strategic alignment for Candid's default stack","kind":"reference","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["framework-choice","hosting-platforms"],"updated_at":"2026-05-22T21:24:18.279Z","snippet":"**Claim:** Cloudflare announced on January 16, 2026 that it had acquired The Astro Technology Company.\n\n**Verbatim (Cloudflare press release):** *\"we're going to ensure Astro continues to be the best "},{"id":647,"slug":"rule-prefer-astro-cloudflare-default-marketing-site","title":"RULE: Default stack for new marketing-site work is Astro 5/6 + Tailwind v4 on Cloudflare Pages","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["tech-stack","framework-choice","hosting-platforms"],"updated_at":"2026-05-22T21:24:18.272Z","snippet":"**Rule:** Every new Candid Creative engagement for a marketing site, knowledge-base, docs site, or local-service business site starts with Astro 5/6 + Tailwind v4 deployed on Cloudflare Pages/Workers."},{"id":646,"slug":"research-brief-wp-migration-playbook","title":"Research brief: The Candid Creative WordPress Migration Playbook (piece 19)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["migration-mechanics","redirect-mapping","content-extraction","pricing-models"],"updated_at":"2026-05-22T21:24:18.263Z","snippet":"**Status:** Research material + productization plan — not a finished article. Compiled May 22, 2026.\n\n## TL;DR\n\n- For most small-business WordPress sites with a blog (10-200 pages), the right target s"},{"id":645,"slug":"research-brief-wp-builders-vs-modern-stacks-2026","title":"Research brief: WordPress + Page Builders vs Modern Custom Stacks — sourced performance comparison (piece 18)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["core-web-vitals","wordpress","page-builders","hosting-platforms"],"updated_at":"2026-05-22T21:24:18.257Z","snippet":"**Status:** Refresh of [[research-brief-case-against-page-builders]] and [[research-brief-page-speed-moat]] using November 2025 CrUX Tech Report data. Compiled May 22, 2026.\n\n## TL;DR\n\n- WordPress (46"},{"id":644,"slug":"research-brief-performance-revenue-evidence","title":"Research brief: Website Performance & Revenue — defensible evidence for KW small-business owners (piece 17)","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["core-web-vitals","measurement","citation-practices","conversion-rate"],"updated_at":"2026-05-22T21:24:18.247Z","snippet":"**Status:** Research material — not a finished article. Compiled May 22, 2026.\n\n## TL;DR\n\n- Faster pages move money, but the size of the effect is sector- and severity-dependent. See [[deloitte-google"},{"id":643,"slug":"research-brief-2026-build-standards","title":"Research brief: Candid Creative 2026 Build-Standards — web stack decision framework for SMB marketing sites & lightweight apps (piece 16)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["tech-stack","agency-methodology","framework-choice"],"updated_at":"2026-05-22T21:24:18.228Z","snippet":"**Status:** Research material — not a finished article. Compiled May 22, 2026.\n\n## TL;DR\n\n- **Default stack for 90% of Candid Creative work in 2026:** Astro 5/6 with the Content Layer API, deployed on"},{"id":642,"slug":"sej-892-migrations-clarification-domain-vs-cms","title":"Clarification: the SEJ 892-migration study explicitly measures domain-to-domain moves, NOT same-domain CMS swaps","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["migration-mechanics","citation-practices"],"updated_at":"2026-05-22T21:23:33.817Z","snippet":"**Claim:** Dan Taylor's Search Engine Journal study, *\"How Long Should An SEO Migration Take? [Study Updated]\"* (published Jan 9, 2025; data collated Oct 22, 2024; n=892), explicitly measures **domain"},{"id":641,"slug":"cutover-pattern-low-risk-same-domain","title":"Low-risk cutover pattern for same-domain CMS migration — 2-week pre-flight, DNS TTL 300s, monitor 48h, keep WP firewalled 30 days","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["deployment","migration-mechanics"],"updated_at":"2026-05-22T21:23:33.813Z","snippet":"**Standard low-risk cutover for a CMS-only migration on the same domain:**\n\n1. **Build on `staging.example.com`** with `noindex` enforced at the HTTP-header level (NOT just robots.txt — robots.txt doe"},{"id":640,"slug":"feature-parity-replacements-wp-to-modern","title":"Feature-parity replacements for common WordPress plugins (forms, SEO, search, comments, commerce, membership, newsletter, analytics)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["tech-stack","migration-mechanics"],"updated_at":"2026-05-22T21:23:33.809Z","snippet":"**Feature-parity replacement table for WP migrations:**\n\n| WordPress plugin/feature | Replacement | Notes |\n|---|---|---|\n| Contact Form 7 / Gravity Forms | Resend + Next.js server actions, or Web3For"},{"id":639,"slug":"bricks-builder-cleanest-output-2026","title":"Bricks Builder produces the cleanest output of the WordPress visual builders; recommend it only when client absolutely cannot work in Gutenberg","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["wordpress","page-builders"],"updated_at":"2026-05-22T21:23:33.799Z","snippet":"**Claim:** Among WordPress visual page builders, Bricks Builder produces the cleanest HTML/CSS/JS output — comparable to Gutenberg on simple pages, with 95+ PageSpeed Insights typical (PageBuildLab, P"},{"id":638,"slug":"page-builder-market-share-2025-elementor-43pct","title":"WordPress page-builder market share, 2025 Web Almanac: Elementor 43% (down from 56% in 2024); Gutenberg 18% (up from ~12%); WPBakery 13%; Divi 10%","kind":"reference","scope":"business","status":"current","audiences":["kevin","candid-team"],"topics":["wordpress","page-builders"],"updated_at":"2026-05-22T21:23:33.795Z","snippet":"**Source:** 2025 Web Almanac, CMS chapter, Fig. 12.6.\n\n| Builder | 2025 share of WP sites (mobile) | 2024 share | Direction |\n|---|---|---|---|\n| Elementor | **43%** | 56% | ⬇ losing share fast |\n| Wo"},{"id":637,"slug":"wordpress-median-js-528kb-counterintuitive","title":"WordPress median mobile JS payload is 528 KB — smaller than Wix (1,462 KB) and Squarespace (1,314 KB), yet WordPress performs worse in the field","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["core-web-vitals","wordpress","page-builders"],"updated_at":"2026-05-22T21:23:33.790Z","snippet":"**Claim (2024 + 2025 Web Almanac, CMS chapter, Fig. 12.12):**\n\n| CMS | Median mobile JS (KB) | Median desktop JS (KB) | Lighthouse mobile (2023→2024→2025) |\n|---|---|---|---|\n| WordPress | **528** | 5"},{"id":636,"slug":"platform-cwv-pass-rates-nov-2025","title":"Platform mobile CWV pass rates, November 2025 CrUX Tech Report (SEJ analysis, Dec 2025)","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["core-web-vitals","wordpress","page-builders"],"updated_at":"2026-05-22T21:23:33.783Z","snippet":"**Mobile CWV pass rate (Nov 2025), all-three-thresholds, per the HTTP Archive CrUX Technology Report, summarized by Search Engine Journal December 2025:**\n\n| CMS | Nov 2025 | Jun 2025 | YoY direction "},{"id":635,"slug":"cwv-tiebreaker-not-major-ranking-factor","title":"Core Web Vitals is a tiebreaker-class Google ranking factor, not a heavy lever — independent studies (Perficient, AWR, Backlinko) corroborate","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["seo-content","core-web-vitals"],"updated_at":"2026-05-22T21:23:33.764Z","snippet":"**Claim:** Independent studies consistently find CWV correlates with rank but is not a heavy weight.\n\n**Primary sources:**\n\n- **Google's own framing (John Mueller, Search Central documentation):** CWV"},{"id":634,"slug":"rule-publish-corrections-log-and-retraction-policy","title":"RULE: Publish a public corrections log + retraction policy. A correction without a process change is theater.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["editorial-discipline","citation-practices","trust-signals"],"updated_at":"2026-05-22T20:51:27.069Z","snippet":"**Rule:** Every Candid Creative public artifact (website, KB, client deliverable) is governed by a **public corrections log** + **retraction policy** following the [[retraction-correction-playbook]]. "},{"id":633,"slug":"rule-capture-archive-snapshot-at-citation-time","title":"RULE: Capture an archive snapshot (Perma.cc / archive.org) at the moment of citing any web source. Quote verbatim.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["agency-methodology","longevity-architecture","citation-practices"],"updated_at":"2026-05-22T20:51:27.065Z","snippet":"**Rule:** At the moment of citing any web source in Candid content, **capture an archive snapshot** (Perma.cc preferred; archive.org Save Page Now as fallback). Include both URLs in the citation. **Qu"},{"id":632,"slug":"rule-every-objective-claim-sourced-with-confidence-label","title":"RULE: Every objective claim in Candid content carries a named source + date + verbatim quote ≤25 words + confidence label","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:27.061Z","snippet":"**Rule:** Every objective claim in Candid Creative client deliverables, KB entries, and Candid's own public writing carries:\n\n1. A **named source** (person + institution where applicable)\n2. A **publi"},{"id":631,"slug":"foundation-roadmap-15-pieces-closure","title":"CANDID REFERENCE: how the 15-brief foundation roadmap connects — the throughline from strategic frame to editorial layer","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","editorial-discipline"],"updated_at":"2026-05-22T20:51:27.055Z","snippet":"**The 15 pieces form a system, not a list. End-to-end:**\n\n- **Pieces 1-4 (strategic frame):** Brief 2 ([[research-brief-marketing-sites-that-do-something]]) sets the negative case — most marketing sit"},{"id":630,"slug":"link-rot-mitigation-9-step-plan","title":"CANDID REFERENCE: 9-step link-rot mitigation plan — archive on capture, verbatim quote, persistent IDs, quarterly check","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["longevity-architecture","citation-practices"],"updated_at":"2026-05-22T20:51:27.050Z","snippet":"**Empirical assumption:** any web citation has a meaningful probability of breaking within 5 years (Zittrain 2014, NYT 15-year half-life — [[nyt-link-half-life-15-years-13pct-content-drift]]).\n\n## The"},{"id":629,"slug":"retraction-correction-playbook","title":"CANDID REFERENCE: retraction/correction playbook — 4 magnitudes from typo to fundamental retraction (adapted from COPE)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["editorial-discipline","citation-practices","trust-signals"],"updated_at":"2026-05-22T20:51:27.045Z","snippet":"**Adapted from COPE's August 2025 guidelines ([[cope-retraction-guidelines-correct-not-punish]]) + Trust Project + AP standards.**\n\n| Magnitude | Response | Visible? |\n|---|---|---|\n| Typo, broken lin"},{"id":628,"slug":"what-to-source-checklist","title":"CANDID REFERENCE: \"what to source\" checklist — Must / Should / Doesn't need","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:27.041Z","snippet":"**The Candid \"what needs sourcing\" decision matrix.**\n\n## Must source\n\n- Statistics, percentages, dollar amounts, dates, counts\n- Direct or paraphrased quotes from named people/organizations\n- Attribu"},{"id":627,"slug":"citation-pattern-library-8-patterns-2026","title":"CANDID REFERENCE: 8-pattern citation library — inline links, hover footnotes, end-of-section, archive pairs, schema","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:27.037Z","snippet":"**The Candid citation pattern library. Pick the pattern that matches the artifact, not based on writer preference.**\n\n| Pattern | When to use | Tradeoff |\n|---|---|---|\n| Inline link in running prose "},{"id":626,"slug":"confidence-label-taxonomy-7-label-2026","title":"CANDID REFERENCE: 7-label confidence taxonomy — Verified / Industry-consensus / Single-source / Estimated / Author's view / Contested / Stale","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:27.029Z","snippet":"**The canonical Candid Creative confidence-label taxonomy. Every existing KB entry uses an informal version of this; this entry is the formal source-of-truth going forward.**\n\n| Label | Definition | E"},{"id":625,"slug":"cope-retraction-guidelines-correct-not-punish","title":"COPE Retraction Guidelines (Aug 2025): \"The purpose of retraction is to correct the literature and ensure its integrity, not to punish the authors\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:27.023Z","snippet":"**Quote (Committee on Publication Ethics retraction guidelines, August 2025 update):**\n\n> \"The purpose of retraction is to correct the literature and ensure its integrity, **not to punish the authors*"},{"id":624,"slug":"trust-project-mirror-8-point-trust-lift","title":"Trust Project / Reach Plc UK: trust in The Mirror jumped 8% after adding Trust Indicators","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["measurement","trust-signals"],"updated_at":"2026-05-22T20:51:27.013Z","snippet":"**Quote (Trust Project):**\n\n> \"Across two surveys, Reach Plc (UK) found that trust in its flagship outlet, **The Mirror, jumped eight percent** after it added the Trust Indicators to its site.\"\n\nAnn G"},{"id":623,"slug":"google-retired-claim-review-rich-results-june-2025","title":"Google retired ClaimReview rich results in June 2025; schema persists for non-Google AI ingestion","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","ai-citation","citation-practices"],"updated_at":"2026-05-22T20:51:27.007Z","snippet":"**Claim:** Per Poynter (June 2025):\n\n> \"Google decided to retire **ClaimReview**, a program little known outside the fact-checking world that highlighted fact checks from reputable news sources.\"\n\n**S"},{"id":622,"slug":"nyt-link-half-life-15-years-13pct-content-drift","title":"Link rot: NYT external links 1996-2019 show ~15-year half-life; 13% of \"live\" links no longer point to original content","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["longevity-architecture","citation-practices"],"updated_at":"2026-05-22T20:51:27.000Z","snippet":"**Claim:** A 2021 study of New York Times external links from **1996-2019** found a **~15-year half-life** of working links, with **13% of \"live\" links no longer pointing to original content** (conten"},{"id":621,"slug":"simhi-llm-hallucinate-with-high-certainty-feb-2025","title":"Simhi et al. (Technion/Oxford/Hebrew U, Feb 2025): \"models can hallucinate with high certainty even when they have the correct knowledge\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["ai-citation","citation-practices"],"updated_at":"2026-05-22T20:51:26.993Z","snippet":"**Quote (Simhi, Itzhak, Barez, Stanovsky, Belinkov, arXiv:2502.12964, February 2025):**\n\n> \"Models can hallucinate with high certainty even when they have the correct knowledge.\"\n\n**Source:** <https:/"},{"id":620,"slug":"ftc-reasonable-basis-doctrine-1984","title":"FTC reasonable-basis doctrine: advertisers must possess \"the amount and type of substantiation the ad actually communicates\"","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["regulatory-compliance","citation-practices"],"updated_at":"2026-05-22T20:51:26.987Z","snippet":"**Claim:** The FTC's Policy Statement on Advertising Substantiation (1984, building on a 1971 line of decisions): advertisers must possess **\"the amount and type of substantiation the ad actually comm"},{"id":619,"slug":"ic-confidence-taxonomy-high-moderate-low","title":"US Intelligence Community: high/moderate/low confidence taxonomy (ICD 203/206, 2007 NIE Iran convention)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:26.981Z","snippet":"**Claim:** The US Intelligence Community uses a **three-tier confidence taxonomy** (codified in Intelligence Community Directives 203 and 206, used in National Intelligence Estimates since at least th"},{"id":618,"slug":"wikipedia-verifiability-not-truth-policy-foundational","title":"Wikipedia: \"The threshold for inclusion is verifiability, not truth\" — four claim types always need inline citations","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:26.974Z","snippet":"**Quote (Wikipedia WP:V):**\n\n> \"The threshold for inclusion in Wikipedia is **verifiability, not truth** — whether readers can check that material in Wikipedia has already been published by a reliable"},{"id":617,"slug":"spj-code-identify-sources-clearly-2014","title":"SPJ Code of Ethics (2014): \"Identify sources clearly. The public is entitled to as much information as possible to judge reliability and motivations\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:26.968Z","snippet":"**Quote (SPJ Code of Ethics, 2014 revision):**\n\n> \"Identify sources clearly. The public is entitled to as much information as possible to judge the reliability and motivations of sources.\"\n\n**Source:*"},{"id":616,"slug":"reuters-handbook-anonymous-sources-weakest","title":"Reuters Handbook of Journalism: \"A named source is always preferable to an unnamed source. Anonymous sources are the weakest sources\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:26.959Z","snippet":"**Quote (Reuters Handbook of Journalism):**\n\n> \"Accuracy entails honesty in sourcing. Our reputation... rests on the credibility of our sources.\"\n> \"A named source is always preferable to an unnamed s"},{"id":615,"slug":"bbc-editorial-3-2-2-sound-evidence","title":"BBC Editorial Guidelines §3.2.2: \"All BBC output...must be well sourced, based on sound evidence, thoroughly tested\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:51:26.950Z","snippet":"**Quote (BBC Editorial Guidelines §3.2.2):**\n\n> \"All BBC output, as appropriate to its subject and nature, must be well sourced, based on sound evidence, thoroughly tested and presented in clear, prec"},{"id":614,"slug":"edelman-2025-trust-barometer-7-in-10-leaders-mislead","title":"Edelman 2025 Trust Barometer (n=33,000, 28 countries): 7 in 10 believe government/business/journalists deliberately mislead them","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["measurement","trust-signals"],"updated_at":"2026-05-22T20:51:26.944Z","snippet":"**Claim:** Edelman 2025 Trust Barometer (**33,000 respondents, 28 countries**, fieldwork Oct 25-Nov 16 2024): **7 in 10 respondents** believe government officials, business leaders, and journalists de"},{"id":613,"slug":"research-brief-confidence-sources-dated-claims","title":"Research brief: Confidence Levels, Sources, and Dated Claims — why every statement on a credible site should be verifiable (piece 15 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","editorial-discipline","citation-practices","trust-signals"],"updated_at":"2026-05-22T20:51:26.918Z","snippet":"**Status:** Closing piece of the 15-brief roadmap. Research material — not a finished article. Compiled May 22, 2026.\n\n## TL;DR\n\n- **In 2026, unsourced marketing copy is simultaneously a trust liabili"},{"id":612,"slug":"rule-visible-last-updated-stamp-on-public-artifact","title":"RULE: Every public Candid artifact carries a visible \"last updated\" stamp. Living-document discipline beats one-shot publication.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["freshness","agency-methodology","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.423Z","snippet":"**Rule:** Every public Candid Creative artifact — KB article, blog post, marketing page, downloadable PDF — carries a **visible \"last updated\" stamp** AND a `dateModified` in structured data. Living-d"},{"id":611,"slug":"rule-research-first-sequence-foundation-before-article","title":"RULE: Foundation research before article, article before marketing page. Never write the marketing page first.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["knowledge-base","agency-methodology","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.418Z","snippet":"**Rule:** All Candid Creative content for client work and Candid's own marketing follows the **research-first sequence**: Stage 1 (foundation research, atomic notes, fully sourced + confidence-labeled"},{"id":610,"slug":"research-first-tooling-stack-2026","title":"Reference: research-first tooling stack 2026 — Obsidian + Git + Quartz/Astro + AI overlay (RAG)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["tech-stack","knowledge-base","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.413Z","snippet":"**Recommended default stack for a small operation (2026):**\n\n- **Capture + foundation research: Obsidian** (local-first, markdown, free personal use, $50/user/year commercial). Bidirectional linking a"},{"id":609,"slug":"research-first-named-practitioners-2026","title":"Reference: 8 named exemplars of research-first/docs-as-product methodology — Stripe, Twilio, Anthropic, Gwern, Matuschak, Appleton, BAM, Construction Physics","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["knowledge-base","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.406Z","snippet":"**The 8 named exemplars — each illustrates a different facet of the methodology:**\n\n1. **Stripe** — Documentation as product, not marketing artifact. Custom tooling (Markdoc), documentation embedded i"},{"id":608,"slug":"research-first-cadence-recommendation-2026","title":"Reference: research-first cadence by operation type — 1 piece/month to bimonthly print","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.400Z","snippet":"**Realistic cadence for research-first content operations, by operator profile (2026):**\n\n| Operation type | Realistic cadence | Reference point |\n|---|---|---|\n| Solo, primary focus elsewhere | 1 pie"},{"id":607,"slug":"audience-layering-foundation-article-marketing","title":"Reference framework: audience layering — foundation research vs public article vs marketing page (3-column comparison)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","agency-methodology","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.394Z","snippet":"**The three layers of a research-first content operation, side by side:**\n\n| Dimension | Foundation Research | Public Article | Marketing Page |\n|---|---|---|---|\n| **Primary audience** | Future self,"},{"id":606,"slug":"research-first-workflow-stages-0-to-5","title":"Reference framework: Research-first workflow — 5 stages (Capture → Foundation → Synthesis → Article → Marketing page → Maintain)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["knowledge-base","agency-methodology","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.388Z","snippet":"**The sequence IS the methodology. Skipping Stage 1 and starting at Stage 3 is what produces content that doesn't hold up.**\n\n```\nStage 0  CAPTURE\n         Reading inbox + writing inbox (Matuschak)\n  "},{"id":605,"slug":"zuegel-epistemic-status-publishing-half-baked-ideas","title":"Devon Zuegel: epistemic-status labels are \"a hack in order to publish half-baked ideas I'd otherwise not feel comfortable sharing\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["editorial-discipline","citation-practices"],"updated_at":"2026-05-22T20:46:33.382Z","snippet":"**Quote (Devon Zuegel):**\n\n> \"[Epistemic status labels are] a hack in order to publish half-baked ideas that I'd otherwise not feel comfortable sharing.\"\n\n**Source:** Devon Zuegel personal essays on e"},{"id":604,"slug":"hubspot-volume-study-2015-16-posts-3-5x-traffic","title":"HubSpot 2015 (n=13,500+): companies posting 16+ blog posts/month got \"almost 3.5× more inbound traffic\" — dated but still cited","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","measurement","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.375Z","snippet":"**Claim:** HubSpot's 2015 study of **13,500+ customers** found that *\"companies that published 16+ blog posts per month got almost 3.5× more inbound traffic than companies that published between 0-4 m"},{"id":603,"slug":"newton-platformer-retreat-from-daily-april-2026","title":"Casey Newton / Platformer retreat from daily cadence (April 2026): \"More scoops, less aggregation and analysis\" — AI commoditizes daily synthesis","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.369Z","snippet":"**Claim:** In April 2026, Casey Newton publicly retreated from Platformer's daily cadence with the framing: *\"More scoops, less aggregation and analysis.\"*\n\n**Source:** Nieman Lab, April 2026.\n\n**Conf"},{"id":602,"slug":"research-brief-research-before-pages","title":"Research brief: Research Before Pages — methodology for KB-backed websites (piece 14 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["knowledge-base","agency-methodology","editorial-discipline"],"updated_at":"2026-05-22T20:46:33.353Z","snippet":"**Status:** Research material — not finished article. Compiled May 2026.\n\n## Thesis\n\n**Research-first is a sequence claim, not a depth claim.** Foundation research (internal, fully sourced, confidence"},{"id":601,"slug":"rule-structured-data-is-privacy-compliance-accelerator","title":"RULE: Treat a deliberate data layer as a privacy-compliance accelerator, not a privacy risk. The scattered alternative is harder to comply with.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","regulatory-compliance","data-infrastructure"],"updated_at":"2026-05-22T20:37:13.312Z","snippet":"**Rule:** When discussing data infrastructure with Candid clients, position a deliberate structured data layer as a **PIPEDA / Law 25 / future-Bill-C-15 compliance accelerator**, not a compliance risk"},{"id":600,"slug":"rule-dont-bend-business-to-generic-crm","title":"RULE: Don't bend the client's business model to a generic CRM. Either find vertical SaaS that fits, or add a custom data layer on top.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","vertical-saas","crm-systems"],"updated_at":"2026-05-22T20:37:13.305Z","snippet":"**Rule:** When a Candid client's business model doesn't fit cleanly into Account/Contact/Opportunity/Deal (or another generic CRM ontology), **do not bend the business to the software**. Instead:\n\n1. "},{"id":599,"slug":"rule-own-customer-id-as-primary-key","title":"RULE: Own a single customer_id primary key that joins across your vertical SaaS + QuickBooks + email + ads.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","dev","smb-owner","candid-team"],"topics":["agency-methodology","data-infrastructure","crm-systems"],"updated_at":"2026-05-22T20:37:13.294Z","snippet":"**Rule:** Every Candid Creative client data layer is anchored on a **single canonical customer_id** that joins records across the vertical SaaS, QuickBooks, email/marketing automation, ad platforms, a"},{"id":598,"slug":"bj-fuel-distributor-data-model-illustration","title":"Illustration: what \"modeling the actual business\" means for Boucher & Jones fuel distribution (in-development, NOT delivered)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","data-infrastructure","crm-systems"],"updated_at":"2026-05-22T20:37:13.285Z","snippet":"**⚠️ Frame carefully in any public writing: Boucher & Jones CRM is in development as of May 2026, NOT delivered. No outcome claims.**\n\n**The illustration:** Generic CRMs (Salesforce, HubSpot, Pipedriv"},{"id":597,"slug":"industry-data-map-5-verticals","title":"Reference: operational data map by industry — what gets generated, stranded, and unlockable for 5 service verticals","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","data-infrastructure","crm-systems"],"updated_at":"2026-05-22T20:37:13.279Z","snippet":"**By vertical: what operational data exists, what typically gets stranded, what owning it unlocks.**\n\n### Home services (HVAC, plumbing, electrical, landscaping)\n- **Generated:** service tickets, equi"},{"id":596,"slug":"data-maturity-curve-5-stage","title":"Reference: the 5-stage Data Maturity Curve — from stranded data to data as product","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","data-infrastructure"],"updated_at":"2026-05-22T20:37:13.273Z","snippet":"**The 5-stage curve from \"data exists in the owner's head\" to \"data is the product.\" Use as the spine of the article.**\n\n| Stage | What it looks like | Business profile | What unlocks moving up |\n|---"},{"id":595,"slug":"modern-data-stack-on-budget-2026","title":"Reference: minimum viable data stack for a $1M-$10M Canadian service business (2026, C$100-C$500/month)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","dev","candid-team"],"topics":["tech-stack","agency-methodology","data-infrastructure"],"updated_at":"2026-05-22T20:37:13.262Z","snippet":"**For a Canadian service business at $1M-$10M revenue, 5-50 staff, currently living in QuickBooks + spreadsheets + a half-used CRM:**\n\n### Architecture\n\n1. **System of record per data type.** Don't re"},{"id":594,"slug":"clio-legal-trends-2024-2025-ai-adoption-79-to-93","title":"Clio Legal Trends: AI adoption among legal professionals jumped 19% (2023) → 79% (2024) → 93% mid-sized firms (2025); 64% mid-sized offer flat-fee","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","measurement","vertical-saas"],"updated_at":"2026-05-22T20:37:13.240Z","snippet":"**Claim:** Clio's Legal Trends reports show AI adoption among legal professionals accelerating sharply:\n\n- **2023:** 19%\n- **2024 (Oct 2024 Legal Trends Report):** **79%** (\"AI has reached the level o"},{"id":593,"slug":"cfib-2025-smb-10pct-fully-integrated","title":"CFIB / Sage / Payworks 2025: only 10% of Canadian SMBs have digital tools fully integrated; $1.60 ROI per dollar invested","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["measurement","data-infrastructure"],"updated_at":"2026-05-22T20:37:13.231Z","snippet":"**Claim:** CFIB / Sage / Payworks 2025 survey of **1,683 Canadian SMB owners** (Apr-Jun 2025):\n\n> *\"Only 10% have fully integrated [digital tools] across operations.\"*\n> *\"Digital tools boost producti"},{"id":592,"slug":"quebec-law-25-sept-2024-data-portability-c25m-fines","title":"Quebec Law 25 (fully in force Sept 22, 2024): data portability + fines up to C$25M / 4% of worldwide turnover","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["data-portability","regulatory-compliance"],"updated_at":"2026-05-22T20:37:13.214Z","snippet":"**Claim:** Quebec's **Law 25** (formerly Bill 64) is fully in force as of **September 22, 2024** (data portability phase).\n\n**Penalty schedule:**\n- **Administrative monetary penalties:** up to **C$10M"},{"id":591,"slug":"brinks-home-opc-finding-2024","title":"OPC vs Brinks Home (PIPEDA Findings #2024-002, Mar 28 2024): inadequate safeguards left customer data accessible for 10 weeks","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["regulatory-compliance","security-vulnerabilities"],"updated_at":"2026-05-22T20:37:13.207Z","snippet":"**Claim:** Office of the Privacy Commissioner of Canada finding **#2024-002** (March 28, 2024) against **Brinks Home**: Brinks *\"had not implemented adequate safeguards, resulting in the compromise of"},{"id":590,"slug":"pipeda-bill-c-27-died-january-2025","title":"Canadian privacy 2026: PIPEDA still governs; Bill C-27 died on the Order Paper Jan 6, 2025 — no fines, only findings","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["data-portability","regulatory-compliance"],"updated_at":"2026-05-22T20:37:13.191Z","snippet":"**Claim:** **PIPEDA** applies to any private-sector organization in Canada engaged in commercial activity using personal information. Max fine: **$100,000 per knowing violation**.\n\nSource: Office of t"},{"id":589,"slug":"tunguz-vertical-saas-sales-efficiency-097-vs-066","title":"Tunguz: vertical SaaS median sales efficiency 0.97 vs horizontal 0.66 (n=54, 2015 — flag age)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","vertical-saas"],"updated_at":"2026-05-22T20:37:13.175Z","snippet":"**Claim:** Tomasz Tunguz analyzed 54 public SaaS companies: vertical SaaS companies' median sales efficiency was **0.97 vs 0.66 for horizontal** (statistically significant, p=0.026).\n\n**Source:** <htt"},{"id":588,"slug":"vertical-saas-export-portability-comparison-2026","title":"Reference: vertical SaaS data portability comparison (ServiceTitan / Jobber / Housecall Pro / Clio / Karbon / Tekmetric)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["platform-lock-in","data-portability","vertical-saas"],"updated_at":"2026-05-22T20:37:13.161Z","snippet":"**Field comparison of vertical SaaS data portability practices (May 2026):**\n\n| Platform | Captures well | Captures poorly | Portability reality |\n|---|---|---|---|\n| **ServiceTitan** | Dispatch, invo"},{"id":587,"slug":"servicetitan-open-data-pledge-vs-exit-friction","title":"ServiceTitan: \"Open Data Pledge\" promises CSV export — but practitioner reports cite $24k-$39k exit contract buyouts (flag for verification)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["platform-lock-in","data-portability","vertical-saas"],"updated_at":"2026-05-22T20:37:13.143Z","snippet":"**The vendor commitment (ServiceTitan Open Data Pledge):**\n\n> *\"We pledge to enable the seamless export of customer data to a CSV format.\"*\n\n**Source:** <https://www.servicetitan.com/features/open-dat"},{"id":586,"slug":"servicetitan-ipo-december-2024-8-9b","title":"ServiceTitan IPO Dec 12, 2024: $8.9B closing cap, $685M revenue, $62B GTV, >95% gross retention, >110% NDR","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["measurement","vertical-saas"],"updated_at":"2026-05-22T20:37:13.129Z","snippet":"**Claim:** ServiceTitan IPO'd on **December 12, 2024** with first-day closing market cap of **$8.9 billion**. From S-1 (filed Nov 18, 2024):\n\n- Revenue: **$685M** (12 months ending July 31, 2024)\n- **"},{"id":585,"slug":"mulesoft-2025-897-apps-29pct-integrated","title":"MuleSoft 2025 Connectivity Benchmark: organizations use 897 applications on average; only 29% are integrated","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","data-infrastructure"],"updated_at":"2026-05-22T20:37:13.116Z","snippet":"**Claim:** MuleSoft 2025 Connectivity Benchmark Report: organizations use an average of **897 applications**; only **29% are integrated**.\n\n**Source:** <https://www.salesforce.com/news/press-releases/"},{"id":584,"slug":"crm-project-failure-rate-47-to-70-pct","title":"CRM project failure rate: 47% (Forrester) to 50% (Gartner) to 55% (Johnny Grow 2025) to 70% (industry aggregators)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["measurement","crm-systems"],"updated_at":"2026-05-22T20:37:13.101Z","snippet":"**Claim:** Industry estimates of CRM project failure rates converge in a 47-70% band:\n\n- **Forrester:** 47%\n- **Gartner (historical):** 50%\n- **Johnny Grow 2025 CRM Failure Report:** 55%\n- **Aggregato"},{"id":583,"slug":"research-brief-dataset-is-the-product","title":"Research brief: The Dataset is the Product — when a service business should own its data (piece 12 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","vertical-saas","data-infrastructure","crm-systems"],"updated_at":"2026-05-22T20:37:13.053Z","snippet":"**Status:** Research material — not finished article. Compiled May 2026. **B&J CRM is in-development — frame as illustration only; no outcomes claims.**\n\n## Thesis\n\nMost small service businesses sit a"},{"id":582,"slug":"rule-attribution-discipline-on-every-data-product","title":"RULE: Every Candid data product carries source attribution per the [[attribution-checklist-by-source]]. Mis-attribution terminates the licence.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["agency-methodology","regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.263Z","snippet":"**Rule:** Every Candid Creative-built data product (public dashboard, calculator, downloadable report, embedded widget) **carries source attribution per the licence terms of the data it uses**. Missin"},{"id":581,"slug":"rule-build-on-official-open-data-not-scraping","title":"RULE: Build Candid client data products on official open-data feeds — never on scraped sources","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["agency-methodology","regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.259Z","snippet":"**Rule:** When building data products / public dashboards / \"free tools\" for Candid Creative clients, always use **official open-data feeds with explicit licenses** — never scraped sources, even when "},{"id":580,"slug":"underexploited-canadian-open-data-by-industry","title":"Reference: underexploited Canadian open data by industry — highest-leverage starts for KW SMB clients","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["measurement","agency-methodology","open-data"],"updated_at":"2026-05-22T20:32:45.255Z","snippet":"**For Candid Creative's SMB Kitchener-Waterloo client base, the highest-leverage starting points:**\n\n1. **StatCan Building Permits** (~2,400 municipalities, 95% of population, monthly with ~6-week lag"},{"id":579,"slug":"attribution-checklist-by-source","title":"Reference: compliance-grade attribution checklist by open-data source","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.251Z","snippet":"**The attribution matrix — required strings + limits + gotchas per source.**\n\n| Source | Required attribution | Limits / gotchas |\n|---|---|---|\n| **OGL-Canada v2.0** | \"Contains information licensed "},{"id":578,"slug":"profound-680m-citations-perplexity-citation-behavior","title":"Profound (Aug 2024-Jun 2025, 680M citations): only 11% domain overlap between ChatGPT and Perplexity; 13.7% between AI Overviews and AI Mode","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","measurement"],"updated_at":"2026-05-22T20:32:45.247Z","snippet":"**Claim:** Profound's analysis of **680 million citations** (Aug 2024 – June 2025):\n\n- *\"Only **11% of domains** are cited by both ChatGPT and Perplexity\"*\n- Google AI Overviews and Google AI Mode cit"},{"id":577,"slug":"open-data-ingestion-stack-smb-2026","title":"Reference: open-data ingestion stack for a 1-3 person SMB operation (2026) — under $50/mo realistic","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["tech-stack","open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.243Z","snippet":"**Recommended stack for a 1-3 person team handling millions (not billions) of rows in 2026:**\n\n| Layer | Recommendation | Monthly cost @ small scale |\n|---|---|---|\n| Storage | Backblaze B2 or Cloudfl"},{"id":576,"slug":"motherduck-pricing-changes-2026-business-tier","title":"MotherDuck pricing 2026: Lite ($25/mo) removed; Business moved to $250/mo between Dec 2025 and Feb 2026","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["tech-stack","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.239Z","snippet":"**Claim:** MotherDuck's free tier supports 10 GB storage and 10 compute hours/month. The **Business plan moved from $100 to $250/month** between December 2025 and February 2026; the **Lite $25/month t"},{"id":575,"slug":"carfax-1984-10000-records-fax-to-35-billion","title":"Carfax: from 10,000 records faxed in 1986 to 35B+ records across 151,000+ sources — sold to S&P Global Mobility 2022","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["longevity-architecture","open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.235Z","snippet":"**Claim:** CARFAX was founded in **Columbia, Missouri in 1984** by Ewin Barnett III and Robert Daniel Clark. Its first dealer-market vehicle history report (1986) was built on a database of **exactly "},{"id":574,"slug":"hellosafe-canada-statcan-osfi-barometers","title":"HelloSafe: \"Canada's leading insurance/financial comparison platform\" — built on StatCan + OSFI data","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","open-data"],"updated_at":"2026-05-22T20:32:45.231Z","snippet":"**Claim:** HelloSafe positions itself as *\"Canada's leading platform for comparing insurance and personal financial products,\"* citing **StatCan and OSFI** in its market barometers.\n\n**Source:** <http"},{"id":573,"slug":"local-logic-100b-data-points-canadian","title":"Local Logic (Montreal): 100B+ data points — \"largest location dataset in real estate\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.227Z","snippet":"**Quote (Local Logic):**\n\n> *\"100B+ data points\"* forming *\"the largest location dataset in real estate.\"*\n\n**Source:** <https://locallogic.co/our-data/>\n\n**Confidence:** Verified.\n\n**Canadian relevan"},{"id":572,"slug":"climate-corporation-bayer-noaa-nws-usgs-nasa","title":"The Climate Corporation (Bayer Crop Science since 2018): field-level overlay on NOAA + NWS + USGS + NRCS + NASA","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.223Z","snippet":"**Claim:** The Climate Corporation uses NOAA, NWS, USGS, NRCS, and NASA data as the foundation for field-level weather/soil overlay sold to growers.\n\n**Source:** U.S. CIO open-government data report —"},{"id":571,"slug":"flightaware-crowdsourced-ads-b-receivers-30000","title":"FlightAware: FAA + 45-country ANSP feeds + 30,000+ user-hosted ADS-B receivers + Aireon — the crowdsourced moat","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.218Z","snippet":"**Claim:** FlightAware fuses FAA + 45-country ANSP feeds + *\"a worldwide network of over **30,000 terrestrial ADS-B receivers**\"* + Aireon space-based ADS-B.\n\n**Source:** <https://www.flightaware.com/"},{"id":570,"slug":"cherre-property-knowledge-graph-3-3t-aum","title":"Cherre: property knowledge graph powering management of $3.3T AUM globally","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.215Z","snippet":"**Quote (Cherre about page):**\n\n> Cherre *\"powers the management of **$3.3 trillion AUM globally** with its proprietary Universal Data Model, Semantic Data Layer, and Knowledge Graph.\"*\n\n**Source:** <"},{"id":569,"slug":"attom-500m-transactions-2690-counties","title":"ATTOM Data: 500M+ real estate/loan transactions, 2,690+ counties, 20-step Enterprise Data Management Program","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.211Z","snippet":"**Claim:** ATTOM warehouses *\"more than 500 million real estate and loan transactions in over 2,690 counties\"*, normalized via a **20-step Enterprise Data Management Program**. Coverage: 99% of the U."},{"id":568,"slug":"zillow-built-on-administrative-data-backbone","title":"Zillow: 110M-home \"living database\" built on Census/ACS + 3,000 county assessors + USPS + MLS feeds","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.207Z","snippet":"**Claim:** Zillow's database is *\"built on a backbone of administrative data\"* — Census, ACS, ~3,000 county tax assessments, sales records. The Zestimate model sits **on top of** public records, not b"},{"id":567,"slug":"meta-v-bright-data-logged-off-scraping-2024","title":"Meta v Bright Data (Jan 2024, N.D. Cal.): Facebook/Instagram terms don't bar logged-off scraping of public data","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.204Z","snippet":"**Quote (Judge Edward Chen, N.D. Cal., January 23, 2024):**\n\n> \"The Facebook and Instagram Terms do not bar logged-off scraping of public data.\"\n\n**Source:** <https://www.fbm.com/publications/major-de"},{"id":566,"slug":"hiq-v-linkedin-cfaa-public-data-scraping-2022","title":"hiQ v LinkedIn (9th Cir. Apr 2022): scraping publicly accessible data likely doesn't violate CFAA — but hiQ still settled for $500K","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.200Z","snippet":"**Claim:** Ninth Circuit (April 18, 2022) reaffirmed that scraping publicly accessible data **likely does not violate the CFAA's \"without authorization\" provision.**\n\n**Source:** <https://www.jenner.c"},{"id":565,"slug":"international-open-data-licences-2026","title":"International open-data licences (2026): UK OGL v3, OECD CC BY 4.0, Eurostat, World Bank","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.193Z","snippet":"**The international open-data licensing landscape, 2026:**\n\n**UK Open Government Licence v3.0:**\n- Attribution: *\"Contains public sector information licensed under the Open Government Licence v3.0.\"*\n"},{"id":564,"slug":"noaa-nws-public-domain-disclaimer","title":"NOAA/NWS: information on NWS web servers is in the public domain — no attribution required, provided \"as is\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.185Z","snippet":"**Quote (National Weather Service disclaimer):**\n\n> \"The information on National Weather Service Web servers and Web sites is in the public domain.\"\n\n**Source:** <https://www.weather.gov/disclaimer>\n\n"},{"id":563,"slug":"eia-apiv2-free-petroleum-electricity","title":"U.S. EIA APIv2: free registered-key access to petroleum/electricity/gas/coal/STEO/AEO data; WPSR releases 10:30 AM ET Wednesdays","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["measurement","open-data"],"updated_at":"2026-05-22T20:32:45.179Z","snippet":"**Claim:** The U.S. Energy Information Administration's **APIv2** is free with a registered key. Covers petroleum, electricity, natural gas, coal, nuclear outages, SEDS, STEO (Short-Term Energy Outloo"},{"id":562,"slug":"ontario-open-data-catalogue-2948-datasets","title":"Ontario Open Data Catalogue: 2,948 datasets under OGL-Ontario v1.0","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["local-seo","open-data"],"updated_at":"2026-05-22T20:32:45.173Z","snippet":"**Claim:** The Ontario Open Data Catalogue contains **2,948 datasets** published under the Open Government Licence — Ontario v1.0.\n\n**Sources:** <https://data.ontario.ca/>; <https://www.ontario.ca/pag"},{"id":561,"slug":"cer-pipeline-throughput-ogl-canada","title":"Canada Energy Regulator: pipeline throughput/capacity/tolls + Market Snapshots, all under OGL-Canada","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","open-data"],"updated_at":"2026-05-22T20:32:45.167Z","snippet":"**Claim:** The Canada Energy Regulator publishes pipeline throughput/capacity (Keystone, Trans Mountain, NGTL, Mainline, Foothills, Alliance, Westcoast, etc.), tolls, electricity exports/imports, comm"},{"id":560,"slug":"eccc-msc-open-data-end-use-licence","title":"ECCC/MSC Open Data: free anonymous access to weather/climate/water via OGC-compliant GeoMet APIs","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["tech-stack","open-data"],"updated_at":"2026-05-22T20:32:45.158Z","snippet":"**Claim:** Environment and Climate Change Canada / Meteorological Service of Canada (MSC) publishes weather, climate, and water datasets via OGC-compliant APIs through MSC GeoMet — *\"anonymous and fre"},{"id":559,"slug":"statistics-canada-open-licence-value-added","title":"Statistics Canada Open Licence: explicitly permits \"use, reproduce, publish, freely distribute, or sell value-added products\"","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.153Z","snippet":"**Quote (Statistics Canada Open Licence):**\n\n> \"Use, reproduce, publish, **freely distribute, or sell value-added products**.\"\n\n**Source:** <https://www.statcan.gc.ca/en/terms-conditions/open-licence>"},{"id":558,"slug":"ogl-canada-v2-perpetual-royalty-free-commercial","title":"OGL-Canada v2.0: worldwide royalty-free perpetual licence for commercial use","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["regulatory-compliance","open-data"],"updated_at":"2026-05-22T20:32:45.144Z","snippet":"**Claim:** The Open Government Licence — Canada (OGL-Canada v2.0) grants a *\"worldwide, royalty-free, perpetual, non-exclusive licence to use the Information\"* — explicitly including commercial purpos"},{"id":557,"slug":"research-brief-public-data-private-moat","title":"Research brief: Public data as a private moat — building proprietary intelligence from government open data (piece 11 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","open-data","data-infrastructure"],"updated_at":"2026-05-22T20:32:45.128Z","snippet":"**Status:** Research brief — not finished article. Compiled May 2026.\n\n## Thesis\n\n**Free is not the moat — clean is.** OGL-Canada and U.S. public-domain works (17 USC §105) give every business identic"},{"id":408,"slug":"rule-prefer-headless-astro-for-content-heavy-seo-critical-clients","title":"RULE: For content-heavy SEO/AI-critical clients (~$10k+ budget), default proposal is headless WordPress + Astro on Cloudflare Pages","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","tech-stack","agency-methodology","page-builders"],"updated_at":"2026-05-22T20:21:39.909Z","snippet":"**Rule:** For Candid Creative clients in the **content-heavy, SEO-critical, AI-citation-sensitive** tier (typically $10k+ budget — Use Case C in [[page-builder-migration-by-use-case]]), the default pr"},{"id":407,"slug":"rule-stop-quoting-page-builders-as-default-for-new-builds","title":"RULE: Stop quoting Elementor / Divi / WPBakery as the default for new Candid client builds. Block themes lead the pricing menu.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["wordpress","agency-methodology","page-builders"],"updated_at":"2026-05-22T20:21:39.906Z","snippet":"**Rule:** For all **new** Candid Creative client builds, stop leading scoping conversations with page builders (Elementor, Divi, WPBakery). The default starting point is **WordPress + Gutenberg + a bl"},{"id":406,"slug":"candid-page-builder-roadmap-stages-1-4","title":"Candid Creative page-builder transition roadmap: 4 stages over 12 months","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","page-builders"],"updated_at":"2026-05-22T20:21:39.903Z","snippet":"**The concrete migration plan for the Candid agency stack.**\n\n**Stage 1 (now, low-risk):** Stop quoting Elementor or Divi as the default for new builds. Update internal scoping docs and pricing menus "},{"id":405,"slug":"page-builder-migration-by-use-case","title":"Reference: alternative-stack recommendations by use case and budget (Candid 6-tier framework)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["tech-stack","agency-methodology","page-builders"],"updated_at":"2026-05-22T20:21:39.900Z","snippet":"**By use case + budget — Candid Creative's recommended default stack.**\n\n**Use case A — Brochure / service / contractor site, $3-8k, single editor:**\n- **Recommend:** WordPress + Gutenberg + Kadence t"},{"id":404,"slug":"page-builder-cost-catalogue","title":"Reference: what page builders cost a small-business site — 10 categories ranked by long-term impact","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","platform-lock-in","page-builders"],"updated_at":"2026-05-22T20:21:39.896Z","snippet":"**Ranked by long-term cost to a small-business site, highest first:**\n\n1. **Compounding maintenance debt.** Every plugin update is a potential break. Documented incidents: [[elementor-3-24-1-breakage-"},{"id":403,"slug":"astro-cloudflare-pages-zero-cost-vs-nextjs","title":"Astro on Cloudflare Pages: ~$0/month vs Next.js SSR ~$20-200/month (Bobes 2026 benchmark)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","tech-stack","nextjs"],"updated_at":"2026-05-22T20:21:39.893Z","snippet":"**Claim (Alex Bobes benchmark, 2026):** Astro on Cloudflare Pages costs **~$0/month** vs **$20-200/month** for Next.js SSR. Astro ships *\"zero JavaScript by default.\"*\n\n**Source:** <https://alexbobes."},{"id":402,"slug":"elementor-faq-schema-element-caching-bug","title":"Pronto Marketing: Elementor FAQ Accordion + Element Caching breaks FAQPage JSON-LD (\"Missing field text\")","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","wordpress","page-builders"],"updated_at":"2026-05-22T20:21:39.889Z","snippet":"**Claim:** Pronto Marketing documented an Elementor Accordion FAQ schema bug. Element Caching (enabled by default in 3.26) breaks the FAQPage JSON-LD; Google reports *\"Missing field 'text'.\"*\n\n**Sourc"},{"id":401,"slug":"elementor-no-schema-markup-default","title":"Elementor does not generate schema markup by default — Schema Pilot: \"None of the layouts or widgets add structured data\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","wordpress","page-builders"],"updated_at":"2026-05-22T20:21:39.885Z","snippet":"**Quote (Schema Pilot):**\n\n> \"[Elementor] does not generate schema markup. **None of the layouts, widgets, or templates you build in Elementor add structured data.**\"\n\n**Source:** <https://www.schemap"},{"id":400,"slug":"ada-title-ii-extended-dates-2027-2028","title":"DOJ Interim Final Rule 2026-07663: ADA Title II compliance dates extended to Apr 26 2027 / Apr 26 2028","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["regulatory-compliance","accessibility"],"updated_at":"2026-05-22T20:21:39.881Z","snippet":"**Claim:** Per DOJ Interim Final Rule **2026-07663** (Federal Register, effective April 20, 2026):\n\n> \"The compliance date for State and local government entities with a total population of 50,000 or "},{"id":399,"slug":"elementor-github-issue-11779-accessibility","title":"Elementor GitHub Issue #11779 (open): \"Elementor is not fully compliant out of the box and breaks many accessibility rules\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","accessibility","page-builders"],"updated_at":"2026-05-22T20:21:39.877Z","snippet":"**Quote (Elementor GitHub Issue #11779, open):**\n\n> \"Unfortunately, Elementor is not fully compliant out of the box and breaks many of the rules for accessibility.\"\n\n**Source:** <https://github.com/el"},{"id":398,"slug":"elementor-3-26-schemes-api-removal","title":"Elementor 3.26 (late 2024): removed legacy Schemes API + enabled Element Caching by default — risky for shortcode-dependent themes","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","page-builders"],"updated_at":"2026-05-22T20:21:39.873Z","snippet":"**Claim:** Elementor 3.26 (late 2024) removed the legacy Schemes API and enabled Element Caching by default. Elementor team's own warning:\n\n> *\"This change is considered very risky, especially for web"},{"id":397,"slug":"elementor-3-24-1-breakage-aug-2024","title":"Elementor 3.24.1 (August 2024): widespread reports of broken sites + entire designs lost in update","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","page-builders"],"updated_at":"2026-05-22T20:21:39.868Z","snippet":"**Claim:** Elementor 3.24.1 (August 2024) shipped with breaking changes. WordPress.org support thread title and contents document widespread breakage:\n\n> *\"Elementor update broke my site and its entir"},{"id":396,"slug":"bricks-cve-2024-25600-exploited-24h","title":"Bricks CVE-2024-25600: unauthenticated RCE (CVSS 10) — exploited in the wild ~24 hours after patch release","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["wordpress","security-vulnerabilities","page-builders"],"updated_at":"2026-05-22T20:21:39.863Z","snippet":"**Claim:** Bricks Builder ≤ 1.9.6 contained an **unauthenticated remote code execution** vulnerability (CVE-2024-25600), CVSS **10.0**. Patchstack disclosure:\n\n> \"[Allows] any unauthenticated user to "},{"id":395,"slug":"bricks-199-lifetime-retired-jan-2024","title":"Bricks Builder retired $199 unlimited-sites lifetime license in January 2024","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["platform-lock-in","page-builders"],"updated_at":"2026-05-22T20:21:39.858Z","snippet":"**Claim:** Bricks Builder retired its **$199 unlimited-sites lifetime license** in January 2024. Current pricing (2026): $79-$249/year subscription, or **$599 one-time** (Ultimate, unlimited sites).\n\n"},{"id":394,"slug":"elementor-pro-pricing-strip-essential-nov-2023","title":"Elementor Pro Nov 2023: removed ACF/Pods integration from Essential plan for new customers","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","platform-lock-in","page-builders"],"updated_at":"2026-05-22T20:21:39.853Z","snippet":"**Claim (WP Tavern, November 2023):**\n\n> \"Elementor Pro is removing things like ACF/Pods integration from their lowest tier 'Essential' plan.\"\n\n**Source:** <https://wptavern.com/elementor-pro-pricing-"},{"id":393,"slug":"generatepress-cannot-convert-elementor-code","title":"GeneratePress official: \"You cannot convert Elementor's code to the code required by the Block Editor\"","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["wordpress","platform-lock-in","page-builders"],"updated_at":"2026-05-22T20:21:39.848Z","snippet":"**Quote (GeneratePress forum, official):**\n\n> \"You cannot convert Elementor's code to the code required by the Block Editor. So if you disable Elementor you will be left with just the unstyled content"},{"id":392,"slug":"wppoland-elementor-to-gutenberg-40pct-speed","title":"WPPoland: Elementor → Gutenberg rebuilds yield ~40% mobile site speed increase (multi-client benchmark)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","wordpress","page-builders"],"updated_at":"2026-05-22T20:21:39.843Z","snippet":"**Claim:** WPPoland agency, citing dozens of client migrations: Elementor → Gutenberg rebuilds yield *\"a **40% increase in mobile site speed**\"* on average.\n\n**Source:** WPPoland — <https://wppoland.c"},{"id":391,"slug":"anubiz-elementor-500kb-2000-dom-elements","title":"Anubiz Host: Elementor adds 500KB+ of CSS/JS to every page; simple pages can have 2000+ DOM elements","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","page-builders"],"updated_at":"2026-05-22T20:21:39.839Z","snippet":"**Claims (Anubiz Host migration analysis):**\n\n- *\"Elementor adds **500KB+ of CSS/JS to every page**\"*\n- *\"A simple page can have **2000+ DOM elements**\"*\n\nCompanion finding (Seismic Pixels): page buil"},{"id":390,"slug":"elementor-flexbox-containers-40pct-less-html","title":"Elementor own admission: Flexbox Containers ship 40% less HTML output than sections/columns","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","wordpress","page-builders"],"updated_at":"2026-05-22T20:21:39.834Z","snippet":"**Claim:** Elementor's own engineering blog admits: *\"Containers produce **40% less HTML output** than sections and columns for the same layout.\"*\n\n**Source:** Elementor engineering blog (2023-2024).\n"},{"id":389,"slug":"web-almanac-2024-cms-wordpress-perf-scores","title":"Web Almanac 2024: WordPress mobile CWV pass rate jumped 28% (2023) → 40% (2024); median mobile Lighthouse Perf 38","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","wordpress","measurement"],"updated_at":"2026-05-22T20:21:39.828Z","snippet":"**Claims (HTTP Archive Web Almanac 2024 CMS chapter):**\n\n- WordPress mobile Core Web Vitals pass rate: **28% in 2023 → 40% in 2024** (real progress YoY)\n- Median CMS Performance score (Lighthouse): **"},{"id":388,"slug":"w3techs-elementor-18-6pct-april-2026","title":"W3Techs (April 2026): Elementor on 18.6% of WordPress sites, 13.2% of all websites","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","measurement","page-builders"],"updated_at":"2026-05-22T20:21:39.821Z","snippet":"**Claim (W3Techs, Elementor detail page, fetched April 19, 2026):**\n\n> \"Elementor is used by **18.6% of all the websites whose content management system we know.** This is **13.2% of all websites**.\"\n"},{"id":387,"slug":"research-brief-case-against-page-builders","title":"Research brief: The Case Against Page Builders (piece 10 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["wordpress","agency-methodology","page-builders"],"updated_at":"2026-05-22T20:21:39.802Z","snippet":"**Status:** Research brief — not finished article. Compiled May 22, 2026.\n\n## TL;DR\n\n- **Page builders dominate WordPress and degrade it.** Elementor alone runs on **18.6% of all WordPress sites** (W3"},{"id":357,"slug":"rule-preload-hero-image-with-fetchpriority","title":"RULE: The LCP image always has explicit width/height + fetchpriority=\"high\" + no lazy-loading","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","agency-methodology"],"updated_at":"2026-05-22T20:03:33.404Z","snippet":"**Rule:** Every Candid Creative client page identifies its **LCP element** (typically the hero image) and ensures:\n\n1. Explicit `width` and `height` attributes (prevents CLS)\n2. **`fetchpriority=\"high"},{"id":356,"slug":"rule-defer-third-party-scripts-until-interaction","title":"RULE: Defer or delay every third-party script until user interaction, except those required for first paint","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","agency-methodology"],"updated_at":"2026-05-22T20:03:33.400Z","snippet":"**Rule:** Every third-party script on a Candid Creative client site is **deferred or delayed until first user interaction**, except those genuinely required for first paint (which should be rare). Def"},{"id":355,"slug":"rule-enforce-performance-budgets-in-ci","title":"RULE: Performance budgets enforced in CI. Build fails on budget violation. Documented budgets without CI enforcement do not work.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","agency-methodology"],"updated_at":"2026-05-22T20:03:33.396Z","snippet":"**Rule:** Every Candid Creative client site ships with a **performance budget enforced in CI**. Lighthouse CI or DebugBear GitHub integration runs on every PR. Build fails if any budget threshold is e"},{"id":354,"slug":"webp-25-34-smaller-than-jpeg-google-study","title":"Google WebP Compression Study: WebP is 25-34% smaller than JPEG at equivalent SSIM (avg ~30%)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals"],"updated_at":"2026-05-22T20:03:33.392Z","snippet":"**Claim:** Per Google's WebP Compression Study (updated August 7, 2025), **WebP is 25-34% smaller than JPEG** at equivalent SSIM index. Google's own FAQ summarises this as *\"an average of 30% more com"},{"id":353,"slug":"2026-performance-budget-smb-site","title":"Reference: 2026 performance budget — SMB marketing site (Candid default targets)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","agency-methodology"],"updated_at":"2026-05-22T20:03:33.388Z","snippet":"**For a typical SMB marketing site (5-25 pages, contact-form lead-gen, light blog) targeting CrUX p75 \"Good\" on mid-range Android over 4G:**\n\n| Budget Category | Target | Rationale |\n|---|---|---|\n| T"},{"id":352,"slug":"cls-killers-catalogue","title":"Reference: the 5 most common CLS killers — and the fixes","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals"],"updated_at":"2026-05-22T20:03:33.385Z","snippet":"**Ranked by observed frequency:**\n\n1. **Images and embeds without explicit `width`/`height`** or `aspect-ratio` — browser allocates wrong space, then reflows.\n2. **Web fonts with `font-display: swap`*"},{"id":351,"slug":"inp-killers-catalogue","title":"Reference: the 8 most common INP killers — ranked by observed frequency","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","extractability"],"updated_at":"2026-05-22T20:03:33.381Z","snippet":"**Ranked by observed frequency:**\n\n1. **Long-running JavaScript on the main thread** — particularly framework hydration (React, Vue, Angular) and `Evaluate Script` tasks > 50ms.\n2. **Tag managers with"},{"id":350,"slug":"lcp-killers-catalogue","title":"Reference: the 8 most common LCP killers — ranked by observed frequency","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","extractability"],"updated_at":"2026-05-22T20:03:33.375Z","snippet":"**Ranked by observed frequency in the field (HTTP Archive 2025 + practitioner consensus):**\n\n1. **Hero image not preloaded** and not given `fetchpriority=\"high\"`. Single largest cause. Google's own te"},{"id":349,"slug":"dan-taylor-cwv-ai-citation-gate-not-signal-2026","title":"Dan Taylor (SE Land, Jan 13 2026, n=107,352): CWV is a gate for AI citation, not a growth lever","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.370Z","snippet":"**Quote (Dan Taylor, Search Engine Land, January 13, 2026):**\n\n> \"Core Web Vitals are therefore best understood as a **gate, not a signal of excellence**. In an AI-led search landscape, this clarity m"},{"id":348,"slug":"gtm-18-tags-20x-tbt-chrome-aurora","title":"Chrome Aurora team: Google Tag Manager with 18 tags increases Total Blocking Time ~20×","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","tech-stack"],"updated_at":"2026-05-22T20:03:33.365Z","snippet":"**Claim:** Per the Chrome Aurora team, a Google Tag Manager container with **18 tags** increases Total Blocking Time nearly **20×** vs a baseline page.\n\n**Source:** Chrome Aurora team via corewebvital"},{"id":347,"slug":"astro-vs-nextjs-40pct-faster-90pct-less-js","title":"Astro vs Next.js (eastondev benchmark, Dec 2025): ~40% faster, ~90% less JS for static content","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals","tech-stack","nextjs"],"updated_at":"2026-05-22T20:03:33.361Z","snippet":"**Claim:** Astro benchmarks show ~**40% faster page loads** and ~**90% less JavaScript** than equivalent Next.js builds for static content sites.\n\n**Source:** eastondev.com Astro vs Next.js benchmark "},{"id":346,"slug":"bbc-10pct-user-loss-per-second","title":"BBC: lost 10% of users for every additional second the site took to load","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.357Z","snippet":"**Quote (web.dev/learn/performance, 2024):**\n\n> \"BBC lost an additional 10% of users for every additional second the site took to load.\"\n\n**Source:** <https://web.dev/learn/performance/why-speed-matte"},{"id":345,"slug":"walmart-100ms-1pct-revenue-foundational","title":"Walmart (2012, foundational): 100ms improvement = 1% incremental revenue; 1s improvement = 2% conversion increase","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.352Z","snippet":"**Claim (Devon Auerswald, Walmart Web Performance presentation, 2012):**\n\n> \"100 ms improvement = up to 1% incremental revenue; 1 s improvement = up to 2% increase in conversion.\"\n\n**Source:** Walmart"},{"id":344,"slug":"pinterest-pwa-60pct-faster-2017","title":"Pinterest PWA rebuild (2017, foundational): 60% faster → +40% conversions, +40% time spent, +44% ad revenue","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.338Z","snippet":"**Claim:** Pinterest's mobile-web rebuild as a PWA delivered **60% faster** loads, **+40% conversions**, **+40% time spent**, **+44% ad revenue**.\n\n**Source:** Addy Osmani, \"A Pinterest PWA Performanc"},{"id":343,"slug":"deloitte-google-milliseconds-millions-2020","title":"Deloitte/Google \"Milliseconds Make Millions\" (2020): 0.1s improvement → 8.4% retail conversion lift, 10.1% travel","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.333Z","snippet":"**Claim:** Deloitte Ireland and Google measured 4 industry-wide site-speed metrics and found that a **0.1-second** improvement correlated with:\n\n- **+8.4%** retail conversions\n- **+9.2%** average orde"},{"id":342,"slug":"vodafone-31pct-lcp-8pct-sales-2021","title":"Vodafone A/B test (2021): 31% LCP improvement → 8% more sales, 15% better lead-rate, 11% better cart-rate","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.325Z","snippet":"**Claim:** Vodafone A/B-tested an LCP optimization. Result: **31% LCP improvement → 8% more sales, 15% lead-rate lift, 11% cart-rate lift**.\n\n**Source:** <https://web.dev/case-studies/vodafone> (2021,"},{"id":341,"slug":"web-almanac-2025-mobile-page-weight-2-56mb","title":"Web Almanac 2025: median mobile page weight crossed 2,559 KB in July 2025 (+7.8% YoY)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.318Z","snippet":"**Claim:** Median mobile home-page weight reached **2,559 KB** in July 2025; desktop **2,862 KB**. That's **+7.8% YoY**. Average mobile Total Blocking Time: **1,916 ms** — almost 10× the 200ms best-pr"},{"id":340,"slug":"web-almanac-2025-cwv-pass-rates","title":"Web Almanac 2025: 48% mobile / 56% desktop origins pass all 3 CWV; LCP is the bottleneck","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.311Z","snippet":"**Claims (HTTP Archive Web Almanac 2025, July 2025 CrUX data):**\n\n- **48% of mobile origins** and **56% of desktop origins** pass all three CWV\n- Per-metric mobile breakdown: **62% LCP good, 77% INP g"},{"id":339,"slug":"march-2026-lcp-tightening-rumour-refuted","title":"REFUTED: \"March 2026 LCP tightened to 2.0s / INP elevated\" — no such Google announcement exists","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","measurement"],"updated_at":"2026-05-22T20:03:33.304Z","snippet":"**Claim being refuted:** Multiple SEO blogs (Digital Applied, MonsterMegs, IdeaFueled, ClickRank, Mewa Studio, w3era) claim Google tightened LCP \"Good\" threshold from 2.5s to **2.0s** with the March 2"},{"id":338,"slug":"cwv-thresholds-2026-confirmed-unchanged","title":"2026 CWV thresholds (confirmed unchanged): LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1 at p75 field data","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals"],"updated_at":"2026-05-22T20:03:33.298Z","snippet":"**Claim:** Google's official \"Good\" Core Web Vitals thresholds remain unchanged through 2026:\n\n| Metric | Good (≤) | Needs Improvement | Poor (>) |\n|---|---|---|---|\n| **Largest Contentful Paint (LCP)"},{"id":337,"slug":"research-brief-page-speed-moat","title":"Research brief: Page Speed as a Moat — why CWV separates the agencies from the freelancers (piece 9 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["core-web-vitals","measurement","agency-methodology"],"updated_at":"2026-05-22T20:03:33.280Z","snippet":"**Status:** Research material — not a finished article. Compiled May 2026.\n\n## TL;DR\n\n- **Core Web Vitals are necessary but not sufficient in 2026.** Google's official \"Good\" thresholds remain **LCP ≤"},{"id":321,"slug":"hubspot-vaughan-historical-optimization-106pct","title":"HubSpot (Pamela Vaughan): historical-optimization refresh of old posts lifts organic traffic by avg 106%","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","freshness"],"updated_at":"2026-05-22T19:59:43.634Z","snippet":"**Quote (HubSpot, Pamela Vaughan historical-optimization study):**\n\n> \"We've increased the number of monthly organic search views of old posts we've optimized by an **average of 106%**.\"\n\n**Source:** "},{"id":270,"slug":"ahrefs-14b-pages-96-55pct-no-traffic","title":"Ahrefs (14B-page study): 96.55% of pages get zero Google traffic — supersedes older 90.63% figure","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","freshness"],"updated_at":"2026-05-22T19:58:50.316Z","snippet":"**Quote (Tim Soulo, Ahrefs):**\n\n> \"We studied around 14 billion webpages and found that **96.55% of them get no traffic from Google**.\"\n\n**Source:** <https://ahrefs.com/blog/search-traffic-study/>\n\n**"},{"id":238,"slug":"rule-accessibility-is-architecture-not-overlay","title":"RULE: Accessibility is architecture, not an overlay. Never sell or install an accessibility overlay widget.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","regulatory-compliance","accessibility"],"updated_at":"2026-05-22T19:58:12.903Z","snippet":"**Rule:** Candid Creative client sites achieve WCAG conformance through **architectural choices** — semantic HTML, keyboard navigation, screen-reader labels, color contrast — not via overlay widgets. "},{"id":237,"slug":"rule-reduce-plugin-count-as-security-discipline","title":"RULE: Plugin count is the WordPress security surface. Audit quarterly; one-in, one-out rule.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","dev","candid-team"],"topics":["wordpress","agency-methodology","security-vulnerabilities"],"updated_at":"2026-05-22T19:58:12.899Z","snippet":"**Rule:** For Candid WordPress client sites, **plugin count is the security surface**. Audit quarterly. New plugins require justification + a removed-plugin counterpart (one-in, one-out).\n\n**Why:**\n- "},{"id":236,"slug":"rule-url-design-as-permanence-design","title":"RULE: Treat URL/slug design as a 10-year decision. Never let a slug change without a 301 redirect.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["seo-content","information-architecture","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.895Z","snippet":"**Rule:** Every Candid client URL is designed for **permanence**. Slug renames require a 301 redirect from the old path. The redirect map is maintained for the life of the site — never garbage-collect"},{"id":235,"slug":"rule-build-for-10-year-horizon","title":"RULE: Design every Candid client site for a 10-year operational horizon. Rebuild is a choice, not a forced move.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.891Z","snippet":"**Rule:** Candid Creative client sites are designed for a **10-year operational horizon**. The default assumption is that the site exists 10 years from now; rebuild decisions are business-strategy eve"},{"id":234,"slug":"ten-year-cost-model-rebuild-vs-foundation","title":"Reference framework: 10-year cost model — rebuild-every-3-years vs foundation-first (Canadian SMB, CAD)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.886Z","snippet":"**10-year cost projection for a typical Kitchener-Waterloo SMB site** (~20-40 pages, professional services or local commerce, CAD). Ranges are wide because the work is wide.\n\n**Scenario A — Rebuild ev"},{"id":233,"slug":"decay-vs-compound-matrix","title":"Reference framework: which website dimensions decay vs compound over 10 years (12-dimension matrix)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.881Z","snippet":"**The 12 dimensions of a website over a 10-year horizon — which decay without intervention, which compound on the right foundation.**\n\n| Dimension | Default (no foundation) | With foundation-first | W"},{"id":232,"slug":"govuk-design-system-2x-faster-half-code","title":"GDS: GOV.UK Design System pages download 2x faster than non-system pages with half the code","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","content-architecture","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.877Z","snippet":"**Quote (GDS blog, March 31, 2022):**\n\n> \"Pages on GOV.UK built with the Design System download about **twice as fast** as those that haven't, as they use about **half as much code**.\"\n\n**Source:** GD"},{"id":231,"slug":"longevity-named-examples-2026","title":"Long-lived sites worth studying: Daring Fireball, Berkshire Hathaway, Craigslist, Pinboard, GOV.UK, Stack Overflow, Wikipedia","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["content-architecture","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.873Z","snippet":"**Catalogue of sites that have run 10+ years without ground-up rebuild — the empirical foundation for the \"build to last\" argument.**\n\n- **Daring Fireball (since 2002):** Movable Type, self-hosted on "},{"id":230,"slug":"drupal-7-eol-january-2025-291k-sites","title":"Drupal 7 EOL January 5, 2025 — ~291,386 sites still on D7 in Sept 2024; migration is effectively a rebuild","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["platform-lock-in","security-vulnerabilities"],"updated_at":"2026-05-22T19:58:12.869Z","snippet":"**Claim:** **Drupal 7 reached end-of-life on January 5, 2025** — \"no longer receive official security updates.\" Approximately **291,386 sites** were still on Drupal 7 as of September 2024.\n\n**Quote (D"},{"id":229,"slug":"divi-4-to-5-one-way-migration-feb-2026","title":"Divi 5 official release Feb 26, 2026; Divi 4 → 5 is one-way migration; rollback gets harder over time","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","platform-lock-in","page-builders"],"updated_at":"2026-05-22T19:58:12.865Z","snippet":"**Claim:** Divi 5 entered beta November 2022; removed beta label **February 26, 2026** — a 3+ year development cycle that disrupted customer projects. Elegant Themes documents Divi 4 storing *\"all lay"},{"id":228,"slug":"eu-accessibility-act-enforcement-june-2025","title":"European Accessibility Act enforcement began June 28, 2025 — penalties up to €100k (Germany), 4-5% revenue (France/Italy)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["regulatory-compliance","accessibility"],"updated_at":"2026-05-22T19:58:12.860Z","snippet":"**Claim:** European Accessibility Act enforcement began **June 28, 2025**. Maximum penalties typically:\n\n- **Germany (BFSG)**: up to €100,000 per violation\n- **France**: up to 4-5% of revenue under na"},{"id":227,"slug":"ftc-accessibe-1m-settlement-jan-2025","title":"FTC (Jan 3, 2025): accessiBe ordered to pay $1M for deceptive claims its AI overlay could make sites WCAG-compliant","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["regulatory-compliance","accessibility"],"updated_at":"2026-05-22T19:58:12.856Z","snippet":"**Quote (FTC press release, January 3, 2025):**\n\n> \"FTC Order Requires Online Marketer to Pay $1 Million for Deceptive Claims that its AI Product Could Make Websites Compliant with Accessibility Guide"},{"id":226,"slug":"accessibility-95pct-fail-wcag-40pct-pro-se-ai","title":"Accessibility: 95% of sites fail basic WCAG; 40% of new federal ADA filings are pro se (AI-assisted)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["regulatory-compliance","accessibility"],"updated_at":"2026-05-22T19:58:12.851Z","snippet":"**Claims (Accessibility.Works analysis, citing Seyfarth Shaw):**\n\n> \"According to Seyfarth Shaw, **40% of federal ADA Title III filings are now pro se**\" — driven by AI-assisted complaints.\n> Companio"},{"id":225,"slug":"usablenet-2025-5000-ada-lawsuits-46pct-repeat","title":"UsableNet 2025: 5,000+ digital accessibility lawsuits filed; 46% of federal cases involve repeat defendants","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["regulatory-compliance","accessibility"],"updated_at":"2026-05-22T19:58:12.847Z","snippet":"**Claims (UsableNet 2025 reports):**\n\n- 2,019 lawsuits filed in **H1 2025**; projected **+20% over 2024**\n- \"By the end of 2025, **more than 5,000 digital accessibility lawsuits** had been filed\"\n- \"I"},{"id":224,"slug":"zittrain-reference-rot-supreme-court-2014","title":"Zittrain et al. (Harvard Law 2014): 50% of URLs in U.S. Supreme Court opinions suffer reference rot","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.843Z","snippet":"**Quote (Zittrain, Albert, Lessig, Harvard Law Review 2014):**\n\n> \"More than 70% of the URLs within the above mentioned journals, and **50% of the URLs within U.S. Supreme Court opinions suffer refere"},{"id":223,"slug":"web-almanac-2024-page-weight-per-cms","title":"Web Almanac 2024: median desktop page weight — WordPress 2,252 KB, Wix 2,560, Squarespace 3,323; 90th pct crosses 8 MB","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","wordpress","measurement"],"updated_at":"2026-05-22T19:58:12.831Z","snippet":"**Claims (HTTP Archive Web Almanac 2024):**\n\nMedian page weight by CMS:\n- **WordPress**: 2,252 KB desktop / 2,047 KB mobile\n- **Wix**: 2,560 KB / 2,215 KB\n- **Squarespace**: 3,323 KB / 3,015 KB\n\n90th-"},{"id":222,"slug":"verizon-dbir-2025-88pct-smb-ransomware","title":"Verizon DBIR 2025: 88% of SMB breaches involved ransomware vs 39% of enterprise; median ransom $115k","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["b2b-buying","security-vulnerabilities"],"updated_at":"2026-05-22T19:58:12.825Z","snippet":"**Claims (Verizon 2025 Data Breach Investigations Report, April 2025):**\n\n- **88% of SMB breaches** contained a ransomware component vs **39% of enterprise breaches**\n- Median ransom payment: **US$115"},{"id":221,"slug":"sucuri-2023-39pct-cms-outdated-at-infection","title":"Sucuri 2023: 39.1% of CMS apps outdated at point of infection (down from 50.58% in 2022)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","security-vulnerabilities"],"updated_at":"2026-05-22T19:58:12.819Z","snippet":"**Quote (Sucuri 2023 Hacked Website & Malware Threat Report, June 12, 2024):**\n\n> \"**39.1% of all CMS applications were outdated** at the point of infection.\"\n\nCompanion findings (same report):\n- 13.9"},{"id":220,"slug":"wordfence-2024-attack-volume-54b-requests","title":"Wordfence 2024: 54 billion malicious requests blocked, ~325-350k sites infected on any given day","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["wordpress","security-vulnerabilities"],"updated_at":"2026-05-22T19:58:12.812Z","snippet":"**Claims (Wordfence 2024 Annual WordPress Security Report, April 8, 2025):**\n\n- \"Wordfence blocked and logged **over 54 billion malicious requests**, and blocked over 55 billion password attacks in 20"},{"id":219,"slug":"patchstack-1614-plugins-removed-2024","title":"Patchstack 2024: 1,614 plugins and themes removed from .org repo for unpatched security issues","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","security-vulnerabilities"],"updated_at":"2026-05-22T19:58:12.804Z","snippet":"**Quote (Patchstack State of WordPress Security 2025):**\n\n> \"1,614 plugins and themes were removed from the WordPress repository for unpatched security issues\" in 2024; \"1,450 had High and Medium prio"},{"id":218,"slug":"patchstack-2024-vuln-disclosure-4166-96pct-plugins","title":"Patchstack 2024: 4,166 new vulnerabilities, 96% in plugins, 4% in themes, only 7 in core","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","security-vulnerabilities"],"updated_at":"2026-05-22T19:58:12.798Z","snippet":"**Claim (Patchstack 2025 mid-year report):**\n\n> \"In 2024, Patchstack's researchers and bug bounty hunters found **4,166 new security vulnerabilities**, with **96% of those vulnerabilities… in plugins*"},{"id":217,"slug":"orbit-media-website-lifespan-2y4mo-vs-6y4mo","title":"Orbit Media: average website lifespan across Inc 5000 is 2y4mo; under continuous care, 6y4mo","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.792Z","snippet":"**Claim:** Orbit Media reports the average website lifespan across the top of the Inc 5000 list is *\"just 2 years and 4 months.\"* Their own client base — sites under continuous care — averages *\"6 yea"},{"id":216,"slug":"research-brief-built-to-last","title":"Research brief: Built to Last — why most SMB sites rebuild every 3-4 years (piece 5 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","security-vulnerabilities","accessibility","longevity-architecture"],"updated_at":"2026-05-22T19:58:12.776Z","snippet":"**Status:** Research material — not a finished article. Compiled May 2026.\n\n## Thesis\n\nMost SMB websites get rebuilt every 2-4 years (Orbit Media: average across the Inc 5000 is **2 years 4 months**)."},{"id":215,"slug":"rule-implement-megamenu-with-hover-delay","title":"RULE: Mega menu hover delay 500ms before show, 100ms reveal. Mobile uses accordion / sequential, not the same mega menu.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["agency-methodology","navigation-design"],"updated_at":"2026-05-22T19:40:49.169Z","snippet":"**Rule:** Mega menu implementation on Candid client sites follows NN/g's timing protocol:\n\n- Hover the nav item for **500ms** before showing the mega menu\n- Once triggered, the mega menu appears withi"},{"id":214,"slug":"rule-small-distributor-use-hub-and-spoke","title":"RULE: 4-15-person service businesses use hub-and-spoke IA, not enterprise matrix. Don't pretend to be Dentons.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","information-architecture"],"updated_at":"2026-05-22T19:40:49.165Z","snippet":"**Rule:** For Candid client businesses in the **4-15-person size range**, default to **hub-and-spoke IA**: one hub page per vertical, with shared-service content pulled in via blocks/partials/includes"},{"id":213,"slug":"rule-keep-short-forms-single-step","title":"RULE: Forms under ~7 fields stay single-step. Multi-step only when total fields cross the threshold.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["agency-methodology","forms-conversion"],"updated_at":"2026-05-22T19:40:49.161Z","snippet":"**Rule:** Default to single-step forms for **fewer than 7 total fields**. Use multi-step only when the form is genuinely longer (qualifier + contact + details).\n\n**Why:** Zuko ([[zuko-multi-step-only-"},{"id":212,"slug":"rule-one-service-per-vertical-when-offerings-differ","title":"RULE: One Service schema per vertical when offerings genuinely differ. Multi-audience Service when offering is identical.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["schema-org","information-architecture"],"updated_at":"2026-05-22T19:40:49.158Z","snippet":"**Rule:** Use **one `Service` schema entity per vertical** when verticals have genuinely different offerings (different SKUs, different regulations, different delivery patterns). Use **one `Service` w"},{"id":211,"slug":"rule-expose-industry-and-service-as-orthogonal-axes","title":"RULE: Expose Industries and Services as two orthogonal axes in the top nav. Don't hide one behind the other.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:49.153Z","snippet":"**Rule:** Multi-vertical service business sites expose **both axes** — Industries (vertical) and Services (capability) — at the top navigation. Don't bury one as a sub-menu under the other.\n\n**Why:** "},{"id":210,"slug":"rule-vertical-pages-need-substantive-content","title":"RULE: Every vertical page carries substantively vertical-specific content (case studies, regulations, vocabulary). Generic content gets folded.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","agency-methodology","information-architecture"],"updated_at":"2026-05-22T19:40:49.149Z","snippet":"**Rule:** Every vertical page on a Candid client site must contain **substantively vertical-specific content** — not just the vertical name swapped into a generic template. Required content per vertic"},{"id":209,"slug":"rule-avoid-audience-based-primary-nav","title":"RULE: Don't use audience-based primary nav unless audience categories are mutually exclusive, jargon-free, with substantially unique content","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:49.145Z","snippet":"**Rule:** For Candid Creative client sites, audience-based primary navigation (\"For Farmers,\" \"For Fleet Managers,\" \"For Homeowners\") is the **default exception, not the default rule**. Use it only wh"},{"id":208,"slug":"rule-use-industries-slug-as-default-url","title":"RULE: Default to /industries/<slug>/ for multi-vertical service business URLs. Never /for-audience/ as primary IA.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","dev","candid-team"],"topics":["seo-content","agency-methodology","information-architecture"],"updated_at":"2026-05-22T19:40:49.141Z","snippet":"**Rule:** For Candid Creative multi-vertical service business clients, the **default URL convention is `/industries/<slug>/`** (URL Pattern A). Variants like flat `/<slug>/` (Pattern B) are acceptable"},{"id":207,"slug":"bj-distributor-ia-recommendation","title":"Boucher & Jones IA recommendation: Pattern A + hub-and-spoke, NOT enterprise matrix","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","information-architecture"],"updated_at":"2026-05-22T19:40:49.135Z","snippet":"**The specific recommendation for the Boucher & Jones website** (regional Petro-Canada lubricant distributor, 4 dominant verticals: Agriculture / Fleet / Construction / Residential).\n\n## Pattern\n\n- **"},{"id":206,"slug":"url-structure-patterns-by-pattern","title":"Reference: 5 URL structure patterns for multi-vertical IA (A through E), with field-observed usage","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","dev","candid-team"],"topics":["seo-content","information-architecture"],"updated_at":"2026-05-22T19:40:49.131Z","snippet":"**Five URL patterns observed in field research, ranked by recommendation strength.** From §8 of [[research-brief-ia-multi-vertical-service-business]].\n\n## Pattern A: `/industries/<vertical>/` — RECOMM"},{"id":205,"slug":"ia-decision-matrix-by-business-shape","title":"Reference: which IA pattern to use, by business shape (decision matrix)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","information-architecture"],"updated_at":"2026-05-22T19:40:49.127Z","snippet":"**The practical decision matrix from §7 of [[research-brief-ia-multi-vertical-service-business]].** Map the business shape to the IA pattern:\n\n| Condition | Recommended pattern | Rationale |\n|---|---|"},{"id":204,"slug":"mobile-nav-sequential-not-split-button","title":"NN/g: split buttons unreliable on touch (fat-finger conflicts) — use sequential menus or accordions on mobile","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["navigation-design"],"updated_at":"2026-05-22T19:40:49.123Z","snippet":"**Claim:** Per NN/g's mobile-navigation research, split buttons for navigation (where part of the button navigates and part expands a sub-menu) are **unreliable on touchscreens** due to fat-finger con"},{"id":203,"slug":"zero-for-audience-slug-in-service-business-sample","title":"Field survey (May 2026): the /for-<audience>/ URL pattern was observed on ZERO of 8 multi-vertical service sites","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["measurement","information-architecture"],"updated_at":"2026-05-22T19:40:49.120Z","snippet":"**Claim:** Among 8 multi-vertical service sites examined in primary field research (RelaDyne, E.H. Wolf, CMFuels, Grainger, Fastenal, Dentons, Crowe, HUB International), the `/for-<audience>/` URL pat"},{"id":202,"slug":"hub-international-parallel-industries-products","title":"HUB International: parallel /industries/ + /products/ with industry sub-pages where complexity warrants","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture"],"updated_at":"2026-05-22T19:40:49.117Z","snippet":"**Claim:** **HUB International** uses parallel `/industries/` and `/products/` top-level namespaces. Industry sub-pages exist where complexity warrants (e.g., `/industries/agribusiness-and-farm-insura"},{"id":201,"slug":"fastenal-no-industries-ia-counter-example","title":"Fastenal: NO /industries/ IA at all — product+service-first nav. The steel-manned alternative.","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture"],"updated_at":"2026-05-22T19:40:49.113Z","snippet":"**Claim:** **Fastenal** — one of the largest US industrial distributors with multi-vertical customers — maintains **no `/industries/` IA at all**. Pure product-first + service-first nav; industries su"},{"id":200,"slug":"dentons-find-your-team-matrix-pattern","title":"Dentons: explicit Industries × Practices matrix at /find-your-dentons-team/ — \"organized around your business agenda\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture"],"updated_at":"2026-05-22T19:40:49.109Z","snippet":"**Claim:** **Dentons** exposes a deliberate matrix at `/en/find-your-dentons-team/` with parallel children `/practices/` and `/industry-sectors/`.\n\n**Quote (Dentons):**\n\n> \"We have organized our conte"},{"id":199,"slug":"bdo-industries-slash-services-mirror","title":"BDO USA: mirrors Crowe — /industries/<slug>/ pattern with separate /services/ namespace","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture"],"updated_at":"2026-05-22T19:40:49.105Z","snippet":"**Claim:** **BDO USA** mirrors the Crowe IA pattern: `/industries/<slug>/` for industries, separate `/services/` namespace for services. Same orthogonal-axis logic.\n\n**Source:** <https://www.bdo.com/i"},{"id":198,"slug":"crowe-cleanest-industries-slug-pattern","title":"Crowe LLP: cleanest /industries/<slug>/ URL pattern in the sample (Audit/Tax/Advisory/Consulting × industries)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture"],"updated_at":"2026-05-22T19:40:49.101Z","snippet":"**Claim:** **Crowe LLP** uses the cleanest `/industries/<slug>/` URL convention observed among large professional services firms, with:\n\n- Homepage section explicitly headed \"INDUSTRIES WE SERVE\"\n- Fo"},{"id":197,"slug":"eh-wolf-petro-canada-distributor-ia-pattern","title":"E.H. Wolf & Sons: closest direct B&J analog — \"Industries We Serve\" + 16 flat-root vertical pages","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["information-architecture"],"updated_at":"2026-05-22T19:40:49.097Z","snippet":"**Claim:** **E.H. Wolf & Sons** (Petro-Canada regional distributor, ehwolf.com) uses an explicit **\"Industries We Serve\" mega-menu label** and **16 vertical pages at flat root slugs**: `/agriculture`,"},{"id":196,"slug":"reladyne-industries-pattern-19-verticals","title":"RelaDyne: /products-solutions/<industry>/ namespace, ~19 verticals, multi-axis IA (\"By Industry / Product / Brand / Service\")","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["information-architecture"],"updated_at":"2026-05-22T19:40:49.094Z","snippet":"**Claim:** **RelaDyne** (US parent distributor of Petro-Canada products) exposes industries under `/products-solutions/<industry>/` — e.g., `/products-solutions/agriculture/`, `/construction/`, `/flee"},{"id":195,"slug":"aubrey-yung-audience-vs-area-served","title":"Aubrey Yung: \"audience captures relevance; areaServed captures coverage\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","local-seo"],"updated_at":"2026-05-22T19:40:49.090Z","snippet":"**Quote (Aubrey Yung, practitioner reference):**\n\n> \"Audience captures relevance, while areaServed captures coverage.\"\n\n**Source:** <https://aubreyyung.com/audience-schema/>\n\n**Confidence:** Single-so"},{"id":194,"slug":"schema-org-government-service-audience-canonical-pattern","title":"Schema.org canonical pattern: one Service entity with audience: { type: Audience, name: ... } + areaServed","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["schema-org"],"updated_at":"2026-05-22T19:40:49.086Z","snippet":"**Claim:** Schema.org's `GovernmentService` example demonstrates the canonical pattern for audience-targeted services: one Service entity with `audience: { \"@type\": \"Audience\", \"name\": \"Veterans\" }` p"},{"id":193,"slug":"schema-org-service-audience-property","title":"Schema.org: Service.audience accepts Audience | PeopleAudience | BusinessAudience with audienceType as free-text","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["schema-org","information-architecture"],"updated_at":"2026-05-22T19:40:49.082Z","snippet":"**Claim:** Schema.org's `Service` type supports an `audience` property. The `audience` property accepts one of:\n\n- `Audience` — generic\n- `PeopleAudience` — consumer-facing\n- `BusinessAudience` — B2B\n"},{"id":192,"slug":"zuko-multi-step-only-helps-above-7-fields","title":"Zuko: multi-step forms only outperform single-page above ~7 fields; below that, neutral or worse","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","forms-conversion"],"updated_at":"2026-05-22T19:40:49.078Z","snippet":"**Claim:** Zuko (form analytics vendor) reports that a two-step form outperforms a single-page form **by 14% only when total fields exceed seven**. Below that threshold, the multi-step lift is neutral"},{"id":191,"slug":"numinam-multi-step-743pct-lift-11-fields-2024","title":"Numinam (2024): 11-field B2B SaaS form 0.96% → 8.1% via multi-step (+743% lift)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["forms-conversion"],"updated_at":"2026-05-22T19:40:49.074Z","snippet":"**Claim:** Numinam case study (Leadgen Economy A/B test, 2024): an 11-field B2B SaaS quote form converted at **0.96%** as a single-page form vs **8.1%** when split into 3 steps — a **+743% lift**.\n\n**"},{"id":190,"slug":"venture-harbour-multi-step-300pct-lift","title":"Venture Harbour: multi-step forms up to 300% better than single-page — correctly attributed (NOT CXL/ConversionXL)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["forms-conversion"],"updated_at":"2026-05-22T19:40:49.069Z","snippet":"**Claim:** \"Multi-step lead forms can convert up to **300% better** than single-page forms.\" — Venture Harbour (Marcus Taylor), updated April 4, 2026.\n\n**Source:** <https://ventureharbour.com/multi-st"},{"id":189,"slug":"formstack-multi-step-13-9-vs-4-5-pct-2014","title":"Formstack 2014: multi-step forms 13.9% vs 4.5% single-step (n=450k+ accounts) — directional, not RCT","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","forms-conversion"],"updated_at":"2026-05-22T19:40:49.065Z","snippet":"**Claim:** Formstack's 2014 Form Conversion Report, compiled from **450,000+ Formstack accounts**, reported multi-step forms convert at **13.9%** vs **4.5%** for single-page forms — a ~3.1× lift.\n\n**Q"},{"id":188,"slug":"gartner-77pct-b2b-purchase-very-complex-2019","title":"Gartner: 77% of B2B buyers say their latest purchase was \"very complex or difficult\" (CSO Update 2019)","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["measurement","b2b-buying"],"updated_at":"2026-05-22T19:40:49.061Z","snippet":"**Claim:** Per Gartner (CSO Update 2019), **77% of B2B buyers stated their latest purchase was \"very complex or difficult.\"**\n\n**Source:** Gartner — <https://www.gartner.com/en/sales/insights/b2b-buyi"},{"id":187,"slug":"gartner-6-to-10-decision-makers-2019","title":"Gartner: typical B2B buying group is 6-10 decision-makers; ~95% revisit earlier decisions (CSO Update, 2019)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","b2b-buying"],"updated_at":"2026-05-22T19:40:49.056Z","snippet":"**Claim:** Gartner (\"The New B2B Buying Journey and Its Implications for Sales\", CSO Update 2019):\n\n- Typical B2B buying group includes **6-10 decision-makers**\n- **~95%** of buying groups revisit ear"},{"id":186,"slug":"gartner-buying-journey-bowl-of-spaghetti","title":"Gartner: real B2B buying journey looks \"like a big bowl of spaghetti\" (pull quote)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["b2b-buying"],"updated_at":"2026-05-22T19:40:49.053Z","snippet":"**Quote (Gartner, reproduced in Foleon's summary):**\n\n> \"If we were to map out a real B2B buying journey, it would look a lot less like a step-by-step linear process and a lot more like a big bowl of "},{"id":185,"slug":"gartner-six-buying-jobs-non-linear","title":"Gartner: B2B buyers complete \"six buying jobs\" in non-linear \"looping\" order","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","b2b-buying"],"updated_at":"2026-05-22T19:40:49.049Z","snippet":"**Claim:** Per Gartner's B2B buying journey research, B2B buyers complete **six buying jobs** in non-linear / \"looping\" order — not a sequential funnel:\n\n1. Problem identification\n2. Solution explorat"},{"id":184,"slug":"mueller-internal-linking-biggest-thing","title":"John Mueller on internal linking: \"one of the biggest things that you can do on a website\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","information-architecture"],"updated_at":"2026-05-22T19:40:49.045Z","snippet":"**Quote (John Mueller, via Search Engine Journal):**\n\n> \"It's one of the biggest things that you can do on a website to kind of guide Google and guide visitors to the pages that you think are importan"},{"id":183,"slug":"google-faceted-navigation-not-search-friendly","title":"Google Search Central: faceted navigation creates combinatorial duplicate URLs; not search-friendly by default","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:49.041Z","snippet":"**Quote (Google Search Central, formal guidance):**\n\n> \"Faceted navigation, such as filtering by color or price range, can be helpful for your visitors, but it's often not search-friendly since it cre"},{"id":182,"slug":"mueller-fold-near-duplicate-pages","title":"Mueller on near-duplicate vertical/location pages: fold them into one stronger page unless each has something unique","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","information-architecture"],"updated_at":"2026-05-22T19:40:49.036Z","snippet":"**Quote (John Mueller, SEO Office Hours, via Lumar archive):**\n\n> \"If there's something unique about the offerings in each city, it's generally fine to have separate URLs. If the information on both i"},{"id":181,"slug":"mueller-no-penalty-duplicate-local-content","title":"John Mueller: Google does NOT penalize duplicate content for localized websites — it consolidates","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","information-architecture"],"updated_at":"2026-05-22T19:40:49.031Z","snippet":"**Claim:** Asked whether Google penalizes duplicate content for localized websites, John Mueller answered \"The answer here is no.\" Duplicate content is consolidated, not penalized.\n\n**Source:** Google"},{"id":180,"slug":"polar-bear-book-rosenfeld-morville-arango-2015","title":"Information Architecture: For the Web and Beyond, 4th ed. (Rosenfeld/Morville/Arango, O'Reilly 2015) — the canonical IA reference","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["knowledge-base","information-architecture"],"updated_at":"2026-05-22T19:40:49.024Z","snippet":"**Claim:** The \"polar bear book\" — *Information Architecture: For the Web and Beyond, 4th edition*, Rosenfeld / Morville / Arango (O'Reilly, 2015) — remains the canonical IA reference. No 5th edition "},{"id":179,"slug":"nng-navigation-labels-information-scent","title":"NN/g: use labels with strong information scent; avoid vague verbs and conversational tone in nav (Apr 16 2023)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["extractability","navigation-design"],"updated_at":"2026-05-22T19:40:49.019Z","snippet":"**Quote (NN/g, April 16, 2023):**\n\n> \"Vague call-to-action verbs, unnecessary parallel language, and conversational tone of voice used in links and navigation labels are confusing.\"\n\n**Source:** <http"},{"id":178,"slug":"nng-megamenu-dont-cover-entire-screen","title":"NN/g: \"On large screens, don't cover the entire screen when megamenus are open\" (Apr 30 2023)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["navigation-design"],"updated_at":"2026-05-22T19:40:49.014Z","snippet":"**Quote (NN/g, Apr 30, 2023):**\n\n> \"On large screens, don't cover the entire screen when megamenus (or submenus) are open.\"\n\n**Source:** <https://www.nngroup.com/articles/menu-design/>\n\n**Confidence:*"},{"id":177,"slug":"nng-mega-menu-hover-protocol-500ms","title":"NN/g mega-menu hover protocol: wait 0.5s before showing, then display within 0.1s","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:49.007Z","snippet":"**Quote (Jakob Nielsen, NN/g):**\n\n> \"Wait 0.5 seconds. If the pointer is still hovering over a navbar item, display its mega menu within 0.1 seconds.\"\n\n**Source:** <https://www.nngroup.com/articles/me"},{"id":176,"slug":"nielsen-mega-menus-show-everything-at-glance","title":"Jakob Nielsen: \"Mega menus show everything at a glance, so users can see rather than try to remember\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:48.999Z","snippet":"**Quote (Jakob Nielsen, NN/g):**\n\n> \"Mega menus show everything at a glance, so users can see rather than try to remember.\"\n\n**Source:** <https://www.nngroup.com/articles/mega-menus-work-well/>\n\n**Con"},{"id":175,"slug":"nng-five-problems-with-role-based-navigation","title":"NN/g: five recurring problems with role-based navigation (Laubheimer, 2022)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:48.993Z","snippet":"**Claim:** NN/g identifies five recurring usability problems with role-based / audience-based navigation:\n\n1. Users don't know which group to choose\n2. Users identify with more than one audience group"},{"id":174,"slug":"nng-audience-based-navigation-degrades-usability-2022","title":"NN/g: audience-based navigation \"will often degrade usability\" (Laubheimer, Aug 14 2022)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:48.986Z","snippet":"**Quote (Page Laubheimer, NN/g, Aug 14, 2022):**\n\n> \"Segmenting a website's navigation by audience categories will often degrade usability, either because users belong in multiple categories, or becau"},{"id":173,"slug":"research-brief-ia-multi-vertical-service-business","title":"Research brief: Information architecture for service businesses with multiple verticals (piece 6 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["content-architecture","agency-methodology","information-architecture","navigation-design"],"updated_at":"2026-05-22T19:40:48.970Z","snippet":"**Status:** Research material, not finished article. Compiled May 2026.\n\n## TL;DR\n\n- **The `/industries/<slug>/` URL pattern is dominant** among multi-vertical B2B service firms (Crowe, BDO USA, HUB I"},{"id":167,"slug":"managed-platforms-buy-security-team","title":"Counter-argument: a $200/mo managed platform buys you a larger security team than most agencies have","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["tech-stack","platform-lock-in"],"updated_at":"2026-05-22T19:17:51.370Z","snippet":"**Claim (honest steel-man):** WP Engine, Shopify, and Squarespace each employ security teams larger than most agencies. A self-hosted VM with no patching discipline is *more* vulnerable than a managed"},{"id":136,"slug":"rule-treat-no-export-as-hostage-situation","title":"RULE: A platform that cannot produce a clean export today is a hostage situation. Treat it as such.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","platform-lock-in","data-portability"],"updated_at":"2026-05-22T19:17:26.891Z","snippet":"**Rule:** When evaluating a platform / vendor / agency for a Candid client, the **empirical test** is: *can the client get a clean, working export of their content and data today, without vendor coope"},{"id":135,"slug":"rule-document-exit-transition-in-contract","title":"RULE: Standard agency contract includes a written exit-transition clause naming deliverables and timelines","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","data-portability"],"updated_at":"2026-05-22T19:17:26.886Z","snippet":"**Rule:** Every Candid client contract includes an **exit-transition clause** that specifies, in writing:\n\n1. What artifacts the client receives at end of engagement (database dump, media library, rep"},{"id":134,"slug":"rule-require-database-export-day-one","title":"RULE: Require a working database export on Day 1 of any engagement. Test it. Re-test quarterly.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["agency-methodology","data-portability"],"updated_at":"2026-05-22T19:17:26.882Z","snippet":"**Rule:** Every Candid client engagement must have a **working, tested database export** procedure documented within the first week. The export runs end-to-end at least once during onboarding. The pro"},{"id":133,"slug":"rule-list-business-as-domain-registrant","title":"RULE: Always list the business (not the agency) as the domain Registrant. Step 1 of every engagement.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","domain-registration"],"updated_at":"2026-05-22T19:17:26.878Z","snippet":"**Rule:** For every Candid client engagement, the **first action** in onboarding is a WHOIS lookup of the client's primary domain. If the **Registrant** is not the business or the business owner, **fi"},{"id":132,"slug":"ownership-checklist-at-agency-separation","title":"Ownership Checklist: what an SMB must be able to walk away with at agency separation","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","platform-lock-in","data-portability","domain-registration"],"updated_at":"2026-05-22T19:17:26.873Z","snippet":"**The practical deliverable from [[research-brief-owning-your-stack]].** At agency separation, an SMB should be able to walk away with **all** of the following, with **no agency cooperation required**"},{"id":131,"slug":"web-migrations-can-succeed-with-discipline","title":"Counter-example: well-planned migrations can produce 3-5× traffic gains (BrightEdge / Numen case studies)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["migration-mechanics"],"updated_at":"2026-05-22T19:17:26.868Z","snippet":"**Claim:** Documented case studies show **3× and 5× traffic gains** when migration is executed with: complete 301 redirect mapping, content preservation, pre-launch redirect testing, and post-launch m"},{"id":130,"slug":"coalition-tech-bigcommerce-28k-to-13.4k-keywords","title":"Coalition Tech \"Client ABC\" BigCommerce migration: 28,000 → 13,400 ranking keywords in 10 months","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["migration-mechanics","ecommerce-platforms"],"updated_at":"2026-05-22T19:17:26.865Z","snippet":"**Claim:** Coalition Technologies case study: client (\"Client ABC\") moved from old agency platform to BigCommerce. Ranking keywords fell from **28,000 to 13,400 within 10 months** — a **52% loss** — d"},{"id":129,"slug":"uk-retailer-3-8m-migration-loss","title":"UK retailer lost ~£3.8M in first month after botched migration — IT consultants rejected redirect mapping","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["measurement","migration-mechanics"],"updated_at":"2026-05-22T19:17:26.861Z","snippet":"**Claim:** A UK retailer with a £7.6M+ redesign budget lost approximately **£3.8 million in the first month** after IT consultants rejected URL redirect mapping recommendations during the migration.\n\n"},{"id":128,"slug":"migration-9-of-10-fail-numen-single-source","title":"\"9 of 10 web migrations fail\" — single-sourced (Numen Technology); use 523-day SEJ stat instead","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","migration-mechanics"],"updated_at":"2026-05-22T19:17:26.857Z","snippet":"**Claim:** \"**Only 1 in 10 website migrations result in improved search engine rankings. Nine out of ten fail.**\" — widely repeated industry statistic.\n\n**Source:** numentechnology.co.uk case study (2"},{"id":126,"slug":"bill-c-15-canada-pipeda-mobility-2025","title":"Canadian Bill C-15 (tabled Nov 4, 2025) — proposes data-mobility framework for federal PIPEDA","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["data-portability","regulatory-compliance"],"updated_at":"2026-05-22T19:17:26.848Z","snippet":"**Claim:** Federal Canadian **Bill C-15** (tabled **November 4, 2025**) proposes adding a data-mobility framework to PIPEDA — bringing federal Canadian privacy law in line with Quebec Law 25 ([[quebec"},{"id":125,"slug":"quebec-law-25-data-portability-sept-2024","title":"Quebec Law 25: data portability effective Sept 22, 2024; penalties up to C$25M / 4% of worldwide turnover","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["data-portability","regulatory-compliance"],"updated_at":"2026-05-22T19:17:26.845Z","snippet":"**Claim:** **Quebec Law 25** right to data portability became effective **September 22, 2024**. The Quebec government recommends **CSV / XML / JSON** as portable formats and advises *against* PDFs, im"},{"id":124,"slug":"eu-data-act-sept-2025-2027","title":"EU Data Act (Regulation 2023/2854): SaaS switching procedures effective Sept 2025; switching fees abolished by Sept 2027","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["platform-lock-in","data-portability","regulatory-compliance"],"updated_at":"2026-05-22T19:17:26.840Z","snippet":"**Claim:** **EU Data Act** (Regulation 2023/2854) became fully applicable **September 12, 2025**. It mandates cloud/SaaS switching procedures and **eliminates switching fees by September 27, 2027**. E"},{"id":123,"slug":"gdpr-article-20-portability-narrow","title":"GDPR Article 20: portability is narrow — only user-provided data, only under consent/contract, excludes derived data","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["data-portability","regulatory-compliance"],"updated_at":"2026-05-22T19:17:26.837Z","snippet":"**Claim:** **GDPR Article 20** grants a right to data portability in a \"structured, commonly used and machine-readable format\" — **but only for data**:\n\n- Processed by automated means\n- Under consent "},{"id":122,"slug":"google-workspace-no-cross-tenant-file-transfer","title":"Google Workspace: cannot transfer file ownership to external accounts; client separation requires IMAP+DNS migration","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","data-portability"],"updated_at":"2026-05-22T19:17:26.832Z","snippet":"**Claim:** **Google Workspace forbids transferring file ownership to external accounts** (cited as \"user and company data\" protection). When a client's email and Drive live in an agency's Google Works"},{"id":121,"slug":"acf-data-broken-in-xml-export","title":"ACF custom fields don't survive WordPress's native XML export — image IDs + serialized arrays break","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","platform-lock-in","data-portability"],"updated_at":"2026-05-22T19:17:26.827Z","snippet":"**Claim:** Advanced Custom Fields (ACF) data does not migrate cleanly via WordPress's **native XML export/import**. Image IDs break (referring to post IDs that don't exist on the destination), and ser"},{"id":120,"slug":"elementor-no-deactivate-with-content-issue-5667","title":"Elementor: no built-in \"deactivate but retain content\" option — open feature request since 2018","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","platform-lock-in"],"updated_at":"2026-05-22T19:17:26.824Z","snippet":"**Claim:** **Elementor has no built-in mechanism to deactivate and retain content as standard HTML/WordPress markup.** This is tracked as an open feature request on GitHub: `elementor/elementor` issue"},{"id":119,"slug":"divi-4-shortcode-lockin-et-pb","title":"Divi 4 stored content as proprietary [et_pb_*] shortcodes — orphan text on theme deactivation (Divi 5 fixes this)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","platform-lock-in"],"updated_at":"2026-05-22T19:17:26.819Z","snippet":"**Claim:** **Divi 4** stored content as proprietary `[et_pb_*]` shortcodes. Deactivating the theme leaves pages full of unrendered shortcodes as visible text. **Divi 5** (rolling out 2025-2026) adopts"},{"id":118,"slug":"agency-domain-hostage-pattern-recurring","title":"Agency-as-Registrant \"domain hostage\" pattern — practitioner-documented but rarely litigated","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","platform-lock-in","domain-registration"],"updated_at":"2026-05-22T19:17:26.815Z","snippet":"**Claim:** Documented patterns of agencies registering client domains under agency name and refusing transfer. One referenced case in Texas: agency demanded thousands of dollars before releasing the d"},{"id":117,"slug":"icann-registrant-is-legal-owner","title":"ICANN: listed Registrant is the legal owner of a domain — admin/technical contact is NOT ownership","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["platform-lock-in","domain-registration"],"updated_at":"2026-05-22T19:17:26.810Z","snippet":"**Claim:** ICANN policies treat the listed **Registrant** as the legal owner of a domain. Agencies commonly list themselves as Registrant (rather than Administrative or Technical Contact only), and sm"},{"id":116,"slug":"squarespace-acquired-google-domains-2023","title":"Squarespace acquired Google Domains for $180M (Sept 7, 2023) — ~10M SMB domains migrated automatically","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["platform-lock-in","domain-registration"],"updated_at":"2026-05-22T19:17:26.806Z","snippet":"**Claim:** Squarespace acquired Google Domains assets for **$180 million**; deal closed **September 7, 2023**. Migration of **~10 million domains** completed in batches through 2024. Squarespace prici"},{"id":115,"slug":"shopify-custom-function-migration-cost","title":"Shopify checkout customization rebuild: $2k–$10k per shop, 4–8 weeks for complex Scripts","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["migration-mechanics","ecommerce-platforms"],"updated_at":"2026-05-22T19:17:26.800Z","snippet":"**Claim:** Custom Shopify Function migrations (rebuilds of checkout.liquid / Scripts customizations as Checkout UI Extensions) typically cost **$2,000–$10,000 per shop** depending on logic complexity "},{"id":114,"slug":"shopify-plus-merchant-count-2026","title":"Shopify Plus: ~47,130 distinct merchants on 70,696 domains (Store Leads 2026); ~31% of Shopify's MRR","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["measurement","ecommerce-platforms"],"updated_at":"2026-05-22T19:17:26.797Z","snippet":"**Claim:** Store Leads (storeleads.app, 2026) reports **70,696 domains running Shopify Plus** representing approximately **47,130 distinct merchants**. Plus contributed approximately **31% of Shopify'"},{"id":113,"slug":"shopify-checkout-liquid-sunset-2024-2026","title":"Shopify checkout.liquid sunset (Aug 2024 → Aug 2025 → June 30 2026) — unmigrated customizations will be DELETED","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["platform-lock-in","migration-mechanics","ecommerce-platforms"],"updated_at":"2026-05-22T19:17:26.793Z","snippet":"**Claim:** Shopify is forcibly sunsetting `checkout.liquid` customizations on a cascading schedule:\n\n- **August 13, 2024** — Information/Shipping/Payment steps (Shopify Plus only)\n- **August 28, 2025*"},{"id":112,"slug":"squarespace-7-1-no-xml-export","title":"Squarespace 7.1: no XML export at all. 7.0 export omits images, products, custom CSS, video, audio, drafts, non-blog pages","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["platform-lock-in","data-portability"],"updated_at":"2026-05-22T19:17:26.789Z","snippet":"**Claim:** **Squarespace 7.1 does not support XML export at all.** Squarespace 7.0 XML export does not include: images, products beyond CSV, custom CSS, video blocks, audio blocks, drafts, style setti"},{"id":111,"slug":"wix-no-export-by-design","title":"Wix officially: \"no export is possible\" — confirmed in writing as a structural property","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["platform-lock-in","data-portability"],"updated_at":"2026-05-22T19:17:26.784Z","snippet":"**Quote (Wix Help Center, current):**\n\n> \"Since Wix is a SaaS solution, your site must run on Wix's servers… the SaaS architecture does not support external hosting since it uses Wix's proprietary tec"},{"id":110,"slug":"webflow-export-limitations-cms-not-included","title":"Webflow code export: CMS / accounts / e-commerce / localized content NOT included; forms and search don't work","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["platform-lock-in","data-portability"],"updated_at":"2026-05-22T19:17:26.778Z","snippet":"**Quote (Webflow Help Center, current):**\n\n> \"CMS, User Accounts, Ecommerce content (databases) and functionality, and localized pages, elements, and content aren't included in exported code.\"\n\nAlso: "},{"id":109,"slug":"automattic-blackrock-markdown-67pct-2025","title":"BlackRock marks down Automattic shares 67.4% to $27.74 (June 30, 2025) — financial signal of dispute cost","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["wordpress","measurement","platform-lock-in"],"updated_at":"2026-05-22T19:17:26.772Z","snippet":"**Claim:** **BlackRock** marked down Automattic shares from $85 (2021 Series E) to **$27.74 as of June 30, 2025** — a **67.4% devaluation** that leaves the shares worth only **32.6%** of their 2021 Se"},{"id":108,"slug":"acf-scf-forced-fork-october-2024","title":"ACF → SCF forced fork (Oct 12, 2024) — first unilateral plugin takeover in 21-year WordPress history","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["wordpress","platform-lock-in"],"updated_at":"2026-05-22T19:17:26.766Z","snippet":"**Claim:** On **October 12, 2024**, WordPress.org forcibly took over the **Advanced Custom Fields** plugin (a WP Engine property running on **>2 million WordPress sites**) and renamed the WordPress.or"},{"id":107,"slug":"wp-engine-automattic-dispute-timeline-2024-2026","title":"WP Engine vs Automattic timeline (Sept 2024 → ongoing) — open-source has centralized choke points","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["wordpress","platform-lock-in"],"updated_at":"2026-05-22T19:17:26.759Z","snippet":"**Claim:** A vendor dispute between WP Engine and Automattic (Matt Mullenweg) demonstrated that even \"open source\" platforms have centralized distribution choke points that can be weaponized.\n\n**Timel"},{"id":106,"slug":"indieweb-posse-pattern","title":"IndieWeb POSSE: \"Publish on Own Site, Syndicate Elsewhere\" (Tantek Çelik, June 2012)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","data-portability"],"updated_at":"2026-05-22T19:17:26.753Z","snippet":"**Claim:** **POSSE** — \"Publish on Own Site, Syndicate Elsewhere\" — was defined formally by **Tantek Çelik on June 21, 2012**. Widely adopted 2023-2026 via tools like Bridgy Publish, RSS-driven syndic"},{"id":105,"slug":"solid-project-berners-lee","title":"Solid project (Tim Berners-Lee) — data-pod architecture; ODI took stewardship Oct 2024","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["platform-lock-in","data-portability"],"updated_at":"2026-05-22T19:17:26.743Z","snippet":"**Claim:** Tim Berners-Lee launched the **Solid project** at MIT (solid.mit.edu) to re-architect the web around user-owned data pods. The Open Data Institute took stewardship in **October 2024**. **In"},{"id":104,"slug":"doctorow-right-of-exit-interoperability","title":"Doctorow's prescription: \"right of exit\" requires interoperability, not just open source","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["platform-lock-in","data-portability"],"updated_at":"2026-05-22T19:17:26.739Z","snippet":"**Claim:** Doctorow's prescription against enshittification is a **\"right of exit\"** — guaranteeing users can leave a platform without losing access to their data, which requires interoperability (not"},{"id":103,"slug":"doctorow-enshittification-pattern","title":"Doctorow: \"enshittification\" — the three-phase decay pattern of platforms (Word of the Year 2023 + 2024)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","platform-lock-in"],"updated_at":"2026-05-22T19:17:26.731Z","snippet":"**Claim:** Cory Doctorow coined \"enshittification\" in November 2022; the American Dialect Society named it **2023 Word of the Year**; Macquarie Dictionary named it **2024 Word of the Year**. Doctorow'"},{"id":102,"slug":"research-brief-owning-your-stack","title":"Research brief: Owning your stack — why agency-managed platforms cost more than they save (piece 4 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["agency-methodology","platform-lock-in","data-portability","domain-registration"],"updated_at":"2026-05-22T19:17:26.715Z","snippet":"**Status:** Research material — not a finished article. Compiled May 22, 2026.\n\n## TL;DR\n\n- \"Ownership\" in 2026 is a layered claim — domain, DNS, code, content, data, infrastructure, analytics, and cu"},{"id":83,"slug":"patchstack-91pct-vulns-in-plugins-2026","title":"Patchstack 2026: 91% of new WordPress vulnerabilities are in plugins; only 6 CVEs in core","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["wordpress","tech-stack"],"updated_at":"2026-05-22T18:58:11.569Z","snippet":"**Quote (Patchstack, State of WordPress Security in 2026):** *\"91% of new vulnerabilities were found in plugins, and 9% were found in themes. There were only 6 vulnerabilities reported in the WordPres"},{"id":51,"slug":"rule-never-claim-tool-name-without-citation","title":"RULE: Never publish a tool or library name without a citation that can be verified by a reader.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["e-e-a-t","agency-methodology"],"updated_at":"2026-05-22T18:57:39.680Z","snippet":"**Rule:** Never publish a claim of the form \"X tool is used by Y organization\" or \"library X powers Y feature\" without a citation a reader can verify. If the claim can't be sourced, either describe th"},{"id":50,"slug":"rule-cite-with-named-source-and-url","title":"RULE: Every non-trivial claim carries a named source with author/institution + date + URL. Confidence flag honest.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["knowledge-base","e-e-a-t","agency-methodology"],"updated_at":"2026-05-22T18:57:39.675Z","snippet":"**Rule:** Every quantitative claim, every quoted statement, and every attributed framing in Candid content carries a citation with: **named author or institution**, **publication date**, and **verifia"},{"id":49,"slug":"rule-lead-with-answer-40-60-words","title":"RULE: Lead paragraphs with the direct answer. Aim for 40–60 words. Make every paragraph self-contained.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["geo","extractability","agency-methodology"],"updated_at":"2026-05-22T18:57:39.671Z","snippet":"**Rule:** Every section of Candid client content leads with a direct, self-contained answer in **40-60 words**, named entities and statistics where possible, before any setup or context. Each paragrap"},{"id":48,"slug":"rule-publish-and-last-updated-dates-mandatory","title":"RULE: Every page ships with a publish date and a last-updated date. Refresh quarterly minimum.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["freshness","e-e-a-t","agency-methodology"],"updated_at":"2026-05-22T18:57:39.667Z","snippet":"**Rule:** Every Candid Creative content page (blog post, article, case study, KB entry, even service pages where appropriate) ships with both a **`datePublished`** and a **`dateModified`**, both as vi"},{"id":47,"slug":"rule-server-render-for-ai-crawlers","title":"RULE: Always server-render or statically generate content for AI crawlers. Never ship client-side-only HTML.","kind":"rule","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["ai-citation","nextjs","agency-methodology"],"updated_at":"2026-05-22T18:57:39.663Z","snippet":"**Rule:** Every page of every Candid client site must serve **rendered HTML at the URL** — either statically generated (Next.js export, Astro, Hugo) or server-side rendered (Next.js App Router with se"},{"id":46,"slug":"rule-schema-as-hygiene-not-growth-lever","title":"RULE: Always ship schema as hygiene. Never expect it alone to move AI citations.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["schema-org","ai-citation","agency-methodology"],"updated_at":"2026-05-22T18:57:39.659Z","snippet":"**Rule:** Always ship clean, validated schema (`LocalBusiness`, `Organization`, `Service`, `Product`, `Article`, `BreadcrumbList`, `FAQPage` where genuinely applicable) on every Candid Creative client"},{"id":45,"slug":"astro-content-collections-zod","title":"Astro Content Collections (stable since 2.0, modernized in Content Layer API late 2024): Zod-validated frontmatter, build-time TypeScript types","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["headless-cms","content-architecture","knowledge-base"],"updated_at":"2026-05-22T18:57:39.655Z","snippet":"**Claim:** Astro's Content Collections (stable since Astro 2.0; Content Layer API in Astro 5, late 2024) use **Zod schemas for build-time validation** of Markdown/MDX frontmatter, with auto-generated "},{"id":44,"slug":"openalex-semantic-scholar-citation-graphs","title":"OpenAlex (271M works) and Semantic Scholar (214M+ works) — open scholarly citation graphs at scale","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","knowledge-base"],"updated_at":"2026-05-22T18:57:39.650Z","snippet":"**Claim:** Two open scholarly knowledge graphs operate at scale:\n\n- **OpenAlex** (OurResearch nonprofit) — **271.3 million works** as of November 2025; launched 2022 to replace the discontinued Micros"},{"id":43,"slug":"our-world-in-data-open-provenance","title":"Our World in Data: CC-BY licensing, per-indicator JSON/CSV endpoints, full GitHub provenance","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","knowledge-base"],"updated_at":"2026-05-22T18:57:39.646Z","snippet":"**Claim:** Our World in Data (Oxford-based) publishes under **CC-BY**, exposes **structured CSV + JSON metadata endpoints per indicator**, and publishes its **data-processing code as open source on Gi"},{"id":42,"slug":"stanford-encyclopedia-permanent-archives","title":"Stanford Encyclopedia of Philosophy: every entry has permanent dated archived editions","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","knowledge-base","e-e-a-t"],"updated_at":"2026-05-22T18:57:39.642Z","snippet":"**Claim:** The Stanford Encyclopedia of Philosophy maintains **permanent dated \"archived editions\"** of every entry so scholars can cite a specific snapshot in time.\n\n**Source:** <https://plato.stanfo"},{"id":41,"slug":"llms-txt-low-traffic-skepticism","title":"OtterlyAI: /llms.txt sees 0.1% of AI-bot traffic — performs worse than average content page","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.637Z","snippet":"**Claim:** OtterlyAI's 90-day measurement reported **84 of 62,100 AI-bot requests (0.1%)** targeted /llms.txt files — *worse* than an average content page on the same domains.\n\n**Source:** Kai Spriest"},{"id":40,"slug":"wikipedia-top-cited-domain-ai-mode-2026","title":"Wikipedia is the #1 cited domain in Google AI Mode (11.22%); YouTube #2 at 9.51%","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.634Z","snippet":"**Claim:** Ahrefs Q1 2026 cross-platform data: Wikipedia is the **#1 cited domain in Google AI Mode** at **11.22%** of all tracked mentions; YouTube is #2 at **9.51%**. Surfer SEO Tracker (March-Aug 2"},{"id":39,"slug":"wikipedia-verifiability-policy","title":"Wikipedia verifiability policy: all challenged material must carry an inline citation to a reliable published source","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["knowledge-base","e-e-a-t"],"updated_at":"2026-05-22T18:57:39.630Z","snippet":"**Quote (Wikipedia:Verifiability):** *\"All quotations and any material challenged or likely to be challenged must be attributed to a reliable published source using an inline citation.\"*\n\n**Source:** "},{"id":38,"slug":"stripe-docs-as-product","title":"Stripe docs as a first-class product — Markdoc framework, documentation in performance reviews","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","knowledge-base"],"updated_at":"2026-05-22T18:57:39.626Z","snippet":"**Claim:** Stripe treats documentation as a first-class product. Engineers' documentation contributions are counted in performance reviews. The open-source **Markdoc** framework backs interactive feat"},{"id":37,"slug":"matuschak-evergreen-notes","title":"Andy Matuschak: evergreen notes — atomic, concept-oriented, densely linked, accreting over time","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","knowledge-base"],"updated_at":"2026-05-22T18:57:39.622Z","snippet":"**Claim:** Andy Matuschak's public notes (<https://notes.andymatuschak.org>) introduced \"evergreen notes\" — notes that *\"evolve, contribute, and accumulate over time, across projects\"* (updated 2023-0"},{"id":36,"slug":"diataxis-framework-procida","title":"Diátaxis (Daniele Procida): four documentation types — tutorials, how-to, reference, explanation","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","knowledge-base"],"updated_at":"2026-05-22T18:57:39.618Z","snippet":"**Claim:** The Diátaxis framework, created by Daniele Procida and published at <https://diataxis.fr>, divides documentation into four user needs:\n\n- **Tutorials** — learning-oriented (guided steps to "},{"id":35,"slug":"inp-replaced-fid-march-2024","title":"INP officially replaced FID as a Core Web Vital on March 12, 2024","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["core-web-vitals"],"updated_at":"2026-05-22T18:57:39.613Z","snippet":"**Claim:** Interaction to Next Paint (INP) officially replaced First Input Delay (FID) as a Core Web Vital on **March 12, 2024**.\n\n**Source:** web.dev / Google, confirmed in Addy Osmani's \"History of "},{"id":34,"slug":"mediafly-2022-interactive-engagement-caveat","title":"Mediafly Feb 2022: 13 min vs 8.5 min engagement on interactive vs static — but the measurement was B2B sales decks, not marketing websites","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["content-architecture","measurement"],"updated_at":"2026-05-22T18:57:39.609Z","snippet":"**Claim:** The widely-cited \"interactive content generates 52.6% more engagement; users spend 13 min on interactive vs 8.5 min on static\" statistic traces to a **single Mediafly press release dated Fe"},{"id":32,"slug":"elementor-lcp-3-8-to-5-2-seconds","title":"Elementor sites show pre-optimization median mobile LCP of 3.8–5.2s — well above Google's 2.5s threshold","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","wordpress","measurement"],"updated_at":"2026-05-22T18:57:39.600Z","snippet":"**Claim:** corewebvitals.io reports Elementor sites typically show **median mobile LCP of 3.8-5.2 seconds** pre-optimization. Post-optimization typically lands at 2.0-2.8s — still requiring \"ongoing m"},{"id":30,"slug":"wordpress-market-share-2026","title":"WordPress market share (May 2026): 43.2% of web, 60.4% of CMS — peaked at 65.2% in 2022","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["wordpress","measurement"],"updated_at":"2026-05-22T18:57:39.593Z","snippet":"**Claim:** WordPress powers approximately **43.2-43.5%** of all websites and holds roughly **60.4%** of the CMS market as of May 2026. The CMS share peaked at **65.2% in 2022** — a sustained ~5 point "},{"id":29,"slug":"extractability-paragraph-shape-40-60-words","title":"Extractability: a quotable paragraph leads with the answer, is 40-60 words, lives under semantic HTML, and names entities concretely","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["geo","content-architecture","extractability"],"updated_at":"2026-05-22T18:57:39.589Z","snippet":"**Synthesis** of GEO paper + Ahrefs content-helper findings + RAG chunking literature + the Digital Bloom 2025 report:\n\nA paragraph is extractable when it:\n1. Leads with the answer, not the setup\n2. I"},{"id":28,"slug":"ai-crawlers-do-not-execute-js","title":"AI crawlers (GPTBot, ClaudeBot, PerplexityBot) generally do not execute JavaScript — client-side React/Vue without SSR is invisible","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["ai-citation","core-web-vitals","nextjs"],"updated_at":"2026-05-22T18:57:39.585Z","snippet":"**Claim:** Multiple measurement sources confirm: AI crawlers do not execute JavaScript at scale.\n\n- OtterlyAI 1M-citation study: 73% of audited sites blocked AI crawlers via robots.txt or JS-only rend"},{"id":27,"slug":"otterly-third-party-citations-2026","title":"OtterlyAI (Sept 2025): community platforms (Reddit, Quora) capture 52.5% of AI citations vs 47.5% brand domains","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.581Z","snippet":"**Claim:** OtterlyAI's analysis of 1M+ AI citations (Jan-Sept 2025) across ChatGPT, Perplexity, and Google AI Overviews found:\n\n- **52.5%** of citations go to community platforms (Reddit, Quora)\n- **4"},{"id":26,"slug":"webmcp-ucp-agentic-web-2026","title":"WebMCP + UCP: schema = nouns, WebMCP = verbs, UCP = wallet (Chrome 146 / Google I/O 2026)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["schema-org","structured-content","agentic-web"],"updated_at":"2026-05-22T18:57:39.577Z","snippet":"**Claim:** Two protocols arrived in early 2026 that turn structured data from descriptions into actions:\n\n- **WebMCP** — W3C Web Machine Learning CG, accepted Sept 2025; Chrome implementation **Feb 10"},{"id":25,"slug":"digital-applied-schema-validity-22pct","title":"Digital Applied 5K-site audit (Apr 2026): only 22% of schema implementations pass Google Rich Results Test (r=+0.34 with AI citation)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.573Z","snippet":"**Claim:** Digital Applied audited 5,000 production sites (April 2026). **71%** deploy at least one schema type; only **22%** pass Google's Rich Results Test cleanly. Pearson correlation between clean"},{"id":24,"slug":"json-ld-adoption-41pct-web-almanac-2024","title":"JSON-LD adoption: 41% of pages (Web Almanac 2024); 62M domains, +37% YoY (Schema App / W3Techs)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","measurement"],"updated_at":"2026-05-22T18:57:39.568Z","snippet":"**Claim:** Schema.org adoption is now widespread but uneven:\n\n- **41%** of pages carry JSON-LD per HTTP Archive Web Almanac 2024 (up from 34% in 2022)\n- RDFa: 66%; Microdata: 26%\n- **62 million domain"},{"id":23,"slug":"suganthan-schema-three-lives","title":"Suganthan: schema has three lives — index-time, training-time, query-time","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","ai-citation"],"updated_at":"2026-05-22T18:57:39.564Z","snippet":"**Claim:** Suganthan Mohanadasan argues schema operates in **three layers**:\n\n1. **Index-time** — Google Knowledge Graph entity disambiguation\n2. **Training-time** — canonical entity stores that feed "},{"id":22,"slug":"query-fan-out-google-primary","title":"Query fan-out: Google AI Overviews issue multiple sub-queries; pages get cited across queries they never targeted","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","content-architecture"],"updated_at":"2026-05-22T18:57:39.561Z","snippet":"**Quote (Google primary):** *\"AI Overviews and AI Mode may use a 'query fan-out' technique — issuing multiple related searches across subtopics and data sources.\"*\n\n**Source:** <https://developers.goo"},{"id":21,"slug":"top10-organic-ai-citation-decoupling-2026","title":"AI citation overlap with Google top-10 has collapsed — from 76% (Jul 2025) to ~8-38% (2026)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.557Z","snippet":"**Claim:** Multiple independent studies in early 2026 confirm AI citation has decoupled sharply from Google organic rank:\n\n- **Ahrefs Q1 2026:** Only **38%** of AI Overview citations come from Google'"},{"id":20,"slug":"schanbacher-faqpage-product-schema-2025","title":"Schanbacher (SSRN 2025): FAQPage and Product schema strongly predict ChatGPT visibility (single-domain peer-reviewed)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","ai-citation"],"updated_at":"2026-05-22T18:57:39.553Z","snippet":"**Claim:** Schanbacher (SSRN paper id 5641050) studied 1,508 German real-estate agent websites and found:\n\n- **FAQPage schema:** odds ratio ~**13** for ChatGPT visibility (p<0.001)\n- **Product schema:"},{"id":19,"slug":"brightedge-ai-overviews-48pct-feb-2026","title":"BrightEdge (Feb 2026): AI Overviews now appear on 48% of tracked queries, up from ~30% a year prior","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.549Z","snippet":"**Claim:** BrightEdge's \"AI Overviews at the One-Year Mark\" tracking (February 2025 - February 2026) reports AI Overview presence grew from ~30% to **48%** of tracked queries — a **58% increase** year"},{"id":18,"slug":"google-schema-not-required-for-ai","title":"Google (May 2026): \"Structured data isn't required for generative AI search\"","kind":"reference","scope":"business","status":"current","audiences":["claude-code","smb-owner","candid-team"],"topics":["schema-org","ai-citation"],"updated_at":"2026-05-22T18:57:39.544Z","snippet":"**Quote (verbatim from Google Search Central):** *\"Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add. However, it's a good idea to conti"},{"id":17,"slug":"google-may-2026-ai-optimization-guidance","title":"Google Search Central (May 15, 2026): \"Optimizing for generative AI is still SEO\"","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["seo-content","ai-citation"],"updated_at":"2026-05-22T18:57:39.540Z","snippet":"**Claim:** Google published \"Optimizing your website for generative AI features on Google Search\" on **May 15, 2026**, telling site owners they do not need schema, llms.txt, content chunking, or AI-sp"},{"id":16,"slug":"whitespark-2026-ai-visibility-formal-category","title":"Whitespark 2026: AI Search Visibility added as a formal local ranking category for the first time","kind":"reference","scope":"business","status":"current","audiences":["kevin","smb-owner","candid-team"],"topics":["schema-org","ai-citation","local-seo"],"updated_at":"2026-05-22T18:57:39.536Z","snippet":"**Claim:** Whitespark's 2026 Local Search Ranking Factors report (published late 2025 / early 2026, surveyed 47 local SEO experts) added **\"AI Search Visibility\"** as a formal ranking category for the"},{"id":15,"slug":"ahrefs-ai-citations-fresher-25-7pct-2025","title":"Ahrefs (2025, 17M citations): AI-cited content is 25.7% fresher than traditional organic results","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","freshness"],"updated_at":"2026-05-22T18:57:39.532Z","snippet":"**Claim:** Ahrefs analyzed 17 million AI citations and found AI-cited URLs averaged **1,064 days since publication** vs **1,432 days for organic SERP results** — a **25.7% freshness advantage** on pub"},{"id":14,"slug":"seer-cited-brands-35-91-ctr-lift-2025","title":"Seer (Sept 2025): brands cited inside AI Overviews earn 35% more organic CTR and 91% more paid CTR","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","smb-owner","candid-team"],"topics":["ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.528Z","snippet":"**Claim:** Seer Interactive's Sept 2025 study of 3,119 queries / 42 organizations / 25.1M organic impressions found:\n\n- Organic CTR fell **61%** (1.76% → 0.61%) when an AI Overview appeared on a SERP\n"},{"id":13,"slug":"seer-content-recency-2025","title":"Seer Interactive (Oct 2025): 65% of AI bot hits target content under 1 year old; 89% under 3 years","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["ai-citation","freshness","measurement"],"updated_at":"2026-05-22T18:57:39.524Z","snippet":"**Claim:** Seer Interactive analyzed 5,000+ AI-cited URLs (October 2025) and found a strong recency bias across ChatGPT, Perplexity, and Google AI Overviews:\n\n- **65%** of AI bot hits target content p"},{"id":12,"slug":"ahrefs-schema-no-citation-lift-2026","title":"Ahrefs (April 2026): adding schema to 1,885 pages produced no AI-citation lift; AI Overviews showed -4.6%","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["schema-org","ai-citation","measurement"],"updated_at":"2026-05-22T18:57:39.520Z","snippet":"**Claim:** Ahrefs tracked 1,885 pages adding JSON-LD between Aug 2025 and Mar 2026, matched against 4,000 control pages. *\"Adding schema produced no major uplift in citations on any platform.\"* AI Ove"},{"id":11,"slug":"geo-rank-5-pages-115pct-lift","title":"GEO finding: Lower-ranked pages (organic rank ~5) gain 115.1% AI visibility when given GEO treatments","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","geo"],"updated_at":"2026-05-22T18:57:39.514Z","snippet":"**Claim:** GEO treatments (citation/quotation/statistics addition) lifted AI-response visibility by **115.1% for pages ranked around organic position 5**. Position-1 pages saw little change. The inter"},{"id":10,"slug":"geo-keyword-stuffing-negative","title":"GEO finding: Keyword stuffing is the only tested tactic that hurts AI visibility (-8% to -10%)","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["seo-content","ai-citation","geo"],"updated_at":"2026-05-22T18:57:39.508Z","snippet":"**Claim:** Of the 9 tactics tested in the Princeton GEO paper, **keyword stuffing was the only one that performed worse than baseline** — driving visibility down 8-10%. Traditional SEO tactics not onl"},{"id":9,"slug":"geo-cite-sources-28pct","title":"GEO finding: Cite Sources lifts visibility +28%","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","geo","e-e-a-t"],"updated_at":"2026-05-22T18:57:39.501Z","snippet":"**Claim:** \"Cite Sources\" — adding named external citations (author + institution + URL) — lifted AI-response visibility by **+28% on Position-Adjusted Word Count** in the Princeton GEO paper. Fluency"},{"id":8,"slug":"geo-statistics-addition-31pct","title":"GEO finding: Statistics Addition is the #2 tactic at +31%","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","geo","extractability"],"updated_at":"2026-05-22T18:57:39.491Z","snippet":"**Claim:** Statistics Addition (inserting concrete numbers, percentages, dates into content) lifted AI-response visibility by **+31% on Position-Adjusted Word Count** in the Princeton GEO paper — seco"},{"id":7,"slug":"geo-quotation-addition-41pct","title":"GEO finding: Quotation Addition is the top-performing tactic at +41% on Position-Adjusted Word Count","kind":"reference","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["ai-citation","geo","extractability"],"updated_at":"2026-05-22T18:57:39.484Z","snippet":"**Claim:** Among the 9 tactics tested in the Princeton GEO paper, **Quotation Addition** was the best-performing single method, lifting visibility by **+41% on Position-Adjusted Word Count** (Table 6)"},{"id":6,"slug":"princeton-geo-paper-aggarwal-2024","title":"Princeton GEO paper (Aggarwal et al., KDD '24) — the foundational generative engine optimization study","kind":"reference","scope":"business","status":"current","audiences":["claude-code","dev","candid-team"],"topics":["schema-org","ai-citation","geo"],"updated_at":"2026-05-22T18:57:39.476Z","snippet":"**Claim:** Aggarwal et al. (Princeton + IIT Delhi + Georgia Tech + Allen AI) introduced \"Generative Engine Optimization\" as a discipline in arXiv:2311.09735 (v1: Nov 2023; v3: Jun 2024), accepted at *"},{"id":5,"slug":"research-brief-kb-backed-website-methodology","title":"Research brief: The knowledge-base-backed website (piece 3 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["content-architecture","knowledge-base","structured-content","e-e-a-t","agency-methodology"],"updated_at":"2026-05-22T18:57:39.467Z","snippet":"**Status:** Research material, not finished article. For Candid Creative KB. Compiled May 22, 2026.\n\n## TL;DR\n\n- KB-backed websites separate **research** from **publication** by treating sources, clai"},{"id":4,"slug":"research-brief-marketing-sites-that-do-something","title":"Research brief: What makes a marketing site do something (piece on brochure vs platform)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["core-web-vitals","wordpress","nextjs","content-architecture","structured-content","agency-methodology"],"updated_at":"2026-05-22T18:57:39.459Z","snippet":"**Status:** Foundation research notes, not a finished article. Compiled May 22, 2026.\n\n**Thesis:** Most marketing sites do nothing because the agencies building them can't build anything else. WordPre"},{"id":3,"slug":"research-brief-structured-content-as-competitive-advantage","title":"Research brief: Structured content as a competitive advantage (piece 2 of 15)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","candid-team"],"topics":["schema-org","ai-citation","geo","structured-content","agency-methodology"],"updated_at":"2026-05-22T18:57:39.439Z","snippet":"**Status:** Research material, not a finished article. Compiled May 22, 2026.\n\n**Audience:** SMB owners in Waterloo Region + Candid Creative team.\n\n## Thesis (one paragraph)\n\nIn 2026, the websites tha"}]}