cacheService->remember( 'sitemap:main', 3600, // 1 hour cache fn() => $this->sitemapService->generateSitemap() ); return response($xml, 200) ->header('Content-Type', 'application/xml'); } /** * Generate and serve sitemap index */ public function sitemapIndex(): Response { $xml = $this->cacheService->remember( 'sitemap:index', 3600, fn() => $this->sitemapService->generateSitemapIndex() ); return response($xml, 200) ->header('Content-Type', 'application/xml'); } /** * Generate and serve main sitemap (static pages) */ public function mainSitemap(): Response { $xml = $this->cacheService->remember( 'sitemap:main-pages', 3600, fn() => $this->sitemapService->generateMainSitemap() ); return response($xml, 200) ->header('Content-Type', 'application/xml'); } /** * Generate and serve jobs sitemap */ public function jobsSitemap(): Response { $xml = $this->cacheService->remember( 'sitemap:jobs', 1800, fn() => $this->sitemapService->generateJobsSitemap() ); return response($xml, 200) ->header('Content-Type', 'application/xml'); } /** * Generate and serve blog sitemap */ public function blogSitemap(): Response { $xml = $this->cacheService->remember( 'sitemap:blog', 3600, fn() => $this->sitemapService->generateBlogSitemap() ); return response($xml, 200) ->header('Content-Type', 'application/xml'); } }