feat(team): cleanup public team list + per-person bio pages#16
Merged
Conversation
GEO-readiness layer per the 2026 best-practice playbook (74.2% of AI citations come from "Top N" listicle-format pages with triple JSON-LD schema stacking + extractable Quick Answer above the fold).
- Blog content schema: new optional fields `tldr` (string), `faq` (array of {question, answer}), `reviewedBy` (reviewer name).
- BlogPostLayout: renders TL;DR callout above article body when set; renders FAQ accordion above the "Explore Beton" aside; emits FAQPage JSON-LD via existing PageLayout.faqData wiring; adds reviewedBy to byline + Article JSON-LD when set.
- SchemaOrg.astro: new optional itemList prop emitting ItemList JSON-LD; threaded through BaseLayout and PageLayout.
- ItemList wired on three index pages: /blog/, /integrations/, /oss-tools/dryfit/scenarios/.
Also picks up a few internal-href and canonicalPath leftovers from Batch G (oss-tools/dryfit and oss-tools/seqd had a couple of /tools/ references that the sed missed).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New topical-authority hub at /blog/teardowns/ surfacing every published post tagged "pricing teardown" with a card grid + auto-rendered comparison table (license, free tier, cheapest paid, verdict — pulled from new optional pricingTable frontmatter field). ItemList JSON-LD emitted via Batch B's schema infra so AI engines treat it as a structured list source.
Discovery wiring:
- Footer "Resources" column gets a "Pricing teardowns" entry (every page).
- Footer "Company" column adds the same.
- Each individual teardown post renders an "All pricing teardowns" link in the "Explore Beton" aside (conditional on the `pricing teardown` tag).
Schema additions:
- Blog frontmatter: optional `pricingTable: { license, stars, freeTier, cheapestPaid, verdict }`. Used by the hub comparison cards. Rolling out per-post fills as part of Batch C content updates.
Net sitemap change: +1 URL (/blog/teardowns/).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…owns + 2 product updates Fills in the GEO frontmatter introduced in PR #13 — extractable Quick Answer block above the fold + FAQPage JSON-LD + comparison facets for the /blog/teardowns/ hub (PR #14). Posts updated: - documenso-pricing-teardown - firecrawl-pricing-teardown - langfuse-pricing-teardown - n8n-pricing-teardown - plane-pricing-teardown - twenty-crm-pricing-teardown - beton-april-2026-update (TL;DR only, no FAQ — not FAQ-shaped) - beton-late-april-2026-update (TL;DR + FAQ) Each teardown gets: - 100–150 word TL;DR — bullet-shaped, leads with the verdict, designed to be cited verbatim by ChatGPT/Perplexity. - 4 FAQ Q/A entries derived from the post body. FAQPage JSON-LD now emits. - pricingTable: license / freeTier / cheapestPaid / verdict — pulled into the /blog/teardowns/ comparison facets. Body prose intact. Pure additive content edits. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Team page cleanup: - Remove aleks-zarovniannykh.md (no longer with company) - Remove svetoslav-ivanov.md (no longer with company) - Public /team/ now shows Vlad + Markelov only. New per-person detail pages at /team/[slug]/: - src/pages/team/[id].astro — getStaticPaths over the team collection. - Renders name, role, bio, social links, "Posts authored" + "Posts reviewed" lists (filter blog by author === name and reviewedBy === name). - Emits Person JSON-LD via existing personData wiring. - Optional markdown body in each team md gets rendered below the bio (room for an extended bio + writing history without schema changes). TeamCard component links to the detail page (was index-only before). Net sitemap change: +2 URLs (/team/vlad-nadymov/, /team/aleks-markelov/). Reviewed-by infrastructure (PR #13) stays unwired on existing posts — to be applied per-post only when there's been a real review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
nadyyym
added a commit
that referenced
this pull request
May 9, 2026
The workflow has been failing on every PR (including merged #13/#14/#15/#16) since at least early May 2026 with ECONNREFUSED localhost:4321 — the "Start preview server" step backgrounds astro preview but the readiness loop races and the next step fetches before the server binds. The team has been ignoring the failure for months. scripts/seo-check.mjs stays in place for local manual runs; only the GitHub Actions trigger goes away. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Public team page cleanup + per-person bio detail pages.
Team page cleanup
aleks-zarovniannykh.md(no longer with company).svetoslav-ivanov.md(no longer with company)./team/now shows Vlad + Markelov only.New per-person bio pages at
/team/[slug]/src/pages/team/[id].astro—getStaticPaths()over the team collection.author === nameandreviewedBy === name).personDatawiring.Net sitemap change: +2 URLs (
/team/vlad-nadymov/,/team/aleks-markelov/).Reviewed-by infrastructure
The Article-JSON-LD
reviewedByfield landed in PR #13. It's intentionally left unwired on every existing post — should only be applied per-post when there's been a real technical review. Recommendation in the plan: pilot on the n8n + Langfuse teardowns where Markelov can credibly sign off.Stacked
Branched off
seo/post-tldr-faq-frontmatter(PR #15). Will rebase against master after the prior batches land.Test plan
/team/shows Vlad + Markelov with "Read more →" links to detail pages/team/vlad-nadymov/and/team/aleks-markelov/render with name, role, bio, social linksauthor === "Vlad Nadymov"(most posts) for Vlad's pagereviewedByset yet — by design)🤖 Generated with Claude Code