You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The /seal-of-reliability sub-route never had a generateMetadata, so it inherited the root layout's site-wide title and description. Sharing a link like https://mobilitydatabase.org/feeds/gtfs/mdb-1120/seal-of-reliability previewed the whole site instead of the feed — no og:* tags at all. The parent feed page and the /map sub-route already had their own metadata; this was the one gap.
Changes:
Feed.functions.tsx — adds generateSealPageTitle and generateSealDescriptionMetaTag, mirroring the existing map-page helpers.
static/seal-of-reliability/page.tsx and authed/seal-of-reliability/page.tsx — wire it in. Both reuse the cached fetcher the page body already calls (fetchGuestFeedData / fetchCompleteFeedData), so this adds no extra API request.
<meta name="description" content="Access GTFS, GTFS Realtime, GBFS transit data with over 6,000 feeds from 99+ countries..."/>
(no og:* or twitter:* tags)
After:
<meta name="description" content="See how the Lasta a.d. Beograd GTFS Schedule feed performs against each Seal of Reliability criterion."/>
<meta property="og:title" content="Lasta a.d. Beograd GTFS Schedule Feed Seal of Reliability - Mobility Database"/>
<meta property="og:description" content="See how the Lasta a.d. Beograd GTFS Schedule feed performs against each Seal of Reliability criterion."/>
<meta property="og:url" content="https://mobilitydatabase.org/feeds/gtfs/mdb-1120/seal-of-reliability"/>
<meta property="og:site_name" content="Mobility Database"/>
<meta property="og:type" content="website"/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Lasta a.d. Beograd GTFS Schedule Feed Seal of Reliability - Mobility Database"/>
<meta name="twitter:description" content="See how the Lasta a.d. Beograd GTFS Schedule feed performs against each Seal of Reliability criterion."/>
Note: previews remain text-only. There is no og:image anywhere on the site, so link cards show a title and description but no image. A generated card image (opengraph-image.tsx via ImageResponse) would be a good follow-up, but is out of scope here.
Testing tips:
yarn start:dev, then check the tags on a GTFS feed's seal page:
Thanks for opening this pull request! You're awesome. We use semantic commit messages to streamline the release process. Before your pull request can be merged, you should update your pull request title to start with a semantic prefix. Examples of titles with semantic prefixes:
fix: Bug with ssl network connections + Java module permissions.
feat: Initial support for multiple @PrimaryKey annotations.
docs: update RELEASE.md with new process
To get this PR to the finish line, please do the following:
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
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:
The
/seal-of-reliabilitysub-route never had agenerateMetadata, so it inherited the root layout's site-wide title and description. Sharing a link likehttps://mobilitydatabase.org/feeds/gtfs/mdb-1120/seal-of-reliabilitypreviewed the whole site instead of the feed — noog:*tags at all. The parent feed page and the/mapsub-route already had their own metadata; this was the one gap.Changes:
Feed.functions.tsx— addsgenerateSealPageTitleandgenerateSealDescriptionMetaTag, mirroring the existing map-page helpers.lib/generate-feed-metadata.ts— addsgenerateSealFeedMetadata(title, description, OpenGraph, Twitter card, canonical URL).static/seal-of-reliability/page.tsxandauthed/seal-of-reliability/page.tsx— wire it in. Both reuse the cached fetcher the page body already calls (fetchGuestFeedData/fetchCompleteFeedData), so this adds no extra API request.messages/{en,fr}.json— addsfeeds.sealPageDescription.Expected behavior:
Before (live site):
After:
Note: previews remain text-only. There is no
og:imageanywhere on the site, so link cards show a title and description but no image. A generated card image (opengraph-image.tsxviaImageResponse) would be a good follow-up, but is out of scope here.Testing tips:
yarn start:dev, then check the tags on a GTFS feed's seal page:Expect the provider name in
og:title/og:description, not the generic site copy.Worth checking both proxy paths, since the fix touches both: signed out hits
static/, signed in hitsauthed/. Both should produce identical tags./fr/feeds/gtfs/mdb-1120/seal-of-reliabilityshould pick up the Frenchfeeds.sealPageDescription.Confirm the parent feed page and
/mapare unchanged — those already had metadata and this PR shouldn't touch them.Please make sure these boxes are checked before submitting your pull request - thanks!
yarn testto make sure you didn't break anything