Ship cost FAQ + Article/FAQPage schema sweep
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.
- Cost article. New
src/content/faqs/cost.mdanswering “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 frontmatterfaq[]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 newPricingfilter chip on the FAQ hub. - Collection schema extension.
src/content/config.tsgains two optional fields on thefaqscollection:published: z.date().optional()(used asdatePublishedin Article schema; falls back toupdated) andfaq: z.array({question, answer}).optional()(drives FAQPage emission per article). Backwards compatible — every existing article still validates. - FaqArticle schema emission.
src/components/FaqArticle.astronow 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 afaq[]array. Runs through<slot name="head" />so it lands in<head>alongside the existing breadcrumb schema. - Hardcoded feasibility-studies coverage.
src/pages/dev-iq/faqs/feasibility-studies.astrois 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. - items.json progress. Marked
article-schemadone (every Dev.IQ article now ships Article schema) andfaqpage-articlesin_progress (cost.md and feasibility-studies are wired; the other 9 collection articles already have visible “Common questions” sections that can be promoted to frontmatterfaq[]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 optionalpublishedandfaq[]fields tofaqscollectionsrc/components/FaqArticle.astro— emit Article schema (always) + FAQPage schema (whenfaq[]present)src/pages/dev-iq/faqs/feasibility-studies.astro— added Article + FAQPage schema for the hardcoded one-offsrc/pages/dev-iq/faqs/index.astro— addedPricingcategory chip and cost entry to hubsrc/content/seo-plan/items.json— markedarticle-schemadone,faqpage-articlesin_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.