From 8ac75e7735128961a08c07f86b2cdae12d1d83e5 Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Sun, 18 Oct 2026 15:47:31 -0700 Subject: [PATCH] fix(landing): correct model version names, fit model page titles, and fix the Zapier post title count --- .../(shell)/[provider]/[model]/page.tsx | 26 +++--- apps/sim/app/(landing)/models/comparisons.ts | 24 +++-- apps/sim/app/(landing)/models/utils.ts | 83 +++++++++++++++--- .../best-zapier-alternatives/index.mdx | 2 +- .../best-zapier-alternatives/cover.jpg | Bin 27134 -> 27746 bytes apps/sim/scripts/test-landing-seo-e2e.ts | 20 +++-- 6 files changed, 108 insertions(+), 47 deletions(-) diff --git a/apps/sim/app/(landing)/models/(shell)/[provider]/[model]/page.tsx b/apps/sim/app/(landing)/models/(shell)/[provider]/[model]/page.tsx index 34afe44c09b..ff909ee47fa 100644 --- a/apps/sim/app/(landing)/models/(shell)/[provider]/[model]/page.tsx +++ b/apps/sim/app/(landing)/models/(shell)/[provider]/[model]/page.tsx @@ -19,6 +19,9 @@ import { formatUpdatedAt, getEffectiveMaxOutputTokens, getModelBySlug, + getModelPageDescription, + getModelPageName, + getModelPageTitle, getPricingBounds, getProviderBySlug, getRelatedModels, @@ -40,14 +43,6 @@ export async function generateStaticParams() { ) } -/** - * Model name qualified by its reseller ("Claude Opus 4.7 on AWS Bedrock"), so a reseller's page is - * distinguishable from the first-party page for the same model in titles and the H1. - */ -function hostedModelName(provider: { name: string; isReseller: boolean }, displayName: string) { - return provider.isReseller ? `${displayName} on ${provider.name}` : displayName -} - export async function generateMetadata({ params, }: { @@ -61,11 +56,12 @@ export async function generateMetadata({ return {} } - const pageName = hostedModelName(provider, model.displayName) + const title = getModelPageTitle(provider, model) + const description = getModelPageDescription(provider, model) return { - title: `${pageName} Pricing, Context Window, and Features`, - description: `${model.displayName} by ${provider.name}: pricing, cached input cost, output cost, context window, and capability support. Explore the full generated model page on Sim.`, + title, + description, keywords: [ model.displayName, `${model.displayName} pricing`, @@ -78,14 +74,14 @@ export async function generateMetadata({ // og:image/twitter:image come from the sibling opengraph-image.tsx - // Next serves it at a hash-suffixed URL, so hardcoding it here 404s. openGraph: { - title: `${pageName} Pricing, Context Window, and Features | Sim`, - description: `${model.displayName} by ${provider.name}: pricing, context window, and model capability details.`, + title: `${title} | Sim`, + description, url: `${baseUrl}${model.href}`, type: 'website', }, twitter: { card: 'summary_large_image', - title: `${pageName} | Sim`, + title: `${title} | Sim`, description: model.summary, }, alternates: { @@ -184,7 +180,7 @@ export default async function ModelPage({ id='model-heading' className='text-[28px] text-[var(--text-primary)] leading-[100%] tracking-[-0.02em] sm:text-[36px] lg:text-[44px]' > - {hostedModelName(provider, model.displayName)} + {getModelPageName(provider, model)} diff --git a/apps/sim/app/(landing)/models/comparisons.ts b/apps/sim/app/(landing)/models/comparisons.ts index 3dea1b111b3..2086dfa7bc5 100644 --- a/apps/sim/app/(landing)/models/comparisons.ts +++ b/apps/sim/app/(landing)/models/comparisons.ts @@ -3,6 +3,7 @@ import { type CatalogFaq, type CatalogModel, type CatalogProvider, + fitWithinLength, formatPrice, formatTokenCount, getEffectiveMaxOutputTokens, @@ -10,6 +11,7 @@ import { getProviderBySlug, hasPublishedPricing, isPromptModel, + MAX_PAGE_TITLE_LENGTH, } from '@/app/(landing)/models/utils' import { resolveModelTokenPricing } from '@/providers/pricing' @@ -151,27 +153,23 @@ function buildComparisons(): ModelComparison[] { /** Every curated comparison, in {@link MODEL_COMPARISON_PAIRS} order. */ export const MODEL_COMPARISONS: ModelComparison[] = buildComparisons() -/** Longest page title that keeps the rendered `` (with the " | Sim" template) at 60 chars. */ -const MAX_COMPARISON_TITLE_LENGTH = 54 - /** Page title for a comparison, as specific as the 60-character `<title>` budget allows. */ export function getComparisonPageTitle(comparison: ModelComparison): string { - const candidates = [ - `${comparison.title}: API Pricing & Context Window`, - `${comparison.title}: API Pricing & Specs`, - `${comparison.title} API Pricing`, - ] - return ( - candidates.find((candidate) => candidate.length <= MAX_COMPARISON_TITLE_LENGTH) ?? - comparison.title + return fitWithinLength( + [ + `${comparison.title}: API Pricing & Context Window`, + `${comparison.title}: API Pricing & Specs`, + `${comparison.title} API Pricing`, + comparison.title, + ], + MAX_PAGE_TITLE_LENGTH ) } /** Meta description for a comparison page; long model names drop the trailing Sim sentence. */ export function getComparisonPageDescription(comparison: ModelComparison): string { const lead = `${comparison.title}: API pricing per 1M tokens, context window, max output, and capabilities side by side.` - const withSim = `${lead} Use either in Sim's AI agents.` - return withSim.length <= 155 ? withSim : lead + return fitWithinLength([`${lead} Use either in Sim's AI agents.`, lead], 155) } /** The curated comparison at `/models/compare/{slug}`; `null` for a reversed or unknown pair. */ diff --git a/apps/sim/app/(landing)/models/utils.ts b/apps/sim/app/(landing)/models/utils.ts index e37fdf43c9a..169eafc2c51 100644 --- a/apps/sim/app/(landing)/models/utils.ts +++ b/apps/sim/app/(landing)/models/utils.ts @@ -297,17 +297,19 @@ function tokenizeModelName(value: string): string[] { function mergeVersionTokens(tokens: string[]): string[] { const merged: string[] = [] - for (let index = 0; index < tokens.length; index += 1) { - const current = tokens[index] - const next = tokens[index + 1] - - if (/^\d{1,2}$/.test(current) && /^\d{1,2}$/.test(next)) { - merged.push(`${current}.${next}`) - index += 1 + for (const token of tokens) { + const previous = merged[merged.length - 1] + + if ( + previous !== undefined && + /^[a-z]*\d{1,2}(\.\d{1,2})*$/i.test(previous) && + /^\d{1,2}$/.test(token) + ) { + merged[merged.length - 1] = `${previous}.${token}` continue } - merged.push(current) + merged.push(token) } return merged @@ -340,17 +342,21 @@ function formatModelToken(token: string): string { return token.toUpperCase() } - if (/^\d+\.\d+$/.test(token)) { + if (/^\d+(\.\d+)+$/.test(token)) { return token } - if (/^[a-z]{3,}\d+$/i.test(token)) { - const [, prefix, version] = token.match(/^([a-z]{3,})(\d+)$/i) ?? [] + if (/^[a-z]{3,}\d+(\.\d+)*$/i.test(token)) { + const [, prefix, version] = token.match(/^([a-z]{3,})(\d+(?:\.\d+)*)$/i) ?? [] if (prefix && version) { return `${formatModelToken(prefix)} ${version}` } } + if (/^[a-z]\d+(\.\d+)+$/i.test(token)) { + return token.toUpperCase() + } + if (/^[a-z]\d+[a-z]$/i.test(token)) { return token.toUpperCase() } @@ -640,6 +646,12 @@ export const MODEL_PROVIDERS_WITH_DYNAMIC_CATALOGS = MODEL_CATALOG_PROVIDERS.fil export const ALL_CATALOG_MODELS = MODEL_PROVIDERS_WITH_CATALOGS.flatMap( (provider) => provider.models ) +/** Display names more than one first-party provider lists, so their pages name the provider too. */ +const SHARED_FIRST_PARTY_NAMES = new Set( + ALL_CATALOG_MODELS.map((model) => model.displayName).filter( + (name, index, names) => names.indexOf(name) !== index + ) +) export const TOTAL_MODEL_PROVIDERS = MODEL_CATALOG_PROVIDERS.length export const TOTAL_MODELS = ALL_CATALOG_MODELS.length export const TOP_MODEL_PROVIDERS = MODEL_PROVIDERS_WITH_CATALOGS.slice(0, 8).map( @@ -923,6 +935,55 @@ export function getProviderPageDescription(provider: CatalogProvider): string { : `Context windows and capabilities for ${models}. Use any of them in Sim's AI agents.` } +/** Longest page title that keeps the rendered `<title>` (with the " | Sim" template) at 60 chars. */ +export const MAX_PAGE_TITLE_LENGTH = 54 + +/** The first candidate within `maxLength` characters, else the last (shortest) candidate. */ +export function fitWithinLength(candidates: readonly [string, ...string[]], maxLength: number) { + return ( + candidates.find((candidate) => candidate.length <= maxLength) ?? + candidates[candidates.length - 1] + ) +} + +/** + * Model name qualified by its host ("Claude Opus 4.7 on AWS Bedrock") on a reseller's page or when + * two first-party providers list the same name, so every model page has a distinct title and H1. + */ +export function getModelPageName(provider: CatalogProvider, model: CatalogModel): string { + return provider.isReseller || SHARED_FIRST_PARTY_NAMES.has(model.displayName) + ? `${model.displayName} on ${provider.name}` + : model.displayName +} + +/** + * Model page title, as specific as the 60-character `<title>` budget allows. A model without + * published token prices is never titled for pricing. + */ +export function getModelPageTitle(provider: CatalogProvider, model: CatalogModel): string { + const name = getModelPageName(provider, model) + return hasPublishedPricing(model.pricing) + ? fitWithinLength( + [ + `${name} API Pricing & Context Window`, + `${name} API Pricing & Specs`, + `${name} API Pricing`, + `${name} Pricing`, + name, + ], + MAX_PAGE_TITLE_LENGTH + ) + : fitWithinLength([`${name} Context Window & Features`, name], MAX_PAGE_TITLE_LENGTH) +} + +/** Model meta description; long model names drop the trailing Sim sentence. */ +export function getModelPageDescription(provider: CatalogProvider, model: CatalogModel): string { + const lead = hasPublishedPricing(model.pricing) + ? `${model.displayName} by ${provider.name}: API pricing per 1M tokens, cached input cost, context window, and capabilities.` + : `${model.displayName} by ${provider.name}: context window, max output, and capabilities.` + return fitWithinLength([`${lead} Use it in Sim's AI agents.`, lead], 155) +} + /** Most recent `pricing.updatedAt` across a non-empty list of models. */ export function getLatestModelUpdate(models: CatalogModel[]): Date { return new Date(Math.max(...models.map((model) => new Date(model.pricing.updatedAt).getTime()))) diff --git a/apps/sim/content/library/best-zapier-alternatives/index.mdx b/apps/sim/content/library/best-zapier-alternatives/index.mdx index 88a7fc04b42..304c2b1d262 100644 --- a/apps/sim/content/library/best-zapier-alternatives/index.mdx +++ b/apps/sim/content/library/best-zapier-alternatives/index.mdx @@ -1,6 +1,6 @@ --- slug: best-zapier-alternatives -title: '7 Best Zapier Alternatives in 2026, Compared' +title: '15 Best Zapier Alternatives in 2026, Compared' description: 'Compare 15 leading Zapier alternatives in 2026 on current pricing, AI agents, self-hosting, small-team fit, Microsoft environments, and enterprise governance.' seoTitle: 'Best Zapier Alternatives 2026: 15 Tools Compared' seoDescription: 'Compare 15 Zapier alternatives on pricing, free plans, AI agents, open source, self-hosting, no-code use, and enterprise governance.' diff --git a/apps/sim/public/library/best-zapier-alternatives/cover.jpg b/apps/sim/public/library/best-zapier-alternatives/cover.jpg index 6ac80c8b8fb6d3e092a7ffcb43d92c73cd84e804..f07435d2649569400a7339979bcfdc71bca3f5c4 100644 GIT binary patch delta 24033 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 delta 23352 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 J(xg0v{s*Wb3c3IQ diff --git a/apps/sim/scripts/test-landing-seo-e2e.ts b/apps/sim/scripts/test-landing-seo-e2e.ts index 22f71fab558..32a05a06ddd 100644 --- a/apps/sim/scripts/test-landing-seo-e2e.ts +++ b/apps/sim/scripts/test-landing-seo-e2e.ts @@ -19,6 +19,7 @@ import { vellumProfile, } from '@/lib/compare/data' import { ContentFrontmatterSchema } from '@/lib/content/schema' +import { mapWithConcurrency } from '@/lib/core/utils/concurrency' import { INTEGRATION_SEO } from '@/app/(landing)/integrations/data/seo-content' /** @@ -243,26 +244,31 @@ async function run() { ) await check( - 'model pages carry distinct search titles within 60 characters and self-canonicalize', + 'every model page carries a distinct search title within 60 characters and self-canonicalizes', async () => { - const comparePaths = sitemapPaths.filter((path) => path.startsWith('/models/compare/')) + const paths = sitemapPaths.filter((path) => path === '/models' || path.startsWith('/models/')) + const comparePaths = paths.filter((path) => path.startsWith('/models/compare/')) assert( comparePaths.length >= 5, `The sitemap lists only ${comparePaths.length} compare pages` ) - const paths = [ + for (const required of [ '/models', '/models/anthropic', '/models/context-windows', '/models/pricing-calculator', '/models/token-counter', - ...comparePaths, - ] + ]) { + assert(paths.includes(required), `The sitemap omits ${required}`) + } + const pages = await mapWithConcurrency(paths, 8, async (path) => ({ + path, + ...(await get(path)), + })) const pathByTitle = new Map<string, string>() let anthropicTitle = '' const failures: string[] = [] - for (const path of paths) { - const { status, body } = await get(path) + for (const { path, status, body } of pages) { const title = pageTitle(body) const canonical = canonicalPath(body) const duplicateOf = pathByTitle.get(title)