【问题标题】:how to get search engines to understand a DB driven asp.net site如何让搜索引擎了解数据库驱动的 asp.net 站点
【发布时间】:2009-11-26 02:59:59
【问题描述】:

全部,

这似乎是一个相当基本的 asp.net 问题 - 但在我多年的编码中,我从未真正考虑过它。

假设您有一个只有一个母版页和一个 default.aspx 的 asp.net 2.0 站点,以及一个将所有数据保存到数据库中的博客。侧面的链接是自动生成的。所以... URL 总是http://www.XXXXX.com/default.aspx

那么,在这种情况下,您需要怎么做才能……比如说 google……知道所有不同的博客条目并直接链接到这些条目,而不仅仅是基本 URL?

就是把forms的方法改成:method="get"这么简单吗?

谢谢,L. Lee Saunders

【问题讨论】:

    标签: asp.net search-engine


    【解决方案1】:

    至少有两种解决方案:

    1. 搜索引擎理解查询字符串,因此只需将文章 ID 添加到锚标记中的 URL 即可——甚至无需使用表单控件。
    2. 使用 URL 重写在你的锚标签中向外界公开一组 URL(如 /article-title/1234/),然后在到达你的站点时将 URL 修改为 default.aspx;然后页面可以从任意数量的地方拉出要显示的文章,包括但不限于查询字符串。

    【讨论】:

      【解决方案2】:

      你可以有一个 REST 网络服务,这样你就可以使用 url 来导航网站,也许还有一个带有一些新帖子的首页,以便蜘蛛可以导航网站。..

      例如,查看 SO 的 url,蜘蛛很容易浏览这个数据库驱动的网站。

      【讨论】:

        【解决方案3】:

        创建一个仅提供 XML 站点地图的页面(数据显然是从您的数据库中提取的)并将站点地图提交给 Google。

        然后,Google 会将您站点地图中的所有链接编入索引。

        (假设这些是每篇文章之间的一些差异 - 例如查询字符串键/值)。

        有用的链接:

        【讨论】:

          【解决方案4】:

          某种URL rewriting 可能是一个答案

          我不建议针对您的情况进行回发,因为刷新等可能会变得很难看。所以,是的,将方法更改为“获取”

          然后,假设您的页面 default.aspx?postid=12345 将被翻译成 /mm/dd/yy/this-is-my-post.aspx

          【讨论】:

            猜你喜欢
            • 2010-12-17
            • 1970-01-01
            • 1970-01-01
            • 2011-04-22
            • 1970-01-01
            • 2017-07-23
            • 1970-01-01
            • 2012-12-14
            • 1970-01-01
            相关资源
            最近更新 更多