Skip to content

[Enhancement]: Implement Dynamic Metadata Configuration and OpenGraph Engine for Roadmap Pages #607

@shivani11jadhav

Description

@shivani11jadhav

Currently, the application utilizes highly static configuration settings for metadata. When a contributor or student shares specific roadmap URLs (e.g., /roadmaps/full-stack-web or /roadmaps/devops) on professional portals like LinkedIn, Twitter, or Discord, the preview crawler scrapes basic fallback root titles instead of path-specific descriptions.

This decreases search engine indexing scores (SEO) and limits organic community click-through ratios.

To Reproduce

Navigate to any nested dynamic route path under src/app/roadmaps/[id]/page.tsx.

Inspect the HTML document headers layer.

Observe that specialized meta attributes (og:title, og:description, dynamic titles) do not dynamically extract property parameters based on the layout's active curriculum.

Expected behavior
Dynamic curriculum endpoints should output explicit structural metadata tags mapped directly from their JSON payload schemas or database documents using Next.js App Router's robust native SEO metadata capabilities.

Proposed Solution
Refactor the dynamic layout or page parameters file (src/app/roadmaps/[id]/page.tsx) to implement the standard server-side generateMetadata protocol configuration handler:
TypeScript

export async function generateMetadata({ params }: Props): Promise {
const id = params.id;
// Fetch specific roadmap data metadata parameters
return {
title: ${roadmapTitle} Mastery Roadmap | DevPath,
description: Accelerate your tech path with the interactive ${roadmapTitle} developer layout curriculum tracking path.,
openGraph: {
title: ${roadmapTitle} Curriculum Track,
description: Track milestones, achievements, and structural paths interactively.,
},
};
}

Metadata

Metadata

Labels

gssoc26This is a official GirlScript Summer of Code label.level:advancedAdvanced issuestype:feature

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions