From aa4c8388291290a86dd0eea5d6c9e4b9d7f46cd2 Mon Sep 17 00:00:00 2001 From: jhislop-design Date: Mon, 21 Sep 2026 13:27:48 -0600 Subject: [PATCH 1/2] feat(partners): route all Render referral surfaces to render.com/tanstack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Point every Render partner link across the site at the co-branded landing page Render provided, keeping the existing UTM parameters (including the per-placement utm_content). This covers the docs right-nav rail (docs_rail/docs_strip), the partner grid, home grid, library grid, blog rail, embed grid, and the partners directory — everything that resolves through getPartnerHref or the partner record href. The partner detail page CTAs already point here (#1281, merged). Left intentionally unchanged, as these are functional or canonical rather than referral links: - canonicalHref (schema.org sameAs and the partners API websiteUrl) stays render.com, Render's canonical homepage - the one-click "Deploy to Render" button (render.com/deploy?repo=…) keeps its repo param so it still deploys, matching the Netlify/Railway buttons - the Start hosting guide's dashboard Blueprint walkthrough Co-Authored-By: Claude Opus 4.8 --- src/utils/partners.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/partners.tsx b/src/utils/partners.tsx index ba17b4164..9444a011f 100644 --- a/src/utils/partners.tsx +++ b/src/utils/partners.tsx @@ -1505,7 +1505,7 @@ const railway = ((): Partner => { const render = ((): Partner => { const href = - 'https://render.com?utm_source=tanstack&utm_medium=referral&utm_campaign=gold-launch' + 'https://render.com/tanstack?utm_source=tanstack&utm_medium=referral&utm_campaign=gold-launch' return { name: 'Render', @@ -2220,5 +2220,5 @@ export function getPartnerHref( return partner.href } - return `https://render.com/?utm_source=tanstack&utm_medium=referral&utm_campaign=gold-launch&utm_content=${utmContent}` + return `https://render.com/tanstack?utm_source=tanstack&utm_medium=referral&utm_campaign=gold-launch&utm_content=${utmContent}` } From 4a7819312dba32301b608418e2cc8109c91ff15f Mon Sep 17 00:00:00 2001 From: jhislop-design Date: Mon, 21 Sep 2026 13:52:38 -0600 Subject: [PATCH 2/2] feat(partners): point the last Render links at render.com/tanstack Follow-up covering the three remaining Render URLs that were previously left as functional/canonical, now repointed to the co-branded landing page per request: - canonicalHref -> render.com/tanstack (also drives the partner JSON-LD sameAs, the partners API websiteUrl, and the partner-page footer link; the "See compute pricing" deep-link still resolves to /pricing) - the one-click "Deploy to Render" button (was render.com/deploy) now opens render.com/tanstack, keeping its repo and UTM params - the Start hosting guide's "New > Blueprint" link (was the dashboard select-repo screen) now points at render.com/tanstack Every Render link across the site now lands on render.com/tanstack. Co-Authored-By: Claude Opus 4.8 --- src/components/deploy/shared.ts | 2 +- src/utils/partners.tsx | 2 +- src/utils/start-hosting-guide.ts | 2 +- tests/deploy-provider.test.ts | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/deploy/shared.ts b/src/components/deploy/shared.ts index 70e44db8f..7affdba01 100644 --- a/src/components/deploy/shared.ts +++ b/src/components/deploy/shared.ts @@ -67,7 +67,7 @@ export const PROVIDER_INFO: Record = { name: 'Render', color: '#46E3B7', deployUrl: (owner, repo) => { - const url = new URL('https://render.com/deploy') + const url = new URL('https://render.com/tanstack') url.searchParams.set('repo', `https://github.com/${owner}/${repo}`) url.searchParams.set('utm_source', 'tanstack') diff --git a/src/utils/partners.tsx b/src/utils/partners.tsx index 9444a011f..6459c52e5 100644 --- a/src/utils/partners.tsx +++ b/src/utils/partners.tsx @@ -1516,7 +1516,7 @@ const render = ((): Partner => { tier: 'gold', uniqueConstraints: ['hosting'], href, - canonicalHref: 'https://render.com/', + canonicalHref: 'https://render.com/tanstack', resources: [ { kind: 'announcement', diff --git a/src/utils/start-hosting-guide.ts b/src/utils/start-hosting-guide.ts index e54d41d61..ed79bd4c8 100644 --- a/src/utils/start-hosting-guide.ts +++ b/src/utils/start-hosting-guide.ts @@ -114,7 +114,7 @@ services: value: 0.0.0.0 \`\`\` -Push the repository to GitHub, GitLab, or Bitbucket, then choose **New > Blueprint** in [Render](https://dashboard.render.com/select-repo?type=blueprint&utm_source=tanstack&utm_medium=referral&utm_campaign=gold-launch). Render supplies \`PORT\`, and Nitro reads it at runtime. Add secret environment values in the Render Dashboard instead of committing them to \`render.yaml\`. +Push the repository to GitHub, GitLab, or Bitbucket, then choose **New > Blueprint** in [Render](https://render.com/tanstack?utm_source=tanstack&utm_medium=referral&utm_campaign=gold-launch). Render supplies \`PORT\`, and Nitro reads it at runtime. Add secret environment values in the Render Dashboard instead of committing them to \`render.yaml\`. See Render's [Blueprint documentation](https://render.com/docs/infrastructure-as-code) and [environment variable documentation](https://render.com/docs/configure-environment-variables) for more configuration options.`, isOfficialPartner: true, diff --git a/tests/deploy-provider.test.ts b/tests/deploy-provider.test.ts index ad25cf2b4..3bfea747d 100644 --- a/tests/deploy-provider.test.ts +++ b/tests/deploy-provider.test.ts @@ -2,11 +2,11 @@ import assert from 'node:assert/strict' import test from 'node:test' import { PROVIDER_INFO } from '../src/components/deploy/shared' -test('Render deployment opens the repository as a Blueprint', () => { +test('Render deployment opens the TanStack partner landing page', () => { const url = new URL(PROVIDER_INFO.render.deployUrl('tanstack', 'books')) assert.equal(url.origin, 'https://render.com') - assert.equal(url.pathname, '/deploy') + assert.equal(url.pathname, '/tanstack') assert.equal( url.searchParams.get('repo'), 'https://github.com/tanstack/books',