Skip to content

feat(seo): BreadcrumbList markup + repair stale Learn links - #60

Merged
Tatenda merged 1 commit into
developfrom
feat/breadcrumb-structured-data
Aug 4, 2026
Merged

feat(seo): BreadcrumbList markup + repair stale Learn links#60
Tatenda merged 1 commit into
developfrom
feat/breadcrumb-structured-data

Conversation

@Tatenda

@Tatenda Tatenda commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Why

Search Console's Enhancements section only reports structured-data types that produce rich results. The site emits WebSite, Organization and Article JSON-LD — none of which appear there. BreadcrumbList does, and it lets Google show the breadcrumb trail in results instead of a bare URL.

What

BreadcrumbList on guides (/:slug)Learn → cluster → article, built from the same values as the visible <nav> so the markup and the rendered trail can't drift.

BreadcrumbList on tool pagesHome → Tools → <tool>, emitted only from the standard layout. The fullscreen layout renders no breadcrumb, so claiming one there would be a false structured-data claim. Both registered tools are currently fullscreen: true, so this is inert until a non-fullscreen tool ships.

Bug fix: stale links from the /learn restructure

The breadcrumb couldn't be marked up correctly without fixing these first — they were pointing at URLs that no longer do what they say:

Location Was Now
Article breadcrumb "Learn" / (landing page) /learn
Article cluster filter (×2) /?cluster=<id> /learn?view=grid&cluster=<id>
Article JSON-LD isPartOf /?cluster=<id> /learn?view=grid&cluster=<id>
"All topics" sidebar link / /learn
ChatSidebar cluster link /?cluster= /learn?view=grid&cluster=

/?cluster=<id> silently filtered nothing — the landing page ignores that param.

Verification

Created a temporary published article, confirmed the emitted JSON-LD:

{"@type":"BreadcrumbList","itemListElement":[
  {"position":1,"name":"Learn","item":"https://flemoji.com/learn"},
  {"position":2,"name":"Music Royalties for Independent Artists","item":"https://flemoji.com/learn?view=grid&cluster=…"},
  {"position":3,"name":"TEMP breadcrumb verification","item":"https://flemoji.com/temp-breadcrumb-verification"}
]}

Rendered links match exactly. Temp article deleted; database back to zero published articles.

tsc 0 errors · lint 0 errors · jest 337/337.

Note

This produces no visible Search Console enhancement until guides are published — there are currently zero.

🤖 Generated with Claude Code

Adds BreadcrumbList JSON-LD to guides (`/:slug`) and tool pages. This is the
enhancement Search Console reports on, and it lets Google show the breadcrumb
trail in results instead of a bare URL. Article JSON-LD was already present;
BreadcrumbList was the missing piece.

Google requires the markup to mirror the breadcrumb the user actually sees, so
both are built from the same values as the visible <nav> — Learn → cluster →
article. On tool pages it is emitted only from the standard layout: the
fullscreen layout renders no breadcrumb, so claiming one there would be a
false structured-data claim. Both registered tools are currently fullscreen,
so that markup is inert until a non-fullscreen tool ships.

Also fixes stale links the /learn restructure left behind. The article
breadcrumb pointed "Learn" at `/` (the marketing landing page) rather than the
Learn directory, cluster filters pointed at `/?cluster=<id>` — a URL that no
longer filters anything — and the "All topics" sidebar link and ChatSidebar
had the same problem. All now target /learn and /learn?view=grid&cluster=<id>.
The breadcrumb markup depends on these being right.

Verified against a temporary published article: the emitted BreadcrumbList has
the expected three levels and matches the rendered links exactly. Article
removed afterwards; the database is back to zero published articles.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
music-next Ready Ready Preview Aug 4, 2026 5:27pm

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 87b3974b-6dc2-4b2a-8ae1-21f01729754a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Tatenda
Tatenda merged commit 44b2ee8 into develop Aug 4, 2026
5 checks passed
@Tatenda
Tatenda deleted the feat/breadcrumb-structured-data branch August 4, 2026 18:07
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