Skip to content

fix(seo): footer latest-posts column + dynamic blog cluster on integration pages#11

Merged
nadyyym merged 1 commit into
masterfrom
fix/seo-internal-link-density
May 7, 2026
Merged

fix(seo): footer latest-posts column + dynamic blog cluster on integration pages#11
nadyyym merged 1 commit into
masterfrom
fix/seo-internal-link-density

Conversation

@nadyyym

@nadyyym nadyyym commented May 7, 2026

Copy link
Copy Markdown
Member

Summary

Tightens the internal-link graph on the marketing site to address the SEO-audit finding that 13 of 24 sitemap URLs are "Crawled - currently not indexed" and 10 are "URL is unknown to Google" on getbeton.ai (only the homepage is indexed).

  • Footer: "Latest posts" column — surfaces the 4 most recent published posts on every page. Every URL on the site now ships 4 fresh inbound /blog/* links, increasing crawl signal toward the freshest content (which is what Google's discovery loop weights most).
  • Integration page: dynamic "From the blog" section — lists up to 3 published posts whose slug, title, or tags match the integration name/slug (case-insensitive). Builds the integration to blog mesh that was missing. Today Apollo and Firecrawl pages each get one matched post; the rest auto-populate as new teardowns / updates land.

Built locally — npm run build ✓, IndexNow submission ✓.

Why this and not more

Most of the homepage and footer linking the SEO audit recommended already exists in the codebase (header /blog/ + /integrations/ nav, Integrations homepage section, Pairs-with on each integration, BlogPostLayout "Keep reading" via tag overlap). The two undone items were the freshest-posts-everywhere lever (footer column) and the blog↔integration cross-cluster (only existed via a single hand-picked blogPost field per integration, no dynamic discovery).

Follow-ups (not in this PR)

  • Tag existing posts (billing-live-agent-wiring, we-rebuilt-beton-automated-signal, beton-late-april-2026-update) with relevant integration slugs (stripe, posthog, attio, postgres, firecrawl) so more integration pages render the cluster on day 1. Editorial decision; left out of this PR.
  • The deeper "Crawled - not indexed" cluster on pricing teardowns is a content-quality + authority issue, not an internal-linking one. Tracked as P1 of the audit (rewrite teardown leads to break the template pattern + drop weakest 4) — separate work.

Test plan

  • Vercel preview build deploys clean
  • Footer shows "Latest posts" column with 4 posts on homepage, blog post page, and integration page
  • /integrations/apollo/ shows "From the blog" section with the New Apollo Integration post
  • /integrations/firecrawl/ shows "From the blog" section with the Firecrawl Pricing Teardown
  • Other integration pages render normally without "From the blog" (no matches)

🤖 Generated with Claude Code

…tegration pages

Bulk-inspect on getbeton.ai shows 13 of 24 sitemap URLs in "Crawled - currently not indexed" and 10 in "URL is unknown to Google" — the homepage is the only indexed URL. The internal-link graph already surfaced the right pages from the homepage and footer, but per-integration pages had no inbound link weight from the blog cluster, and the footer didn't surface the freshest /blog/* URLs that need crawling first.

- Footer: new "Latest posts" column with the 4 most recent posts. Adds 4 inbound /blog/* links to every page on the site.
- Integration page: dynamic "From the blog" section listing up to 3 posts whose slug, title, or tags reference the integration (case-insensitive). Builds the integration to blog mesh missed by the SEO audit. Today Apollo and Firecrawl pages each get one matched post; rest auto-populate as future teardowns / updates land.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented May 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
getbeton-ai-landings Ready Ready Preview, Comment May 7, 2026 6:48am

Request Review

@nadyyym nadyyym merged commit 893c138 into master May 7, 2026
2 of 3 checks passed
@nadyyym nadyyym deleted the fix/seo-internal-link-density branch May 7, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant