Skip to content

Add page metadata (title + description) to all public routes for SEO#115

Open
veemakama wants to merge 5 commits into
Ads-Bazaar:mainfrom
veemakama:main
Open

Add page metadata (title + description) to all public routes for SEO#115
veemakama wants to merge 5 commits into
Ads-Bazaar:mainfrom
veemakama:main

Conversation

@veemakama

Copy link
Copy Markdown
  • Public pages with unique metadata ✅

  • /marketplace : Added title "Marketplace — AdsBazaar" + description

  • /explore : Already had proper custom metadata

  • /marketplace/[id] : Added generateMetadata for campaign-specific title/description

  • Dashboard layouts with template pattern ✅

  • Creator layout uses "%s — AdsBazaar Creator"

  • Business layout uses "%s — AdsBazaar Business"

  • Dashboard page titles ✅

  • Creator pages: "Creator Dashboard", "Analytics", "Inventory", "Payouts", "Settings" (campaigns page uses layout default since it's a client component)

  • Business pages: "Business Dashboard", "Campaigns", "Analytics", "Payouts", "Settings"

  • Unique titles ✅

  • Every page now has a distinct title that appears in browser tabs

  • Build passes ✅

  • pnpm --filter frontend build completed successfully!
    Closes feat: Add page metadata (title + description) to all public routes for SEO #60

- Public pages with unique metadata ✅

- /marketplace : Added title "Marketplace — AdsBazaar" + description
- /explore : Already had proper custom metadata
- /marketplace/[id] : Added generateMetadata for campaign-specific title/description
- Dashboard layouts with template pattern ✅

- Creator layout uses "%s — AdsBazaar Creator"
- Business layout uses "%s — AdsBazaar Business"
- Dashboard page titles ✅

- Creator pages: "Creator Dashboard", "Analytics", "Inventory", "Payouts", "Settings" (campaigns page uses layout default since it's a client component)
- Business pages: "Business Dashboard", "Campaigns", "Analytics", "Payouts", "Settings"
- Unique titles ✅

- Every page now has a distinct title that appears in browser tabs
- Build passes ✅

- pnpm --filter frontend build completed successfully!
Closes Ads-Bazaar#60
@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

@veemakama is attempting to deploy a commit to the victorjames408gmailcom's projects Team on Vercel.

A member of the Team first needs to authorize it.

@JamesVictor-O JamesVictor-O left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — Changes Requested

Assignee: @veemakama ✅ (Issue #60). The PR has merge conflicts — several pages were modified by other PRs since you branched. Please rebase:

```bash
git fetch origin && git rebase origin/main
```

Also note: PR #84 already added metadata to most dashboard pages and the marketplace. Check what is already in `main` after rebasing — you may only need to add metadata to pages that #84 missed.

@codeX-james

Copy link
Copy Markdown

@veemakama This PR still has merge conflicts. Also note that PR #84 (merged weeks ago) already added metadata to most pages via layout templates + individual page exports. After rebasing onto latest main, please check which pages still need metadata before adding duplicates.

git fetch origin && git rebase origin/main

If most metadata is already covered, this PR may only need to add it to a few remaining pages — or it may no longer be needed. Please verify after rebasing.

@codeX-james codeX-james left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — Changes Requested

Assignee: @veemakama ✅ (Issue #60). Thanks for rebasing — conflicts resolved. However, this PR adds duplicate metadata to pages that already have it from PR #84.

Pages that ALREADY have metadata (will cause duplicate exports):

Page Already has metadata from PR #84
business/analytics/page.tsx title: "Analytics"
business/payouts/page.tsx title: "Payouts"
business/settings/page.tsx title: "Settings"
creator/analytics/page.tsx title: "Analytics"
creator/inventory/page.tsx title: "Inventory"
creator/payouts/page.tsx title: "Payouts"
creator/settings/page.tsx title: "Settings"
marketplace/page.tsx title: "Marketplace — AdsBazaar"
marketplace/[id]/page.tsx title: "Campaign Details — AdsBazaar"

Pages that NEED metadata (keep only these):

Page Missing
business/page.tsx ✅ Needs "Business Dashboard"
creator/page.tsx ✅ Needs "Creator Dashboard"
business/campaigns/page.tsx ✅ Needs "Campaigns"
creator/campaigns/page.tsx ✅ Needs "Campaigns" (if server component — check if it has "use client")

Fix: Remove the metadata additions from the 9 pages that already have it. Keep only the 2-4 pages that are missing. This avoids duplicate export const metadata which would cause a TypeScript error.

Also: both layouts already have title.template from PR #84, so remove those additions too.

@JamesVictor-O JamesVictor-O left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — Still has issues

Most pages already have metadata from PR #84. After rebasing, please verify:

  1. Run: grep -rn "export const metadata" apps/frontend/app/dashboard/ apps/frontend/app/marketplace/
  2. Only add metadata to pages that DONT already have it

Currently this PR will cause duplicate export const metadata exports in 7+ files, which breaks the build. Please remove additions for files that already have metadata.

Updated File

@JamesVictor-O JamesVictor-O left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — Changes Requested (still has issues)

The approach is still wrong. This PR removes working layout title templates that were added in PR #84 and PR #100:

Regressions introduced

  1. Business layout — removes title.template: "%s — AdsBazaar Business" and default: "Dashboard — AdsBazaar Business". All business dashboard tabs will lose their "— AdsBazaar Business" suffix.

  2. Creator layout — same removal of title.template: "%s — AdsBazaar Creator".

  3. Marketplace layout — removes title: "Marketplace — AdsBazaar" that was added in PR #100.

These templates are what make child page titles work. When a page exports title: "Analytics", the layout template turns it into "Analytics — AdsBazaar Business". Removing the template breaks this.

What this PR should actually do

Only add metadata to pages that are missing it. Do NOT touch layouts or pages that already have metadata. The only pages that need new metadata are:

  • app/dashboard/business/page.tsx → add title: "Business Dashboard"
  • app/dashboard/creator/page.tsx → add title: "Creator Dashboard"
  • app/dashboard/business/campaigns/page.tsx → add title: "Campaigns"

That is 3 files, not 14. Everything else already has metadata from PR #84.

Please revert all layout changes and remove additions for pages that already have metadata.

Updated File
@veemakama

Copy link
Copy Markdown
Author

Appologies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add page metadata (title + description) to all public routes for SEO

3 participants