【问题标题】:Best way to model page attribute data onto different database tables将页面属性数据建模到不同数据库表的最佳方法
【发布时间】:2009-12-02 14:43:15
【问题描述】:

我正在开发一个带有 SqlServer 2005 数据库的网站(使用 asp.net-mvc)。 我有许多数据库表来驱动网站的内容页面,例如我有一个名为 Activity 的表:

Activity
-----------
ID
Name

因此,对于每个活动记录,都会有一个相应的“活动”页面。这同样适用于其他表,例如地点和人物等

出于 SEO 的目的,我希望允许存储页面的附加信息,例如 html 元标题/描述/关键字信息,甚至可能是页面内容。

我正在考虑执行此操作的两个主要选项:

1) 修改 Activity、Location 和 Person 表以包含相关字段以保存此附加信息

2) 创建一个 PageInfo 表以将所有这些信息保存在同一个位置,然后只需在上述表中添加一个 PageInfoID 字段

这些方法的优缺点是什么?还有更好的方法吗?

(对于选项 2,我能想到的一个缺点是您无法真正强制执行 1:1 关系,因此理论上您可以让 Activity 记录使用 PageInfo 记录个人记录。

【问题讨论】:

    标签: asp.net sql-server asp.net-mvc


    【解决方案1】:

    如果我可以建议......你可能会以错误的方式处理这个 SEO 事情。

    我认为您应该专注于简单地将“活动”数据以干净、语义、有效的 XHTML 和 CSS。这样一来,搜索引擎就会担心找出每个页面的哪个部分最重要,并相应地对其进行索引/排名。

    此外,尝试将这些“页面元”对象添加到系统的域模型中会给您的设计带来各种概念(实际上是实际)问题,并且肯定会让那些难以理解什么的用户感到困惑说活动标题与页面标题之间的区别的重要性是。让机器人从您的内容中找出我们的关键字,不要尝试自己动手 - 这种类型的过度优化实际上最终会导致页面排名比更好的页面排名更差。

    【讨论】:

    • 谢谢,这是一个有趣的答案,您对必须维护这些附加信息的开销有了很好的了解。不过有一件事,我计划这些信息可能会由我自己维护,而不是向普通用户公开。
    • 我仍然坚持原来的论点 - 你希望 google/yahoo 决定什么对索引很重要。它不仅可以节省您的时间,而且可以为您带来更好的结果。我保证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多