首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成动态用户页面的普通索引?

问生成动态用户页面的普通索引?
EN

Stack Overflow用户
提问于 2011-10-17 19:18:14
回答 1查看 59关注 0票数 0

我的网站是一个商业目录。网站上的不同企业都有子页面,可以通过http://mysite.com/businessname这样的网址访问。在幕后,我使用url重写将这些子页面指向像http://mysite.com/businesspage.aspx?id=[businessIDGuid]这样的页面。

我想让业务页面出现在搜索引擎中,为此,我需要创建到它们的链接。用户可以在我的网站上使用搜索工具查找企业,但搜索引擎不能使用该工具。

我想我应该创建一个平面索引页,其中包含我的数据库中每个企业的名称,以及到它们的子页面的链接。然而,我的数据库中有很多业务(目前大约有160,000个),所以我不能把所有的业务都放在一个页面上。此外,生成这些页面的显而易见的方法-在page_load方法中调用一个sql查询来拉回所有企业的列表-将会给服务器带来相当大的负载。生成一个页面并将其缓存一天左右是有意义的,但我不知道如何在停留在asp.net上下文中的情况下做到这一点。

在asp.net中生成用户页面索引的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-17 20:30:32

总之,您需要生成一个sitemap并将其提交给相应的搜索引擎。

对于大型网站来说,生成和更新单个文件的网站地图将是一项繁琐的任务幸运的是,你可以将你的网站地图分解成多个文件,而像google这样的搜索引擎可以通过sitemap index链接到这些网站地图文件。

从本质上讲,你需要找到一种方便的方法来将你的业务分组-你可以使用字母顺序,业务类别,自定义标签(或组合)来将它们分成较小的组(比如几百到几千个组成一个group).

  • Maintain,每个组一个网站地图或页面)。

  • 您不能使用ASP.NET代码来维护这些页面,而是要编写一个小型的.NET控制台(或windows窗体)程序来生成/更新站点地图。使用Windows Scheduler (Tasks)调度程序运行periodically.

  • For例如,你可以每15分钟运行一次程序。该程序将首先检查是否有要生成的站点地图(将在第一次发生)。如果是,那么它将拾取3-4个网站地图并生成它们。将它们的条目添加到日志表中。

  • 如果生成了所有页面,则可以开始更新它们。因此,再次检查最后更新的页面,选择3-4个首先更新的页面,然后重新构建它们。

  • 您必须调整您的计划周期和要生成/更新的页面数量,以在某个目标时间范围内覆盖整个网站地图。例如,如果你每天从晚上8点到早上6点每10分钟运行一次程序,每次更新10个站点地图,那么在一天内,你将覆盖600个站点地图。如果你总共有5000个网站地图,那么你的整个网站地图大约每8天就会刷新一次。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7792982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档