Cleanup website schemas - #10210
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the website’s schema/structured-data approach by introducing shared JSON-LD helpers/components, wiring them into many pages (home/docs/blog/services/products/platform), and adding build-time generation/validation for LLM-friendly Markdown exports. It also includes broad marketing/copy updates across training/support/pricing/platform pages.
Changes:
- Add a reusable JSON-LD model + renderer (
structuredData.ts,JsonLd,PageStructuredData) and adopt it across key routes. - Add scripts to generate and validate
llms.txtcatalogs + per-page.mdexports, plus Nginx/Docker adjustments to serve them correctly. - Refresh content and metadata across training/support/pricing/platform/product pages; replace live GitHub commit-activity fetch with a captured JSON snapshot.
Reviewed changes
Copilot reviewed 117 out of 118 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| website/yarn.lock | Locks new website dependencies (HTML parsing/Markdown conversion). |
| website/src/helpers/structuredData.ts | Adds typed JSON-LD helpers for consistent structured data graphs. |
| website/src/helpers/staticPage.tsx | Emits per-page structured data for static markdown content pages. |
| website/src/helpers/site.ts | Updates the site’s default title string. |
| website/src/helpers/nitroStructuredData.ts | Adds Nitro product/offer JSON-LD node builders. |
| website/src/helpers/githubCommitActivity.ts | Removes build-time GitHub commit activity fetch helper. |
| website/src/helpers/blogStructuredData.ts | Adds blog JSON-LD node builders (blog + item lists). |
| website/src/data/githubCommitActivity.json | Adds captured GitHub commit-activity snapshot for ecosystem UI. |
| website/src/components/training/TrainingHero.tsx | Copy adjustments for training hero. |
| website/src/components/training/TrainingFaq.tsx | Normalizes FAQ item shape and exports items for schema generation. |
| website/src/components/training/TrainingClosingCta.tsx | Updates training CTA copy. |
| website/src/components/training/OutcomesSection.tsx | Updates outcomes copy and headings. |
| website/src/components/training/OffersSection.tsx | Exports offers data for structured data and updates offer copy. |
| website/src/components/training/LevelsSection.tsx | Updates training levels copy. |
| website/src/components/training/FunBand.tsx | Updates training “fun band” copy and list items. |
| website/src/components/support/SupportHero.tsx | Updates support hero copy and CTAs. |
| website/src/components/support/SupportFaq.tsx | Normalizes FAQ item shape and exports items for schema generation. |
| website/src/components/support/PlanGrid.tsx | Exports plan data, adds numeric pricing fields, and popular labels. |
| website/src/components/support/EnterpriseBand.tsx | Updates enterprise support copy and link targets. |
| website/src/components/support/ComparisonMatrix.tsx | Updates support comparison wording/headings. |
| website/src/components/support/ClosingCta.tsx | Updates support closing CTA and contact links. |
| website/src/components/StructuredData.tsx | Refactors site-wide JSON-LD to shared typed graph + JsonLd component. |
| website/src/components/pricing/RegulatedBand.tsx | Updates regulated/private deployment CTA copy and links. |
| website/src/components/pricing/PricingFaq.tsx | Exports FAQ items and updates pricing FAQ copy. |
| website/src/components/pricing/pricingData.ts | Adds numeric monthly/min pricing and popular labels for tiers. |
| website/src/components/pricing/PlanSelector.tsx | Surfaces popular labels and updates copy for self-host strip. |
| website/src/components/pricing/CompareTable.tsx | Updates compare table heading copy. |
| website/src/components/pricing/ClosingCta.tsx | Updates pricing closing CTA copy and link targets. |
| website/src/components/PageStructuredData.tsx | Adds a reusable per-page JSON-LD emitter component. |
| website/src/components/nitro/NitroDownload.tsx | Updates Nitro download CTA text (“Open the Web App”). |
| website/src/components/MobileNav.tsx | Updates mobile nav CTA label (“Launch Nitro”). |
| website/src/components/JsonLd.tsx | Adds safe JSON-LD serialization and <script> rendering helper. |
| website/src/components/home/nitro/NitroSection.tsx | Updates Nitro section link label. |
| website/src/components/home/HomeHero.tsx | Updates home hero copy and adds primary/secondary CTAs. |
| website/src/components/home/GrabADrink.tsx | Updates CTA label (“Start Nitro for Free”). |
| website/src/components/home/combined/CombinedObservability.tsx | Updates link label copy. |
| website/src/components/home/combined/CombinedMessaging.tsx | Updates link label and aria-label copy. |
| website/src/components/home/combined/CombinedGovernance.tsx | Updates link label copy. |
| website/src/components/home/BuildYourWay.tsx | Updates Mocha link destination to product page. |
| website/src/components/home/agentic/AgenticSection.tsx | Updates link label copy. |
| website/src/components/help/SelfServeGrid.tsx | Updates self-serve channel copy and doc comment. |
| website/src/components/help/HelpTiers.tsx | Updates tier names/copy; exports tiers for schema generation. |
| website/src/components/help/HelpHero.tsx | Updates help hero copy and CTA labels. |
| website/src/components/help/HelpFaq.tsx | Normalizes FAQ item shape and exports items for schema generation. |
| website/src/components/help/HelpClosing.tsx | Updates help closing CTA copy and button label. |
| website/src/components/header/navData.tsx | Renames nav label “Agentic Coding” → “Agentic Development”. |
| website/src/components/Header.tsx | Updates header CTA label (“Launch Nitro”). |
| website/src/components/Footer.tsx | Updates footer label for agentic section. |
| website/src/components/advisory/TierGrid.tsx | Exports advisory tiers and updates tier copy/heading text. |
| website/src/components/advisory/TeamSection.tsx | Updates advisory team section copy/bullets. |
| website/src/components/advisory/EngagementStrip.tsx | Updates advisory engagement steps copy. |
| website/src/components/advisory/ContactBand.tsx | Updates advisory contact copy and CTA labels. |
| website/src/components/advisory/advisoryLinks.ts | Adds context= query parameter to contact form link. |
| website/src/components/advisory/AdvisoryHero.tsx | Updates advisory hero CTA labels/copy. |
| website/src/components/advisory/AdvisoryFaq.tsx | Exports FAQ items and updates advisory FAQ copy. |
| website/scripts/validate-structured-data.mjs | Adds a crawler/validator for JSON-LD coverage across sitemap pages. |
| website/scripts/validate-llms-files.mjs | Adds validation for generated LLM catalogs + determinism checks. |
| website/scripts/generate-llms-files.mjs | Adds build-time generation of llms catalogs + per-page Markdown exports. |
| website/package.json | Extends build pipeline to generate/validate LLM exports; adds deps. |
| website/nginx/nginx.conf | Adds text/markdown to gzip MIME list. |
| website/nginx/conf.d/default.conf | Serves .md/.txt exports with proper content-type, cache, canonical. |
| website/Dockerfile | Includes .md files in the gzip precompression step. |
| website/app/page.tsx | Adds page structured data on home; refactors metadata constant. |
| website/app/layout.tsx | Updates site-wide description string. |
| website/app/docs/page.tsx | Adds collection structured data + item list for docs landing. |
| website/app/docs/[...slug]/page.tsx | Replaces inline JSON-LD with shared structured-data helpers; uses git last-modified. |
| website/app/blog/tags/[tag]/page.tsx | Adds collection structured data + blog/item list nodes; refactors metadata. |
| website/app/blog/tags/[tag]/[page]/page.tsx | Adds paged collection structured data for tag pagination. |
| website/app/blog/page.tsx | Adds blog index structured data + item list nodes. |
| website/app/blog/[...slug]/page.tsx | Refactors blog post JSON-LD to shared helpers and enriches article schema. |
| website/app/(content)/services/training/page.tsx | Adds Service/OfferCatalog/FAQ structured data for training page. |
| website/app/(content)/services/training/opengraph-image.tsx | Updates OG alt text for training. |
| website/app/(content)/services/support/thank-you/page.tsx | Adds noindex metadata and refreshes thank-you page copy. |
| website/app/(content)/services/support/thank-you/opengraph-image.tsx | Updates OG alt text for thank-you page. |
| website/app/(content)/services/support/page.tsx | Adds Service/OfferCatalog/FAQ structured data for support page. |
| website/app/(content)/services/support/opengraph-image.tsx | Updates OG alt text for support. |
| website/app/(content)/services/support/contact/page.tsx | Adds contact-page structured data and updates metadata keywords/title. |
| website/app/(content)/services/support/contact/opengraph-image.tsx | Updates OG alt text for contact page. |
| website/app/(content)/services/support/contact/ContactIntro.tsx | Updates contact intro copy and checklist points. |
| website/app/(content)/services/support/contact/ContactForm.tsx | Adds URL “context” passthrough into submitted message and analytics label. |
| website/app/(content)/services/page.tsx | Adds collection structured data + item list and updates services page hero/CTAs. |
| website/app/(content)/services/opengraph-image.tsx | Updates OG alt text for services page. |
| website/app/(content)/services/advisory/page.tsx | Adds Service/OfferCatalog/FAQ structured data for advisory page. |
| website/app/(content)/services/advisory/opengraph-image.tsx | Updates OG alt text for advisory. |
| website/app/(content)/resources/page.tsx | Adds collection structured data + item list and expands resources links. |
| website/app/(content)/resources/opengraph-image.tsx | Updates OG alt text for resources page. |
| website/app/(content)/products/strawberryshake/page.tsx | Adds product structured data and updates product copy/CTAs. |
| website/app/(content)/products/strawberryshake/opengraph-image.tsx | Updates OG alt text for Strawberry Shake. |
| website/app/(content)/products/nitro/page.tsx | Adds Nitro product + offers structured data. |
| website/app/(content)/products/nitro/opengraph-image.tsx | Updates OG alt text for Nitro. |
| website/app/(content)/products/nitro/ClientPage.tsx | Updates Nitro product page copy and CTA buttons. |
| website/app/(content)/products/mocha/page.tsx | Adds product structured data and refines Mocha metadata. |
| website/app/(content)/products/mocha/opengraph-image.tsx | Updates OG alt text for Mocha. |
| website/app/(content)/products/mocha/ClientPage.tsx | Updates Mocha hero copy. |
| website/app/(content)/products/hotchocolate/page.tsx | Adds product structured data and updates Hot Chocolate copy/CTAs. |
| website/app/(content)/products/hotchocolate/opengraph-image.tsx | Updates OG alt text for Hot Chocolate. |
| website/app/(content)/pricing/page.tsx | Adds Nitro product/offers/FAQ structured data and updates pricing metadata/copy. |
| website/app/(content)/pricing/opengraph-image.tsx | Updates OG alt text for pricing. |
| website/app/(content)/platform/release-safety/TimelineSection.tsx | Updates release-safety timeline copy. |
| website/app/(content)/platform/release-safety/page.tsx | Replaces inline breadcrumb JSON-LD with PageStructuredData. |
| website/app/(content)/platform/release-safety/ImpactSection.tsx | Copy update for impact section. |
| website/app/(content)/platform/release-safety/HeroSection.tsx | Updates hero copy + CTA label. |
| website/app/(content)/platform/release-safety/GateSection.tsx | Copy update for gate section. |
| website/app/(content)/platform/release-safety/ClosingCta.tsx | Updates CTA labels/copy. |
| website/app/(content)/platform/release-safety/CheckCardSection.tsx | Copy update and punctuation/label normalization. |
| website/app/(content)/platform/page.tsx | Adds collection structured data + item list; expands platform sections and CTAs. |
| website/app/(content)/platform/opengraph-image.tsx | Updates OG alt text for platform. |
| website/app/(content)/platform/ecosystem/ProofBand.tsx | Makes commit activity required and simplifies heatmap area UI. |
| website/app/(content)/platform/ecosystem/page.tsx | Switches commit activity source to captured JSON; adds PageStructuredData. |
| website/app/(content)/platform/ecosystem/opengraph-image.tsx | Updates OG alt text for ecosystem. |
| website/app/(content)/platform/analytics/page.tsx | Replaces inline breadcrumb JSON-LD with PageStructuredData; updates copy. |
| website/app/(content)/platform/analytics/Hero.tsx | Updates CTA labels and copy. |
| website/app/(content)/platform/analytics/ClosingCta.tsx | Updates CTA labels and copy. |
| website/app/(content)/platform/agentic-coding/ReviewSection.tsx | Updates review section copy and bar labels. |
| website/app/(content)/platform/agentic-coding/page.tsx | Adds PageStructuredData and updates copy/CTAs; renames “agentic coding” wording. |
| website/app/(content)/platform/agentic-coding/opengraph-image.tsx | Updates OG alt text for agentic section. |
| website/app/(content)/help/page.tsx | Adds PageStructuredData with item list + FAQ nodes; updates metadata. |
| website/app/(content)/help/opengraph-image.tsx | Updates OG alt text for help page. |
Suppressed comments (3)
website/app/(content)/platform/agentic-coding/page.tsx:311
- The link text says "skills docs" but points to
/docs/skillz. If the CLI is stillskillz(as documented elsewhere in the repo), the label should match to avoid confusion.
<ArrowLink href="https://github.com/chillicream/agent-skills">
Browse chillicream/agent-skills
</ArrowLink>
<ArrowLink href="/docs/skillz">Read the skills docs</ArrowLink>
</div>
website/app/(content)/platform/agentic-coding/page.tsx:299
- This install command template uses
dnx skills ..., which is inconsistent with the documenteddnx skillz ...CLI and is likely to fail when copied.
<CopyCommand
size="sm"
command={`dnx skills add chillicream/agent-skills --skill ${skill.name}`}
className="bg-cc-surface"
website/app/(content)/platform/agentic-coding/page.tsx:487
- The call-to-action command uses
dnx skills ..., but the repo docs referencednx skillz .... This is likely a typo and will break copy/paste for users.
<CopyCommand
command="dnx skills add chillicream/agent-skills"
className="bg-cc-surface/80 mx-auto mt-10 max-w-md text-left"
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
No description provided.