Skip to Content
HelpHelp Improvement 8 — Related Articles

Help Improvement 8 — Related Articles

Status: [To Build]

Purpose: Help topic pages end abruptly — there is no suggestion of where to read next. A “Related articles” footer at the bottom of each topic drives deeper engagement and surfaces topics the user may not have known to search for.


Data Shape

Add an optional related field to HelpPageData in packages/common/src/help-types.ts:

interface HelpPageData { // ... existing fields ... related?: string[]; // slugs of related topics }

Example usage in _data/index.ts:

{ slug: "blog", title: "Blog Posts", // ... related: ["content-briefs", "activities", "calendar"], }

UI Component

// In packages/ui/src/HelpPage.tsx // Add to the bottom of the page, after all sections + rating footer: {relatedPages.length > 0 && !inDrawer && ( <aside className="mt-10 border-t pt-6"> <h3 className="text-sm font-semibold text-muted-foreground uppercase tracking-wide mb-3"> Related articles </h3> <ul className="space-y-2"> {relatedPages.map(p => ( <li key={p.slug}> <Link href={`${basePath ?? "/help"}/${p.slug}`} className="flex items-center gap-2 text-sm text-foreground hover:text-violet-600 transition-colors group" > <BookOpen className="w-3.5 h-3.5 shrink-0 text-muted-foreground group-hover:text-violet-600" /> {p.title} </Link> </li> ))} </ul> </aside> )}

Compute relatedPages inside HelpPage:

const relatedPages = useMemo(() => { if (!data.related?.length || !allPages) return []; return data.related .map(slug => allPages.find(p => p.slug === slug)) .filter((p): p is HelpPageData => !!p); }, [data.related, allPages]);

This requires allPages to be passed (already added by improvement #6).


In-Drawer Behaviour

Related articles are hidden when inDrawer={true} — the drawer is meant to be a quick reference panel, not a reading path. Users can open the full /help/{slug} page via the “Open in full page” link at the top of the drawer for deeper navigation.


Seed these into _data/index.ts when writing the data:

TopicRelated slugs
blogcontent-briefs, activities, calendar
socialchannels, calendar, activities
newsletterschannels, activities, calendar
content-briefsblog, seo, activities
activitiesdeliverables, goals, calendar
deliverablesactivities, goals
goalsdeliverables, activities
calendaractivities, blog, social, newsletters
contextstrategy, deliverables
strategycontext, goals
channelssocial, insights, ai-search
seoblog, content-briefs, ai-search
ai-searchseo, insights
reportsagent-run-stats (once written), insights

Affected Files

FileChange
packages/common/src/help-types.tsAdd related?: string[] to HelpPageData
packages/ui/src/HelpPage.tsxCompute + render related articles section
apps/dashboard/src/app/(dashboard)/help/_data/index.tsAdd related arrays to all 26 existing topics

© 2026 Leadmetrics — Internal use only