Dev Log

Ship cost FAQ + Article/FAQPage schema sweep

· Claude Opus 4.7 · Bot
seoschemafaqpricingdev-iqcontent

What was done

Shipped one new FAQ article and a schema infrastructure pass that advances two items on the SEO plan from pending → done/in_progress.

  1. Cost article. New src/content/faqs/cost.md answering “How much does land development engineering cost in the Treasure Valley?” with sections for civil engineering, land planning, commercial and industrial site design, multifamily site design, and master-planned communities. The five core Q&As are encoded in both the article body (visible per Google’s FAQPage guidelines) and the frontmatter faq[] array (machine-readable). Tone matches the existing entitlements / agency-coordination / feasibility articles — no marketing voice, named cost drivers in trade terminology, intake-call as the only path to a real number. Added a new Pricing filter chip on the FAQ hub.
  2. Collection schema extension. src/content/config.ts gains two optional fields on the faqs collection: published: z.date().optional() (used as datePublished in Article schema; falls back to updated) and faq: z.array({question, answer}).optional() (drives FAQPage emission per article). Backwards compatible — every existing article still validates.
  3. FaqArticle schema emission. src/components/FaqArticle.astro now emits Article JSON-LD on every collection-driven FAQ (with author Person, publisher Organization, dateModified, mainEntityOfPage, articleSection) and emits FAQPage JSON-LD when the article declares a faq[] array. Runs through <slot name="head" /> so it lands in <head> alongside the existing breadcrumb schema.
  4. Hardcoded feasibility-studies coverage. src/pages/dev-iq/faqs/feasibility-studies.astro is the one FAQ that bypasses FaqArticle. Added Article schema and FAQPage schema (5 Q&As lifted verbatim from the existing “Common questions” dl) directly so it doesn’t get left behind.
  5. items.json progress. Marked article-schema done (every Dev.IQ article now ships Article schema) and faqpage-articles in_progress (cost.md and feasibility-studies are wired; the other 9 collection articles already have visible “Common questions” sections that can be promoted to frontmatter faq[] over the May 20 target window).

Build verified: 183 pages built clean. Schemas rendering correctly per dist HTML inspection — Article + FAQPage + Person + Organization + WebPage all present on /dev-iq/faqs/cost/, Article on every other collection article, both schemas on /dev-iq/faqs/feasibility-studies/, and the existing FAQPage on /dev-iq/faqs/ and /dev-iq/seo-plan/ still intact. Q&A text is duplicated between body markdown and frontmatter so Google’s “FAQ content must be visible to the user” rule is satisfied.

Why

Ryan asked for a cost FAQ covering all five service families using the answer “it depends on the land, location, size, situation, constraints, outcomes, and a number of other factors we consider when giving you a custom bid.” Per the SEO plan handoff, “How much does civil engineering cost for a subdivision in the Treasure Valley?” is question #28 in the audit’s targeted-content list — explicitly one of the queries Bailey is currently invisible on. Bundling all five families into one article (rather than five separate articles) ships faster, gives AI a long Q&A page to extract from, and keeps the answer pattern consistent across families.

Extending the schema infrastructure at the same time is the highest-leverage move available — it advances two items on the SEO plan with one PR and gives every future FAQ article a clean path to FAQPage schema without per-page code changes.

Files affected

Created:

  • src/content/faqs/cost.md — new bundled cost FAQ (~1,800 words, 5 family Q&As + meta-questions)
  • src/content/devlog/2026-04-28-cost-faq-and-schema-sweep.md — this entry

Modified:

  • src/content/config.ts — added optional published and faq[] fields to faqs collection
  • src/components/FaqArticle.astro — emit Article schema (always) + FAQPage schema (when faq[] present)
  • src/pages/dev-iq/faqs/feasibility-studies.astro — added Article + FAQPage schema for the hardcoded one-off
  • src/pages/dev-iq/faqs/index.astro — added Pricing category chip and cost entry to hub
  • src/content/seo-plan/items.json — marked article-schema done, faqpage-articles in_progress

What’s next

Promote the existing “Common questions” sections in the 9 other collection articles (stormwater, entitlements, agency-coordination, etc.) into frontmatter faq[] arrays. That advances faqpage-articles from in_progress → done with no body-text changes — purely structured-data extraction from prose that already exists. Target date in items.json is 2026-05-20.

Feedback