Skip to content

Release: /videos public with a page per video and SEO fixes - #320

Merged
jadhavgaurav merged 2 commits into
mainfrom
development
Nov 3, 2026
Merged

jadhavgaurav merged 2 commits into
mainfrom
development

Conversation

@jadhavgaurav

Copy link
Copy Markdown
Contributor

What ships

/videos goes public

  • VIDEOS_PAGE_PUBLIC is now true. The page is indexable, listed in the sitemap and linked from the Resources menu (Events group), all together.

A page for every video: /videos/[slug]

  • Player (click to load, YouTube only after a click), summary, full description, topic links, related videos and VideoObject schema.
  • Card, Quick starts, theatre and featured titles link to it, so every video is reachable from the HTML. The thumbnail still plays inline.
  • Unknown slugs call notFound(). On production this may serve a soft 200 like the other [slug] routes (see docs/operations/INCIDENTS.md and the RENDER-01 note in the SEO SOP).

SEO audit fixes

  • Title "Container Security Videos: SBOM and VEX", H1 "Container security videos", longer description and lead.
  • "Quick starts" is an H2; the filter sheet title is no longer a heading.
  • Listing schema is a CollectionPage plus an ItemList of links to the video pages (the VideoObject now lives on each video page).
  • Sitemap lists /videos (dated by the newest video) and every video page. llms.txt lists Videos.
  • Page registry gets a /videos/[slug] template row.

Deploy notes

  • Web (Vercel) and CMS both deploy from main. No migrations, no new env vars.
  • After deploy, add the registry row so the new template appears in Schema Manager and search: from apps/cms, pnpm exec tsx --env-file=.env scripts/seed-page-registry.ts (production run, needs the operator).
  • VIDEOS_SOURCE=cms is still off, so the pages read the code catalogue plus the YouTube feed.
  • After deploy, submit /videos and a few video pages in Search Console and watch the Video indexing report.

Checks

  • Web: 708 tests, lint, typecheck pass. CMS: verify:page-registry passes.
  • Not run locally: build and verify:copy (the build needs the production CMS); CI runs them.
  • Checked in a browser on the dev server: Resources menu link, a video page, the listing HTML (17 video links, one H1, correct schema types, 404 for an unknown slug).

Not covered

  • No transcripts exist in any data source, so video pages print the YouTube description.
  • 3 feed-only videos have no duration in their schema.
  • Contextual links to /videos from blog and product pages are editorial work.

… findings

Make the page public (VIDEOS_PAGE_PUBLIC = true): indexable, in the sitemap and
linked from the Resources menu.

Give every video its own page at /videos/[slug] with the player, summary,
description, topic links, related videos and VideoObject schema. Card, Quick
starts, theatre and featured titles now link to it, so crawlers reach every
video from the HTML. The thumbnail still plays inline.

Also from the audit:
- Page title "Container Security Videos: SBOM and VEX", H1 "Container security
  videos", longer meta description and lead.
- Quick starts is an H2; the filter sheet title is no longer a heading.
- Listing schema is a CollectionPage plus an ItemList of links to the video
  pages.
- Sitemap lists /videos (dated by the newest video) and each video page.
- llms.txt lists Videos; page registry gets a /videos/[slug] template row.
The thumbnail is the first column and has a custom cell, which Payload does not
wrap in its row link, so nothing in a row was clickable. The thumbnail now links
to the edit page and a new title cell does the same. Also refresh two comments
that still said videos have no page of their own, and regenerate the import map.
@vercel

vercel Bot commented Nov 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
cleanstart Skipped Skipped Nov 3, 2026 11:59am UTC

Request Review

@jadhavgaurav
jadhavgaurav merged commit 0ec2154 into main Nov 3, 2026
8 checks passed

This branch was previously deployed

1 inactive deployment
Preview — 7b23bbca Deployed Nov 3, 2026 by vercel[bot]
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.

1 participant