'text/plain; charset=UTF-8']); } public function sitemap(): Response { $urls = [ ['loc' => url('/'), 'lastmod' => now()->toDateString(), 'priority' => '1.0'], ['loc' => route('tools.index'), 'lastmod' => now()->toDateString(), 'priority' => '0.9'], ['loc' => route('models.index'), 'lastmod' => now()->toDateString(), 'priority' => '0.9'], ['loc' => route('news.index'), 'lastmod' => now()->toDateString(), 'priority' => '0.8'], ['loc' => route('guides.index'), 'lastmod' => now()->toDateString(), 'priority' => '0.8'], ]; foreach (Tool::query()->published()->latest('updated_at')->limit(500)->get(['slug', 'updated_at']) as $item) { $urls[] = ['loc' => route('tools.show', $item->slug), 'lastmod' => $item->updated_at?->toDateString(), 'priority' => '0.7']; } foreach (AiModel::query()->published()->latest('updated_at')->limit(500)->get(['slug', 'updated_at']) as $item) { $urls[] = ['loc' => route('models.show', $item->slug), 'lastmod' => $item->updated_at?->toDateString(), 'priority' => '0.7']; } foreach (Article::query()->published()->latest('updated_at')->limit(500)->get(['slug', 'updated_at']) as $item) { $urls[] = ['loc' => route('news.show', $item->slug), 'lastmod' => $item->updated_at?->toDateString(), 'priority' => '0.6']; } foreach (Guide::query()->published()->latest('updated_at')->limit(500)->get(['slug', 'updated_at']) as $item) { $urls[] = ['loc' => route('guides.show', $item->slug), 'lastmod' => $item->updated_at?->toDateString(), 'priority' => '0.6']; } $xml = view('public.sitemap', ['urls' => $urls])->render(); return response($xml, 200, ['Content-Type' => 'application/xml; charset=UTF-8']); } }