@@ -10,76 +10,60 @@ export const dynamic = 'force-static';
1010
1111const BASE = 'https://proxytechsupport.com' ;
1212
13- /** Map legacy string priorities to MetadataRoute numeric 0–1 */
14- function prio ( p : string ) : number {
15- const n = Number . parseFloat ( p ) ;
16- return Number . isFinite ( n ) ? Math . min ( 1 , Math . max ( 0 , n ) ) : 0.7 ;
17- }
18-
1913export default async function sitemap ( ) : Promise < MetadataRoute . Sitemap > {
2014 const today = new Date ( ) . toISOString ( ) . split ( 'T' ) [ 0 ] ;
2115
2216 const [ posts , interviews ] = await Promise . all ( [ getAllPosts ( ) , getAllInterviews ( ) ] ) ;
2317
2418 const getInterviewScheduledRoutes : MetadataRoute . Sitemap = [
25- { url : `${ BASE } /get-interview-scheduled/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.9' ) } ,
26- { url : `${ BASE } /get-interview-scheduled-usa/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.9' ) } ,
27- { url : `${ BASE } /get-interview-scheduled-uk/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.9' ) } ,
28- { url : `${ BASE } /get-interview-scheduled-canada/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.9' ) } ,
29- { url : `${ BASE } /get-interview-scheduled-australia/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.9' ) } ,
30- { url : `${ BASE } /get-interview-scheduled-ireland/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
31- { url : `${ BASE } /get-interview-scheduled-germany/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
32- { url : `${ BASE } /get-interview-scheduled-netherlands/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
33- { url : `${ BASE } /get-interview-scheduled-sweden/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
34- { url : `${ BASE } /get-interview-scheduled-denmark/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
35- { url : `${ BASE } /get-interview-scheduled-finland/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
36- { url : `${ BASE } /get-interview-scheduled-norway/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
37- { url : `${ BASE } /get-interview-scheduled-switzerland/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
38- { url : `${ BASE } /get-interview-scheduled-austria/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
39- { url : `${ BASE } /get-interview-scheduled-belgium/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
40- { url : `${ BASE } /get-interview-scheduled-spain/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
41- { url : `${ BASE } /get-interview-scheduled-portugal/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
42- { url : `${ BASE } /get-interview-scheduled-new-zealand/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
43- { url : `${ BASE } /get-interview-scheduled-singapore/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
44- { url : `${ BASE } /get-interview-scheduled-hong-kong/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
19+ { url : `${ BASE } /get-interview-scheduled/` , lastModified : today } ,
20+ { url : `${ BASE } /get-interview-scheduled-usa/` , lastModified : today } ,
21+ { url : `${ BASE } /get-interview-scheduled-uk/` , lastModified : today } ,
22+ { url : `${ BASE } /get-interview-scheduled-canada/` , lastModified : today } ,
23+ { url : `${ BASE } /get-interview-scheduled-australia/` , lastModified : today } ,
24+ { url : `${ BASE } /get-interview-scheduled-ireland/` , lastModified : today } ,
25+ { url : `${ BASE } /get-interview-scheduled-germany/` , lastModified : today } ,
26+ { url : `${ BASE } /get-interview-scheduled-netherlands/` , lastModified : today } ,
27+ { url : `${ BASE } /get-interview-scheduled-sweden/` , lastModified : today } ,
28+ { url : `${ BASE } /get-interview-scheduled-denmark/` , lastModified : today } ,
29+ { url : `${ BASE } /get-interview-scheduled-finland/` , lastModified : today } ,
30+ { url : `${ BASE } /get-interview-scheduled-norway/` , lastModified : today } ,
31+ { url : `${ BASE } /get-interview-scheduled-switzerland/` , lastModified : today } ,
32+ { url : `${ BASE } /get-interview-scheduled-austria/` , lastModified : today } ,
33+ { url : `${ BASE } /get-interview-scheduled-belgium/` , lastModified : today } ,
34+ { url : `${ BASE } /get-interview-scheduled-spain/` , lastModified : today } ,
35+ { url : `${ BASE } /get-interview-scheduled-portugal/` , lastModified : today } ,
36+ { url : `${ BASE } /get-interview-scheduled-new-zealand/` , lastModified : today } ,
37+ { url : `${ BASE } /get-interview-scheduled-singapore/` , lastModified : today } ,
38+ { url : `${ BASE } /get-interview-scheduled-hong-kong/` , lastModified : today } ,
4539 ] ;
4640
4741 const staticRoutes : MetadataRoute . Sitemap = [
48- { url : `${ BASE } /` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '1.0' ) } ,
49- { url : `${ BASE } /blog/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
50- { url : `${ BASE } /interviews/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
51- { url : `${ BASE } /interview-questions/` , lastModified : today , changeFrequency : 'weekly' , priority : prio ( '0.8' ) } ,
52- { url : `${ BASE } /technologies/` , lastModified : today , changeFrequency : 'monthly' , priority : prio ( '0.3' ) } ,
42+ { url : `${ BASE } /` , lastModified : today } ,
43+ { url : `${ BASE } /blog/` , lastModified : today } ,
44+ { url : `${ BASE } /interviews/` , lastModified : today } ,
45+ { url : `${ BASE } /interview-questions/` , lastModified : today } ,
46+ { url : `${ BASE } /technologies/` , lastModified : today } ,
5347 ...getInterviewScheduledRoutes ,
5448 ...allLandingPages . map ( ( p ) => ( {
5549 url : p . canonical ,
5650 lastModified : today ,
57- changeFrequency : 'weekly' as const ,
58- priority : prio ( '0.9' ) ,
5951 } ) ) ,
6052 ] ;
6153
6254 const postRoutes : MetadataRoute . Sitemap = posts . map ( ( post ) => {
63- const url = getCanonicalUrlForPost ( post ) ;
6455 const last =
65- post . date && post . date . length >= 10 ? post . date : today ;
56+ post . lastmod ?. trim ( ) ? new Date ( post . lastmod ) : post . date ? new Date ( ` ${ post . date } T12:00:00Z` ) : new Date ( today ) ;
6657 return {
67- url,
68- lastModified : last ,
69- changeFrequency : 'weekly' as const ,
70- priority : prio ( '0.7' ) ,
58+ url : getCanonicalUrlForPost ( post ) ,
59+ lastModified : Number . isNaN ( last . getTime ( ) ) ? today : last . toISOString ( ) . split ( 'T' ) [ 0 ] ,
7160 } ;
7261 } ) ;
7362
74- const interviewRoutes : MetadataRoute . Sitemap = interviews . map ( ( i ) => {
75- const last = i . date && i . date . length >= 10 ? i . date : today ;
76- return {
77- url : getCanonicalInterviewUrl ( i . slug ) ,
78- lastModified : last ,
79- changeFrequency : 'weekly' as const ,
80- priority : prio ( '0.7' ) ,
81- } ;
82- } ) ;
63+ const interviewRoutes : MetadataRoute . Sitemap = interviews . map ( ( i ) => ( {
64+ url : getCanonicalInterviewUrl ( i . slug ) ,
65+ lastModified : today ,
66+ } ) ) ;
8367
8468 return [ ...staticRoutes , ...postRoutes , ...interviewRoutes ] ;
8569}
0 commit comments