fix: resolve base URL using production domain instead of deployment URL#128
Merged
liamwalder merged 2 commits intodevelopfrom Apr 3, 2026
Merged
fix: resolve base URL using production domain instead of deployment URL#128liamwalder merged 2 commits intodevelopfrom
liamwalder merged 2 commits intodevelopfrom
Conversation
…tion - Added a new utility function `getSiteBaseUrl` to centralize the logic for resolving the site's base URL from various settings and environment variables. - Updated multiple components and routes to utilize this new utility, ensuring consistent base URL handling across the application. - Refactored metadata generation functions to improve clarity and maintainability.
VERCEL_URL resolves to the deployment-specific URL (e.g. my-app-abc123.vercel.app) which produces incorrect og:image and sitemap URLs in production. VERCEL_PROJECT_PRODUCTION_URL returns the actual production domain configured in Vercel. Made-with: Cursor
lunenas
approved these changes
Apr 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
OG image, sitemap, and robots.txt URLs resolve against the Vercel
deployment URL (e.g.
my-app-abc123.vercel.app) instead of the actualproduction domain. This happens because
VERCEL_URLis the lastfallback and returns the per-deployment URL, not the configured domain.
Changes
getSiteBaseUrlutility to centralize base URL resolution across the appgetBaseUrl()functions in robots.txt and sitemap routesmetadataBaseon page metadata so Next.js resolves relative URLs correctlyVERCEL_PROJECT_PRODUCTION_URLas a fallback beforeVERCEL_URL, which automatically returns the production domain configured in VercelgetSettingsByKeysTest plan
global_canonical_urlin site settings still takes priorityMade with Cursor