IPageMetadataService sets title, description, and canonical link per route from OnInitialized in each page code-behind.
PageMetadata component renders HeadOutlet content so crawlers that execute JavaScript still see updated tags on navigation.
Set canonical URLs on listing and detail pages to avoid duplicate content when query strings are introduced later.
Add Open Graph and Twitter card tags in the shared metadata component when you have stable hero images.
Submit sitemap.xml generation as a follow-up — list static routes from NavigationCatalog for consistency.