basic dynamic sitemap implementation
This commit is contained in:
		
							parent
							
								
									453daa9319
								
							
						
					
					
						commit
						cd878c2b25
					
				
							
								
								
									
										29
									
								
								src/routes/sitemap.txt.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/routes/sitemap.txt.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | |||||||
|  | import Article from '../models/article.js'; | ||||||
|  | import Category from '../models/category.js'; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * generates a simple .txt sitemap with all articles and categories. | ||||||
|  |  */ | ||||||
|  | export async function get(req, res) | ||||||
|  | { | ||||||
|  |     // include static, publicly visible pages here
 | ||||||
|  |     let routes = [ | ||||||
|  |         'https://howfeed.biz/', | ||||||
|  |         'https://howfeed.biz/contact', | ||||||
|  |         'https://howfeed.biz/search', | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     const articles = await Article.find(); | ||||||
|  |     const categories = await Category.find(); | ||||||
|  |     for (let article of articles) { | ||||||
|  |         routes.push(`https://howfeed.biz/a/${article.slug}`); | ||||||
|  |     } | ||||||
|  |     for (let category of categories) { | ||||||
|  |         routes.push(`https://howfeed.biz/c/${category.slug}`); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     res.writeHead(200, { | ||||||
|  |         'Content-Type': 'text/plain' | ||||||
|  |     }); | ||||||
|  |     res.end(routes.join('\n')); | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user