SEO pass: keyword-rich metadata, sitemap, robots.txt, structured data, and enriched descriptions#4
Conversation
…ed data, and enriched descriptions - Updated siteConfig with SEO-optimized tagline, description, and keywords array - Enhanced homepage metadata with keywords, Twitter card, canonical URL, and JSON-LD structured data - Added crawlable heading + paragraph section on homepage for search engine indexing - Added robots.ts allowing all crawlers and pointing to sitemap - Added sitemap.ts auto-generating entries from all docs/component pages - Rewrote all 17 component MDX descriptions to be keyword-rich (React, gamification, shadcn/ui, Tailwind CSS) - Updated docs index, components index, usage, and styles page descriptions for SEO - Enhanced docs page generateMetadata with keywords, canonical URLs, and Twitter cards Agent-Logs-Url: https://github.com/trophyso/ui/sessions/f34182c4-e711-464c-b7b0-de8fc27bdbbd Co-authored-by: jasontlouro <33489988+jasontlouro@users.noreply.github.com>
| title: Achievement Badge | ||
| description: A React achievement badge component for gamification UIs. Show unlocked and locked states, progress rings, rarity labels, and click handling. Built on shadcn/ui and Tailwind CSS. | ||
| description: "Open source React achievement badge component with locked/unlocked states, progress rings and rarity support. Use for achievement UI design and collections. Built on shadcn/ui + Tailwind." | ||
| seoTitle: "Achievement Badge — React achievement badge component | Trophy UI" |
There was a problem hiding this comment.
the lowercase here is a bit ugly IMO, and we're not calling this Trophy UI yet I thought, instead Gamification UI Kit by Trophy? in this case could just be Gamification UI Kit in place of "Trophy UI" here.
We should probably dynamically append that | [name of site] rather than hardcoding it into every component
This comment applies to all component mdx files
| - shadcn gamification components | ||
| --- | ||
|
|
||
| Achievement Unlocked is a focused unlock moment surface to congratulate the user, reinforce rewards, and encourage further engagement through social sharing. |
There was a problem hiding this comment.
not sure if we should try to work the 'gamification' keyword into more of these component descriptions
| - gamification widgets | ||
| --- | ||
|
|
||
| Trophy UI ships gamification widgets as focused React building blocks like streak counters, achievement badges, leaderboard rankings, and points surfaces rather than a monolithic SDK. Each page documents one component you can add with the shadcn CLI, then customize like any other file in your repo. |
There was a problem hiding this comment.
trophy UI? We keep going back and forth on this. which one is it? site header says Gamification UI Kit by Trophy, so probably should say "Trophy's Gamification UI Kit" here instead
Summary
Comprehensive SEO pass across the Trophy UI website to improve search engine rankings for gamification UI–related search terms.
Changes
Site-wide config (
lib/config.ts)keywordsarray with 19 targeted terms (e.g. "gamification UI components", "streak UI component", "React gamification library", "shadcn gamification")Homepage (
app/(app)/(root)/page.tsx)keywords,twittercard, andalternates.canonicalto metadataSoftwareApplicationschema) for rich search results<h2>+<p>section below the hero with keyword-rich copy ("Gamification UI Components for React")Docs page template (
app/(app)/docs/[[...slug]]/page.tsx)keywords,alternates.canonical, andtwittercard to every docs page viagenerateMetadataComponent MDX descriptions (all 17 components)
descriptionfrontmatter field to include targeted keywords: component name, "React", "gamification", "shadcn/ui", "Tailwind CSS"Docs content pages
New files
app/robots.ts— allows all crawlers, points to sitemapapp/sitemap.ts— auto-generates sitemap entries from all docs/component pages with appropriate prioritiesTarget keywords
The changes target search terms including:
Validation
tsc --noEmitpasses)