|
|
1
40
在stackoverflow(和所有堆栈交换站点)上,创建一个sitemap.xml文件,其中包含 每个问题的链接 发布在系统上。发布新问题时,只需在站点地图文件的末尾附加另一个条目。添加到文件末尾并不是很耗费资源,但文件非常大。 这是像谷歌这样的搜索引擎能够有效地对网站进行爬行的唯一途径。 杰夫·阿特伍德在一篇博文中谈到 : The Importance of Sitemaps 这是来自 Google's webmaster help page on sitemaps :
|
|
|
2
12
每次发布问题时都不需要重新生成Google站点地图XML。直接从数据库(和一点缓存)按需生成XML文件要简单得多。 为了减少负载,可以将站点地图拆分为多个站点地图。按天/月对其进行分区可以让您告诉Google经常检索今天的站点地图,但偶尔只能从六个月前获取一次站点地图。 |
|
|
3
4
我想在这里分享我的解决方案,以防它也能帮助别人。 我花了很多时间阅读这个问题,然后其他人决定怎么做。 我的网站结构。 静态页面
……等 动态页面
我的方法。
站点地图XML
:此URL生成
例如,1900首歌=1.9=2。
我产生。添加网址
输出未经缓存返回。我希望这个永远新鲜。 站点地图-main.xml :列出所有静态页。您实际上可以为此使用静态文件,因为您只需要偶尔更新一次。 Sitemap-Songs-0.xml、Sitemap-Albums-0.xml等 :在slimphp 2中,我使用一个单独的路由来实现这个目的。
我使用一个简单的switch语句来生成相关的文件。如果对于这个页面,我得到1000个项目,上面指定的限制,我将文件缓存2周。 否则,我只能缓存几个小时。 我想这可以帮助其他人实现他们自己的系统。 |
|
|
4
2
即使在StackOverflow之类的网站上,也有一定数量的静态组织;有常见问题解答、标签页、问题页、用户页、徽章页等;我想说,在一个非常动态的网站上,访问网站图的最佳方法是获得分类的地图;网站图中的每个节点都可以指向动态生成的页面数据(问题页的节点、用户页的节点等)。 当然,一个站点地图甚至可能不适用于一个给定的站点;那里需要一定数量的判断调用。 |
|
|
5
0
对于一个高度动态的站点,我在服务器上编写了一个cron作业,它每天运行。它每天对我的后端进行一个REST调用,并根据所有新生成的内容生成一个新的站点地图,并以XML文件的形式返回站点地图。此新网站地图将覆盖上一个网站,并根据所有更改保持网站更新。我认为,为每个新添加的动态内容更改站点地图不是一个好方法 |
|
|
6
-1
我只会为站点中更静态的页面创建一个站点地图。例如,在StackOverflow上,站点地图可以显示常见问题、关于、问题、标签、用户等的链接…页面,但不显示指向实际问题或所有标签以及各种用户的链接。 |