feat(seo): add canonical link tags and Open Graph meta tags - #444
Open
anishkb-dev wants to merge 1 commit into
Open
feat(seo): add canonical link tags and Open Graph meta tags#444anishkb-dev wants to merge 1 commit into
anishkb-dev wants to merge 1 commit into
Conversation
anishkb-dev
force-pushed
the
fix/canonical-and-og-metadata-364-370
branch
from
August 8, 2026 07:46
e6752ae to
237a68b
Compare
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.
Fixes #364
Adds root metadata in
app/layout.tsx:metadataBase, a canonical URL viaalternates.canonical: './', Open Graph and Twitter Card tags, and a%s | ParakhAItitle template so child routes inherit the suffix.app/[locale]/dashboard/layout.tsxdrops its hardcoded| ParakhAIsince the template now appends it — otherwise the tab would readDashboard | ParakhAI | ParakhAI.Verified against the built HTML rather than just typechecking:
Two decisions worth flagging, both open to correction:
No
og:image, so this only closes #364 and not #370. The repo has no image at the 1200x630 that link previews want — the closest isFavicon.svg(an SVG, which X, Facebook, LinkedIn and Slack won't render for previews) andparakhai-logo.pngat 169x52. I'd rather ship the tags that work than pointog:imageat an asset that produces a broken preview and declare dimensions the file doesn't have. The Twitter card issummaryrather thansummary_large_imagefor the same reason —summary_large_imagewithout a usable image degrades badly. Adding a proper social card image would finish #370, but that's an asset someone needs to design, not a code change.The site URL reads
NEXT_PUBLIC_PLATFORM_URL, which is already declared inenv.tsand currently unused, rather than introducing a new variable. It's read fromprocess.envdirectly with a production fallback instead of going throughenv.ts, becauseenv.tsdefaults it tohttp://localhost:3000and the deploy workflow doesn't set it — going through the schema would emitlocalhostcanonical URLs in production. If you'd rather set the variable in the deploy vars, I'm happy to switch it to the validatedenvexport instead.