path = '/tournaments/'.$tournament->id; $url->lastmod = $tournament->updated_at ? $tournament->updated_at : ($tournament->created_at ? $tournament->created_at : now()); $url->changefreq = $tournament->locked ? 'never' : 'daily'; $url->priority = $tournament->locked ? 0.5 : 1.0; $urls[] = $url; } foreach (['lw', 'dw', 'sp', 'uw', 'uw2'] as $map) { $tech = TechniqueMap::where('map', '=', $map)->latest()->first(); $url = new SitemapUrl(); $url->path = '/map/'.$map; if ($tech) { $url->lastmod = $tech->created_at; } $url->changefreq = 'monthly'; $url->priority = 0.9; $urls[] = $url; } $url = new SitemapUrl(); $url->path = '/tech'; $url->lastmod = Technique::where('type', '=', 'tech')->where('index', true)->latest()->first()->created_at; $url->changefreq = 'monthly'; $url->priority = 0.8; $urls[] = $url; foreach (Technique::where('type', '=', 'tech')->where('index', true)->get() as $tech) { $url = new SitemapUrl(); $url->path = '/tech/'.rawurlencode($tech->name); $url->lastmod = $tech->updated_at ? $tech->updated_at : ($tech->created_at ? $tech->created_at : now()); $url->changefreq = 'never'; $url->priority = $tech->priority; $urls[] = $url; } $url = new SitemapUrl(); $url->path = '/schedule'; $url->lastmod = Episode::where('confirmed', true)->latest()->first()->created_at; $url->changefreq = 'daily'; $url->priority = 1; $urls[] = $url; $url = new SitemapUrl(); $url->path = '/events'; $url->lastmod = Event::where('visible', true)->latest()->first()->created_at; $url->changefreq = 'monthly'; $url->priority = 0.8; $urls[] = $url; foreach (Event::where('visible', true)->get() as $event) { $url = new SitemapUrl(); $url->path = '/events/'.rawurlencode($event->name); $url->lastmod = $event->updated_at ? $event->updated_at : ($event->created_at ? $event->created_at : now()); $url->changefreq = 'never'; $url->priority = 0.4; $urls[] = $url; } return response()->view('sitemap', [ 'urls' => $urls, ])->header('Content-Type', 'text/xml'); } }