Repository navigation
improvement(landing): search-length titles, model comparison pages, and free model tools - #9184
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
There was a problem hiding this comment.
All reported issues were addressed across 18 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
[Medium impact] The changes appear safe to merge, with no new actionable issues found. SummaryThe PR adds shorter search metadata, model comparisons, a context-window directory, and free pricing and token-counting tools.
Reviews (6) · Last reviewed commit: "fix(models): keep tool pages static; pro..." · Reviewed by Greptile |
9074dc0 to
4828f1a
Compare
|
@greptile |
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 141 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
4828f1a to
3c1ffd1
Compare
|
@greptile |
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 141 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@greptile |
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 141 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…fit search results - Optional seoTitle/seoDescription frontmatter drive <title>, meta description, and Open Graph/X copy; the H1, cards, feeds, and JSON-LD keep title/description - check:library-content ratchets search title (with the " | Sim" suffix) to 60 characters and description to 160, with a shrink-only baseline - Rewrite search titles and descriptions for 12 library pages to match the queries they rank for - Author pages no longer render the brand twice in their title
…ict check - Drop the baseline so parallel content PRs never conflict on it; every published post now fits - Add search titles and descriptions to the remaining library, blog, and changelog posts
- /models/pricing-calculator prices requests and monthly volume per model with the same tier and cached-input rules billing uses (priceTokenUsage, extracted unchanged from the billing cost policy) - /models/token-counter counts tokens in the browser: exact for OpenAI encodings (js-tiktoken loaded on first input), labelled estimates for other providers; pasted text never leaves the page - Both pages link from /models and appear in the sitemap and llms.txt
…nd model-vs-model pages
- Provider pages target API pricing searches ("Anthropic (Claude) API Pricing & Models")
- /models/context-windows compares context window, max output, and price for every current model; retired models are excluded
- 47 curated /models/compare pages with a data-derived verdict priced at standard per-call rates; the build fails if a curated model is retired or removed
…checks - Model page chip links use ChipLink's outline variant instead of restyling it - ComparisonLinks gets its own component folder - One E2E check covers every model page's search title budget and canonical; a fixture test covers the search length rules
…e structure - Context windows, the pricing tools, and comparisons skip evaluation-only models (native state and questions, not prompts) - Token counter labels an OpenAI count as an estimate when exact encoding fails - New model pages: desktop-first breakpoints, named props interfaces, section ids and labels, sr-only hero summaries; TSDoc on exported comparison helpers
d4ed389 to
8387249
Compare
|
@greptile |
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 142 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
…-context pick - Pricing calculator and token counter render statically; each URL-reading tool sits in a local Suspense whose fallback reserves its space - Largest-context pick breaks ties in catalog order again (retired models still excluded), and the context-window page uses the same pick
|
@greptile |
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 145 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
Summary
Landing SEO work, folded into one PR:
Library search titles
titlefor the H1,<title>, Open Graph and JSON-LD; with the " | Sim" suffix most library titles ran past 60 characters and were truncated in search resultsseoTitle/seoDescriptionfrontmatter now drive<title>, the meta description and Open Graph/X copy; the H1, cards, feeds and JSON-LD keeptitle/descriptioncheck:library-contentenforces the search title (suffix included) at 60 characters and the search description at 160 for every published post. No baseline, so parallel content PRs never conflict on oneModel catalog
/models/context-windowscompares context window, max output and price for every current model; retired models are excluded/models/compare/[pair]pages with a data-derived verdict priced at standard per-call rates throughresolveModelTokenPricing; the build fails if a curated model is retired or removedFree tools
/models/pricing-calculatorprices requests and monthly volume per model with the exact tier and cached-input rules billing uses: the priced branch ofpriceModelUsagemoved unchanged into a client-safepriceTokenUsage/models/token-countercounts tokens in the browser: exact for OpenAI encodings (js-tiktoken loads on first input, one encode per encoding), labelled estimates for other providers; pasted text never leaves the pageType of Change
Testing
check:library-contentpasses (129 posts). New fixture test for the search length rules fails when the suffix is dropped from the count, when>becomes>=, and when drafts stop being exempttest-landing-seo-e2e.ts: libraryseoTitle/seoDescriptionserved in<title>,og:titleand meta description with the H1 unchanged; every model page (including all compare pages in the sitemap) has a unique title ≤60 characters with one " | Sim" and a self canonical; unknown compare pairs 404; the token counter's initial HTML and scripts contain no js-tiktoken codeproviders/pricing,cost-policy,lib/tokenization, provider usage tests; billing extraction verified line by line as unchangedcheck:file-names,check:source-conventions,check:comment-hygiene,check:client-boundary,check:utils,check:unused-exports, biomeChecklist
test-auditauthoring gate)