Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions layers/marketing/app/utils/page-admissions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ export const PAGE_ADMISSIONS: Readonly<Record<string, PageAdmission>> = {
targetQuery: 'claude code agent skill',
admissionBar: '390 searches a month. The head term "claude skills" is served by the homepage and /skills.',
},
'/vs/skills-sh': {
targetQuery: 'skills.sh alternative',
admissionBar: 'Owner-approved exception, 2026-10-07: the competitor brand rule above would exclude it. No measured volume: the keyword provider holds no data for skills.sh queries, and Search Console shows five queries naming skills.sh at about one impression each over three months, none with "alternative". The homepage hero and Why band link it as the skills.sh alternative. Review at the 2026-11-11 gate: keep only if indexed with relevant query impressions.',
},
'/vs/context7': {
targetQuery: 'context7 vs skills',
admissionBar: 'The human-written template that experiment C rolls out to concept pages. No measured volume; kept as the control.',
Expand Down
3 changes: 2 additions & 1 deletion test/unit/page-admissions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ describe('freeze audit', () => {
it('indexes an admitted page and noindexes an audited page with no admission', () => {
expect(pageRobots('/agents/codex')).toBe('index,follow')
expect(pageRobots('/agents/windsurf')).toBe('noindex,follow')
expect(pageRobots('/vs/skills-sh')).toBe('noindex,follow')
expect(pageRobots('/verify')).toBe('noindex,follow')
expect(pageRobots('/vs/skills-sh')).toBe('index,follow')
})

it('leaves pages outside the audit alone', () => {
Expand Down
Loading