Dev Log

Split evidence (URL) from note (prose) on the AI visibility scoreboard

· Claude Opus 4.7 · Bot
bugai-iqgetting-found-by-aiitems.jsona11y

What was done

Schema split

  • Added a new optional note?: string field to the Item type in getting-found-by-ai.astro.
  • evidence is now URL-only; the template still guards with isUrl(...) so future malformed values can’t reach <a href>.
  • note renders as an inline italic, muted, 80ch-wrapping <span class="evidence-note"> on its own row inside .item-meta (flex-basis: 100%).
  • Both fields can coexist on the same item — see the two isitagentready items below.

items.json migrations (9 items)

Moved prose from evidencenote:

  • id-linking
  • google-business-profile
  • schema-validation
  • ai-crawler-monitoring
  • monthly-retest
  • mcp-server-consider
  • learn-keystone-wat

Added a working evidence URL and moved prose to note:

  • isitagentready-baselineevidence: https://isitagentready.com/baileyengineers.com
  • isitagentready-monthlyevidence: https://isitagentready.com/baileyengineers.com

(Note: isitagentready.com serves 404 to bot User-Agents on that path, but the SPA hydrates the report client-side in a browser — Ryan confirmed it works.)

Why

Ryan flagged that the two isitagentready items 404’d when clicking “Evidence →”. Root cause: 9 items in items.json had descriptive prose in their evidence field instead of URLs. The template was wrapping all of them in <a href={i.evidence}>, so clicking produced malformed relative URLs that 404’d against the site root.

The fix is structural — separating “where to go for proof” (URL) from “what’s worth saying about this item” (prose) — so an editor can’t accidentally produce another broken anchor by typing prose into evidence, and items that have both a URL and useful context (like the two isitagentready items) can show both.

Files affected

  • src/pages/dev-iq/ai-iq/getting-found-by-ai.astro (Item type, frontmatter helper, template render, .evidence-note styles)
  • src/content/seo-plan/items.json (9 items migrated)
Feedback