@@ -7,10 +7,8 @@ import { source } from "@/lib/source";
77const priorityRules = [
88 { pattern : "/" , priority : 1.0 } ,
99 { pattern : "/docs" , priority : 1.0 } ,
10+ { pattern : "/compare/" , priority : 0.85 } ,
1011 { pattern : "/compare" , priority : 0.9 } ,
11- { pattern : "/compare/plausible" , priority : 0.85 } ,
12- { pattern : "/compare/google-analytics" , priority : 0.85 } ,
13- { pattern : "/compare/fathom" , priority : 0.85 } ,
1412
1513 { pattern : "/getting-started" , priority : 0.9 } ,
1614 { pattern : "/sdk" , priority : 0.9 } ,
@@ -97,6 +95,23 @@ export async function generateSitemapEntries(): Promise<MetadataRoute.Sitemap> {
9795 const entries : MetadataRoute . Sitemap = [ ] ;
9896
9997 try {
98+ // Comparison hub + every competitor page first (high-intent landing pages)
99+ const competitorSlugs = getAllCompetitorSlugs ( ) ;
100+ entries . push ( {
101+ url : `${ SITE_URL } /compare` ,
102+ lastModified,
103+ changeFrequency : "monthly" ,
104+ priority : getPriority ( "/compare" ) ,
105+ } ) ;
106+ entries . push (
107+ ...competitorSlugs . map ( ( slug ) => ( {
108+ url : `${ SITE_URL } /compare/${ slug } ` ,
109+ lastModified,
110+ changeFrequency : "monthly" as const ,
111+ priority : getPriority ( `/compare/${ slug } ` ) ,
112+ } ) )
113+ ) ;
114+
100115 // Get all documentation pages from source
101116 const pages = source . getPages ( ) ;
102117 entries . push (
@@ -108,7 +123,7 @@ export async function generateSitemapEntries(): Promise<MetadataRoute.Sitemap> {
108123 } ) )
109124 ) ;
110125
111- // Add static pages that actually exist
126+ // Add static pages that actually exist (/compare already emitted above)
112127 const staticPages = [
113128 "/privacy" ,
114129 "/llms.txt" ,
@@ -121,7 +136,6 @@ export async function generateSitemapEntries(): Promise<MetadataRoute.Sitemap> {
121136 "/sponsors" ,
122137 "/terms" ,
123138 "/ambassadors" ,
124- "/compare" ,
125139 "/data-policy" ,
126140 "/dpa" ,
127141 ] ;
@@ -162,15 +176,6 @@ export async function generateSitemapEntries(): Promise<MetadataRoute.Sitemap> {
162176 priority : 0.8 ,
163177 } ) ;
164178 }
165-
166- const competitorSlugs = getAllCompetitorSlugs ( ) ;
167- const comparisonEntries = competitorSlugs . map ( ( slug ) => ( {
168- url : `${ SITE_URL } /compare/${ slug } ` ,
169- lastModified,
170- changeFrequency : "monthly" as const ,
171- priority : getPriority ( `/compare/${ slug } ` ) ,
172- } ) ) ;
173- entries . push ( ...comparisonEntries ) ;
174179 } catch ( error ) {
175180 console . warn ( "Sitemap generation failed, using minimal fallback:" , error ) ;
176181 entries . push ( {
0 commit comments