diff --git a/web/src/routes/_marketing/library/keyword-research/cluster-topical-hubs.tsx b/web/src/routes/_marketing/library/keyword-research/cluster-topical-hubs.tsx index c120852..8d5a5f1 100644 --- a/web/src/routes/_marketing/library/keyword-research/cluster-topical-hubs.tsx +++ b/web/src/routes/_marketing/library/keyword-research/cluster-topical-hubs.tsx @@ -8,6 +8,34 @@ import { buildPageSeo } from "@/lib/seo"; const PATH = "/library/keyword-research/cluster-topical-hubs"; +const faqs = [ + { + question: "What's the best keyword clustering tool?", + answer: + "For SERP-overlap clustering at scale, paid tools exist, but for most sites, OpenSEO's research + an intent-grouping pass (the MCP prompt above) covers it. Judge tools by whether they cluster on SERP overlap; word-similarity clustering is a toy.", + }, + { + question: "Is there a free keyword clustering tool?", + answer: + "Not an unlimited one. The grouping step itself is free (the MCP prompt above does it), but it runs on researched keywords, and quality keyword data is the part that costs money everywhere. OpenSEO includes the clustering pass with research, so there's no separate clustering tool to buy; you can start for free, and paid plans start at $10/month.", + }, + { + question: "What is a keyword mapping template?", + answer: + "A sheet with one row per cluster: primary keyword, supporting keywords, intent, target URL, status. The keyword map above is the working example; copy the structure. Add a forecast column and it becomes a build order: size each cluster before you commit the quarter.", + }, +]; + +const faqLd = { + "@context": "https://schema.org", + "@type": "FAQPage", + mainEntity: faqs.map((faq) => ({ + "@type": "Question", + name: faq.question, + acceptedAnswer: { "@type": "Answer", text: faq.answer }, + })), +}; + export const Route = createFileRoute( "/_marketing/library/keyword-research/cluster-topical-hubs", )({ @@ -21,13 +49,20 @@ export const Route = createFileRoute( ogType: "article", }), component: () => ( - - - + <> + + + +