From 71da2342356c3e43143a3bb042a61b7d08e653aa Mon Sep 17 00:00:00 2001 From: rogutkuba Date: Sun, 26 Jul 2026 16:43:36 -0400 Subject: [PATCH] Add roundup-style alternative pages for competitor SEO Rebuild the *-alternative pages as "Best [X] alternatives" roundups to better match the plural/list search intent behind the impressions Search Console shows on these terms (they were stuck on page 2 as thin vendor pages). Each page ranks CoderScreen #1 alongside real competitors with honest pros/cons, pricing, and G2 ratings. - toolsDatabase.ts: single source of truth for 11 tools (pricing, ratings, features) with downloaded logos - roundupConfig.ts: buildRoundup factory with shared sections plus per-page hero/why-us/FAQ/SEO/tool-list for all 9 pages - roundup components matching the flat, bordered landing-page style - [slug]/page.tsx branches to the roundup renderer and prefers its SEO Co-Authored-By: Claude Opus 4.8 --- .../public/company-logos/codeinterview.png | Bin 0 -> 1403 bytes .../public/company-logos/coderbyte.png | Bin 0 -> 2001 bytes .../public/company-logos/coderpad.png | Bin 0 -> 6965 bytes .../public/company-logos/codesignal.png | Bin 0 -> 3332 bytes .../public/company-logos/codesubmit.png | Bin 0 -> 6971 bytes .../public/company-logos/hackerrank.jpg | Bin 0 -> 3106 bytes apps/marketing/public/company-logos/karat.png | Bin 0 -> 526 bytes .../public/company-logos/leetcode.png | Bin 0 -> 16665 bytes .../public/company-logos/qualified.png | Bin 0 -> 20181 bytes .../public/company-logos/testgorilla.png | Bin 0 -> 7210 bytes .../src/app/(alternatives)/[slug]/page.tsx | 50 +- .../alternative/roundup/BuyingGuide.tsx | 28 + .../alternative/roundup/FeaturesToLookFor.tsx | 46 ++ .../alternative/roundup/RoundupBenefits.tsx | 27 + .../alternative/roundup/RoundupFAQ.tsx | 55 ++ .../alternative/roundup/RoundupHero.tsx | 115 +++ .../alternative/roundup/RoundupList.tsx | 29 + .../alternative/roundup/RoundupPageView.tsx | 43 ++ .../alternative/roundup/RoundupProse.tsx | 32 + .../roundup/RoundupSectionHeader.tsx | 17 + .../alternative/roundup/RoundupTable.tsx | 77 ++ .../alternative/roundup/RoundupWhyUs.tsx | 49 ++ .../alternative/roundup/ToolCard.tsx | 134 ++++ .../alternative/roundup/ToolLogo.tsx | 34 + apps/marketing/src/lib/roundupConfig.ts | 682 ++++++++++++++++++ apps/marketing/src/lib/toolsDatabase.ts | 445 ++++++++++++ 26 files changed, 1848 insertions(+), 15 deletions(-) create mode 100644 apps/marketing/public/company-logos/codeinterview.png create mode 100644 apps/marketing/public/company-logos/coderbyte.png create mode 100644 apps/marketing/public/company-logos/coderpad.png create mode 100644 apps/marketing/public/company-logos/codesignal.png create mode 100644 apps/marketing/public/company-logos/codesubmit.png create mode 100644 apps/marketing/public/company-logos/hackerrank.jpg create mode 100644 apps/marketing/public/company-logos/karat.png create mode 100644 apps/marketing/public/company-logos/leetcode.png create mode 100644 apps/marketing/public/company-logos/qualified.png create mode 100644 apps/marketing/public/company-logos/testgorilla.png create mode 100644 apps/marketing/src/components/alternative/roundup/BuyingGuide.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/FeaturesToLookFor.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupBenefits.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupFAQ.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupHero.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupList.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupPageView.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupProse.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupSectionHeader.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupTable.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/RoundupWhyUs.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/ToolCard.tsx create mode 100644 apps/marketing/src/components/alternative/roundup/ToolLogo.tsx create mode 100644 apps/marketing/src/lib/roundupConfig.ts create mode 100644 apps/marketing/src/lib/toolsDatabase.ts diff --git a/apps/marketing/public/company-logos/codeinterview.png b/apps/marketing/public/company-logos/codeinterview.png new file mode 100644 index 0000000000000000000000000000000000000000..18369955e27df2eae8c667fe45475d9638f1535b GIT binary patch literal 1403 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

oKeVIV~dul1)~i?pA}VmDD=HSO@umYlsAQ* zM4^IfEak;XAU$mTi7Odur^>m~lNC!Nz(f#6o-FZAu&k;#L~dgIy`cg0>vY6tt9oq~ jSP=o&8P|7vd`0*#`2BCciMYA~00000NkvXXu0mjfvq!Du literal 0 HcmV?d00001 diff --git a/apps/marketing/public/company-logos/coderpad.png b/apps/marketing/public/company-logos/coderpad.png new file mode 100644 index 0000000000000000000000000000000000000000..d0abac5f7dbfbd5b6a15e8b2da11457a30a440f3 GIT binary patch literal 6965 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 XT9?c literal 0 HcmV?d00001 diff --git a/apps/marketing/public/company-logos/codesignal.png b/apps/marketing/public/company-logos/codesignal.png new file mode 100644 index 0000000000000000000000000000000000000000..72a010f74ceb3a155df056172b018e6671001144 GIT binary patch literal 3332 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 DNvGaG literal 0 HcmV?d00001 diff --git a/apps/marketing/public/company-logos/codesubmit.png b/apps/marketing/public/company-logos/codesubmit.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc22caf388d747ddd892d9f0ab3e920eb08bdec GIT binary patch literal 6971 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 literal 0 HcmV?d00001 diff --git a/apps/marketing/public/company-logos/qualified.png b/apps/marketing/public/company-logos/qualified.png new file mode 100644 index 0000000000000000000000000000000000000000..ec4d87b79b6aa80018768287a2c91399e0e183b9 GIT binary patch literal 20181 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�< KMNUMnLSTYrew(-e literal 0 HcmV?d00001 diff --git a/apps/marketing/public/company-logos/testgorilla.png b/apps/marketing/public/company-logos/testgorilla.png new file mode 100644 index 0000000000000000000000000000000000000000..47fe5175ffbd4a07523f5b61a4aa53a6a7b8274b GIT binary patch literal 7210 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 ({ - slug: key, - })); + const slugs = new Set([...Object.keys(competitorData), ...Object.keys(roundupData)]); + return Array.from(slugs).map((slug) => ({ slug })); } interface AlternativeCompetitorPageProps { @@ -18,9 +19,13 @@ export async function generateMetadata({ params, }: AlternativeCompetitorPageProps): Promise { const { slug } = await params; + const roundup = roundupData[slug]; const competitor = competitorData[slug]; - if (!competitor) { + // Prefer the roundup SEO when this slug has been upgraded to a roundup page. + const seo = roundup?.seo ?? competitor?.seo; + + if (!seo) { return { title: 'Not Found', }; @@ -28,17 +33,22 @@ export async function generateMetadata({ const siteUrl = 'https://coderscreen.com'; const pageUrl = `${siteUrl}/${slug}`; + const ogAlt = roundup + ? roundup.seo.title + : competitor + ? `CoderScreen vs ${competitor.displayName}` + : 'CoderScreen'; return { - title: competitor.seo.title, - description: competitor.seo.description, - keywords: competitor.seo.keywords, + title: seo.title, + description: seo.description, + keywords: seo.keywords, alternates: { canonical: pageUrl, }, openGraph: { - title: competitor.seo.title, - description: competitor.seo.description, + title: seo.title, + description: seo.description, url: pageUrl, siteName: 'CoderScreen', type: 'website', @@ -47,14 +57,14 @@ export async function generateMetadata({ url: `${siteUrl}/og-image.png`, width: 1200, height: 630, - alt: `CoderScreen vs ${competitor.displayName}`, + alt: ogAlt, }, ], }, twitter: { card: 'summary_large_image', - title: competitor.seo.title, - description: competitor.seo.description, + title: seo.title, + description: seo.description, images: [`${siteUrl}/og-image.png`], }, robots: { @@ -76,14 +86,20 @@ export default async function AlternativeCompetitorPage({ }: AlternativeCompetitorPageProps) { const { slug } = await params; + const roundup = roundupData[slug]; const competitor = competitorData[slug]; - if (!competitor) { + + if (!roundup && !competitor) { notFound(); } + const breadcrumbLabel = roundup + ? `${roundup.competitorName} Alternatives` + : `${competitor?.displayName} Alternative`; + const breadcrumbSchema = buildBreadcrumbSchema([ { name: 'Home', href: '/' }, - { name: `${competitor.displayName} Alternative`, href: `/${slug}` }, + { name: breadcrumbLabel, href: `/${slug}` }, ]); return ( @@ -93,7 +109,11 @@ export default async function AlternativeCompetitorPage({ // biome-ignore lint/security/noDangerouslySetInnerHtml: needed for SEO schema dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbSchema) }} /> - + {roundup ? ( + + ) : ( + competitor && + )} ); } diff --git a/apps/marketing/src/components/alternative/roundup/BuyingGuide.tsx b/apps/marketing/src/components/alternative/roundup/BuyingGuide.tsx new file mode 100644 index 0000000..ba5e74b --- /dev/null +++ b/apps/marketing/src/components/alternative/roundup/BuyingGuide.tsx @@ -0,0 +1,28 @@ +import type { RoundupPage } from '@/lib/roundupConfig'; +import { RoundupSectionHeader } from './RoundupSectionHeader'; + +interface BuyingGuideProps { + roundup: RoundupPage; +} + +export const BuyingGuide = ({ roundup }: BuyingGuideProps) => { + return ( +

+ + +
+
+ {roundup.buyingGuide.map((segment) => ( +
+

{segment.segment}

+

{segment.advice}

+
+ ))} +
+
+
+ ); +}; diff --git a/apps/marketing/src/components/alternative/roundup/FeaturesToLookFor.tsx b/apps/marketing/src/components/alternative/roundup/FeaturesToLookFor.tsx new file mode 100644 index 0000000..1ba176e --- /dev/null +++ b/apps/marketing/src/components/alternative/roundup/FeaturesToLookFor.tsx @@ -0,0 +1,46 @@ +import type { RoundupPage } from '@/lib/roundupConfig'; +import { RoundupSectionHeader } from './RoundupSectionHeader'; + +interface FeaturesToLookForProps { + roundup: RoundupPage; +} + +const TH = + 'px-4 py-3 text-left text-xs font-semibold uppercase tracking-wider text-muted-foreground'; +const TD = 'px-4 py-4 text-sm align-top'; + +export const FeaturesToLookFor = ({ roundup }: FeaturesToLookForProps) => { + return ( +
+ + +
+
+ + + + + + + + + + {roundup.featuresToLookFor.map((row) => ( + + + + + + ))} + +
FeatureWhat it doesWhy it matters
+ {row.feature} + {row.whatItDoes}{row.whyItMatters}
+
+
+
+ ); +}; diff --git a/apps/marketing/src/components/alternative/roundup/RoundupBenefits.tsx b/apps/marketing/src/components/alternative/roundup/RoundupBenefits.tsx new file mode 100644 index 0000000..cb3aa53 --- /dev/null +++ b/apps/marketing/src/components/alternative/roundup/RoundupBenefits.tsx @@ -0,0 +1,27 @@ +import { RiCheckboxCircleLine } from '@remixicon/react'; +import type { RoundupPage } from '@/lib/roundupConfig'; +import { RoundupSectionHeader } from './RoundupSectionHeader'; + +interface RoundupBenefitsProps { + roundup: RoundupPage; +} + +export const RoundupBenefits = ({ roundup }: RoundupBenefitsProps) => { + return ( +
+ + +
+
+ {roundup.benefits.items.map((item) => ( +
+
+ ))} +
+
+
+ ); +}; diff --git a/apps/marketing/src/components/alternative/roundup/RoundupFAQ.tsx b/apps/marketing/src/components/alternative/roundup/RoundupFAQ.tsx new file mode 100644 index 0000000..11cf7e6 --- /dev/null +++ b/apps/marketing/src/components/alternative/roundup/RoundupFAQ.tsx @@ -0,0 +1,55 @@ +'use client'; + +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from '@coderscreen/ui/accordion'; +import type { RoundupPage } from '@/lib/roundupConfig'; + +interface RoundupFAQProps { + roundup: RoundupPage; +} + +export const RoundupFAQ = ({ roundup }: RoundupFAQProps) => { + const faqSchema = { + '@context': 'https://schema.org', + '@type': 'FAQPage', + mainEntity: roundup.faq.map((item) => ({ + '@type': 'Question', + name: item.question, + acceptedAnswer: { + '@type': 'Answer', + text: item.answer, + }, + })), + }; + + return ( +
+