如果一个高度动态的网站,不断产生新的网页使用站点地图 ? 如果是这样,如何像stackoverflow.com网站着手再生一个网站地图? 看起来这将是对宝贵的服务器资源流失,如果它是不断再生一个网站地图,每次有人添加了一个问题。 它产生在设定的时间间隔(如每隔四小时)的新地图? 我很好奇,如何大,动态网站使这项工作。
Answer 1:
在计算器上(以及所有协议栈Exchange站点),一个sitemap.xml的文件被创建,其包含一个指向发布系统上的每一个问题 。 当一个新的问题是贴了,他们只需添加另一个入口站点地图文件的末尾。 这并不是说资源密集型添加到文件的末尾,但该文件是相当大的。
这是像谷歌的唯一途径搜索引擎可以有效地抓取网站。
杰夫阿特伍德它在博客中谈到 : 网站的重要性
这是在网站地图谷歌的网站管理员帮助页面 :
Sitemaps是如果特别有帮助:
- 您的网站有动态内容。
- 网站包含在Googlebot抓取过程中不易发现的网页 - 例如,网页具有丰富的AJAX或Flash。
- 您的网站是新的,有几个链接到它。 (Googlebot可以从以下一个网页到另一个链接抓取网页,因此,如果您的网站没有很好地链接,它可能是我们很难发现它。)
- 网站有没有得到很好的相互链接,或根本没有链接的内容页面的大型档案库。
Answer 2:
有没有必要每一个问题是发布的时间来重新生成谷歌地图XML。 这是简单得多正好有点播直接从数据库(和一点点缓存)生成的XML文件。
为了降低负载时,网站地图可以分成许多的站点地图。 由日/月分区它将允许你告诉谷歌频繁检索今天的地图,但只有在获取的同时从半年前网站地图一次。
Answer 3:
我想在这里分享我的解决方案,以防万一它可以帮助别人也是如此。 我花了阅读这个问题和许多其他人决定做什么。
我的网站结构。
静态页面
- 首页(高动态。缓存30分钟)
- 艺术家,专辑,歌曲,播放列表和专辑(分页列表)
- 法律(含条款等静态页面)
...等等
动态网页
- 艺术家,专辑,歌曲,播放列表和专辑的详细信息页面
我的做法。
sitemap.xml的 :该URL生成<sitemapindex />
与所述第一项是/sitemap-main.xml
。 的数量Artists
, Albums
, Songs
等进行计数并除以1,000(数网址我想在每个站点地图的。限为50,000)。 我这一轮人数达。
因此,对于例如,1900首歌曲= 1.9 = 2。我产生。 添加网址/sitemap-songs-0.xml
和/sitemap-songs-1.xml
到索引中。 我重复这对于所有其他项目。 基本上,我分页。
输出返回未缓存。 我想这永远是新鲜的。
网站地图-main.xml中 :列出所有静态页面。 实际上,你可以使用一个静态文件这是你只需要在一段时间一次更新。
网站地图-歌曲- 0.xml,网站地图,相册,0.xml等 :我使用SlimPhp 2这个单一的路线。
$app->get('/sitemap-:type-:page.xml', function ($type, $page) use ($app) {...
我用一个简单的switch语句生成相关的文件。 如果这个页面,我得到了1000项,上述规定的限制,我缓存为2周的文件。 否则,我只缓存了数个小时。
我想这可以帮助其他人实现自己的系统。
Answer 4:
即使在像StackOverflow的,有静态的组织一定量的; 有常见问题解答,标签页,问题的页面,用户页面,页面徽章等; 我在一个非常有活力的网站,接近一个网站地图,将有地图的分类已的最好办法说; 在网站地图中的每个节点可以指向动态生成数据的一个页面(一个问题页的节点,用于用户页面中的节点等)。
当然,一个网站地图,甚至可能不适合给定站点; 有需要有一定的主观判断的。
Answer 5:
对于一个高度动态的网站,我写我的服务器一个cron作业,它运行每天的基础。 它使每一天休息调用我的后端,并生成根据所有新产生的内容的新的地图,并返回一个XML文件的形式的地图。 这个新的网站地图将覆盖前一个并保留根据所有的变化我的网站更新。 每个新加入的动态内容更改站点地图是不是一个好办法,我认为
Answer 6:
我只会为该站点创建的多个静态网页的站点地图。 例如在计算器上一个网站地图,可以showlinks的常见问题,关于,问题,标签,用户等..网页,但没有显示链接到实际的问题,或所有的标签和各种用户。