【发布时间】:2017-01-27 09:04:07
【问题描述】:
我需要为可能包含大量用户贡献内容的网站生成站点地图。我读过这个教程:https://laravel-news.com/2016/09/laravel-sitemap/ 它给出了这样的例子:
public function podcasts()
{
$podcast = Podcast::active()->orderBy('updated_at', 'desc')->get();
return response()->view('sitemap.podcasts', [
'podcasts' => $podcast,
])->header('Content-Type', 'text/xml');
}
我不喜欢它一次从数据库中获取所有播客,如果您有 100 万条记录,这将减慢每一次的速度,并且每次网络蜘蛛请求站点地图时都会调用此函数。
如果您的站点变得非常大,站点地图是否应该包含所有数据库记录,例如博客文章(如果有 500,000 多条)或仅最后 50000 条,这是一个站点地图文件的最大限制。如果谷歌已经抓取了它们,因为我定期更新了我的站点地图,为什么我应该包含所有数百万个博客帖子并将它们分成多个站点地图,因此不需要每次访问站点地图来获取所有数据库记录,旧帖子不会得到又爬了,那我还不如就最新的50000吧?
【问题讨论】:
-
站点地图仍然存在吗?