我创建了一个具有层次结构并具有搜索引擎友好(SEF) URL的网站,如:
/seeds-1/
/seeds-1/fruits-2/
/seeds-1/fruits-2/black-berries-5/
/seeds-1/fruits-2/blue-berries-6/
/seeds-1/fruits-2/strawberries-7/
/seeds-1/vegetables-3/
/seeds-1/vegetables-3/potato-8/
/seeds-1/vegetables-3/onion-9/
/seeds-1/vegetables-3/cabbage-10/
/seeds-1/flowers-4/
/seeds-1/flowers-4/red-rose-11/
/seeds-1/flowers-4/tulips-12/诸若此类。您会注意到,末尾的数字是ID。现在我已经完成了网站和一切,一个“顾问”介入并告诉我的客户,“. 100%搜索引擎不友好,为了使他们100%的搜索引擎友好,数字必须删除.”。我显然不能和“顾问”交谈,因为他们已经做好了的工作,和消失了。
如果有人能指出这两种类型的URL的优缺点,我将不胜感激。我需要一些坚实的论据,以说服客户,而且我真的需要知道我是否犯了错误,选择这种URL方案为我的网站。
编辑
也许我是在偷懒。重写规则如下所示:
RewriteRule ^[^/]+-([0-9]+)/$ object.php?ObjectID=$1
RewriteRule ^[^/]+-([0-9]+)/[^/]+-([0-9]+)/$ object.php?ObjectID=$2
.
.
.从查询字符串中提取ObjectID并将其转换为整数并在SQL查询中使用是相当容易的。我认为在查询中使用文本比较(其中Name = '%s')比使用整数比较(其中ObjectID = %d)要慢,因此我犹豫不决。问题是,是否值得让URL更人性化,而代价是降低它们的编码/性能友好性。
发布于 2010-02-15 08:34:33
同意天使,并将扩大。
这里有两件事要考虑-
人类友好型是你的用户想要输入的蔬菜/洋葱/维达利亚而不是蔬菜/洋葱-10的一个point...if,然后它显然对最终用户更有意义。
此外,搜索引擎也可以获得一些更多的细节,因为well...so搜索维达莉亚洋葱可能会产生一个更好的排名为您的网站。
最后,顾问公司正在推广“可读性”这个流行词。是的,从长远来看,它可能总体上更好(而且应该像编写一个很好的小.htaccess文件一样简单来修复),但是您的设置并没有什么问题。
编辑
老实说,这实际上取决于你的客户想要什么。正如其他用户所指出的,在显示链接的方式上并没有太大的性能差异.
现在真正重要的是如果你的客户想要展示它。他们是否关心这类信息是否为人类所读?如果他们只是接受顾问的建议,那么你也可以执行你的重写规则。
发布于 2010-02-15 08:28:33
搜索“种子”、“花”、“蔬菜”等会在URL上匹配,所以URL很好,引擎会很好地处理它们。
你是否想让他们更,人类,友好是另一个问题。
发布于 2010-02-15 09:09:17
从技术角度来看,只有在关键字在其上下文中不是唯一的情况下,才需要数字in。
例如,如果在第一级可以有一个以上的种子,情况就是如此。然后,您需要数字ID (或另一个唯一值)来区分不同的种子。
/seeds-1/…
/seeds-2/…
⋮但是,如果所有关键字在其上下文中都是唯一的(路径是唯一的),那么您可以删除数字ID而不会丢失任何信息。
https://stackoverflow.com/questions/2264708
复制相似问题