我最近阅读了很多关于“友好网址”的讨论(包括本网站和其他地方),但我不确定究竟是什么让网址“友好”以及为什么我们真正关心(直到某一点)。插图:
以下是大多数当前Web开发人员称之为“友好”的URL示例:
www.myblog.com/posts/123/this-is-the-name-of-my-blog-post
然而,这将被视为“不友好”(即坏,尼安德特人,无知,愚蠢):
www.myblog.com/posts.aspx?id=123
我的问题:
<title>
标记和内容的用途吗?我之前说过“达到一定程度”,因为很明显,网址可能会失控。以下是来自Amazon.com的实际网址,我认为他们认为没有人会认为“友好”:
答案 0 :(得分:59)
您的示例是一个错误的网址 - 但不仅仅是因为它同时具有ID和“slug”(页面标题的缩写连字形式)。 从长远来看,将网页标题放入网址会有问题。内容 会随着时间的推移而发生变化。如果您更改了该博客帖子的标题,您将被迫在保留旧URL或更改URL以匹配新标题之间进行选择。更改URL将破坏之前指向该页面的链接;而不是更改它意味着你将拥有一个与页面不匹配的URL。这对用户都没有好处。最好只使用 www.myblog.com/posts/123 。
用户通常需要输入网址,但更重要的是,有时他们还会编辑现有网址以查找网站中的其他网页。因此,通常可以获得可发现的网址。例如,如果我想看到帖子#124,我可以轻松查看当前的URL,并确定我想要查看的页面的URL是www.myblog.com/posts/124。这是一个用户友好程度,可以帮助人们找到他们正在寻找的东西。包括其他信息(如帖子的主题)可能会使这变得不可能 - 因此它减少了我的探索选择。
忘记搜索引擎优化。搜索引擎技术已经在一段时间内降低了SEO黑客的效率。好的内容仍然是王者 - 从长远来看,你将无法对系统进行游戏。
答案 1 :(得分:18)
对我来说,友好网址意味着有人尝试在网址中加入语义信息,使其更适合人类消费。这是一个有趣的例子,计算机 - 计算机接口被增强和构建,以创建一个更好的人机界面。
所以,在你的两个例子中:
www.myblog.com/posts/123/this-is-the-name-of-my-blog-post
很友好,因为您已将标题包含在网址中 - 告诉您您的页面内容。www.myblog.com/posts.aspx?id=123
是不友好的,因为它含糊不清且模糊不清:它对数据库非常有意义,但对你或我来说都没有。友情网址在某些情况下非常棒,在其他情况下无用。基本上,如果用户将要接触到它,我会将友好的URL创建作为优先事项,这不仅仅是美学问题。如果您可以快速查看并了解各种选项的内容,那么它可以更轻松地从地址栏返回到 更多更多更加明显<+>>重新关注网页链接。
将所有这些与Firefox 3+中的棒棒相结合(当然也会在其他浏览器中使用),并且当您处理友好的URL时,地址栏中的自动完成将变得非常强大。
答案 2 :(得分:11)
关于querystring对抓取器的确切影响似乎有很多相互矛盾的信息,但大家一致认为,有多个参数会损害你的SEO,因为长的querystring变量表示动态内容,所以大多数搜索引擎都会为你的网页编制索引要少得多。
在您的网址中添加一个slug,例如您的示例中的 this-the-name-of-my-blog-post ,也会使您的链接彼此之间的差异更大id号码,并在网址中添加更多重要的字词。这些都是搜索引擎寻找的东西。
我个人觉得这样的网址在视觉上更容易解析,因为使用的标点字符较少,而且查询字符串中的名称 - 值对可能非常冗长且难以记住。
答案 3 :(得分:7)
关于如何在网址中添加不必要的信息,这是一个很好的观点。
http://stackoverflow.com/questions/522466/what-makes-a-friendly-url
一旦知道了唯一ID 522466 - 剩下的就没用了,所以它纯粹用于使URL看起来“漂亮”,并为用户提供关于页面链接的想法。但这会产生另一个问题。大多数网站都没有“验证”网址的这一部分,因此您可以将 -
http://stackoverflow.com/questions/522466/omg-goatse-bought-by-bill-gates
然而它仍将链接到这篇文章。您可以看到这可能导致更多问题,而不是它们的价值,因为它们可能被恶意使用。
我觉得Digg采取了正确的方法。他们不在URL中使用ID。在幕后,他们完全从给出的标题中获取数据库中的ID。
http://digg.com/linux_unix/I_Like_Linux_so_my_aunt_sends_me_this_for_Christmas
对我而言,这是完美网址。它为我提供了点击链接时我感到安全所需的所有信息。
事实上,游戏扮演着如此巨大的角色,在digg的世界里,人们“盲目挖掘”纯粹基于他们喜欢标题或者对它感兴趣的事实。如果您的网址看起来很有趣,那么您的网站可能会获得更多流量。与此同时,您将使其更加用户友好,更漂亮,搜索引擎将感谢您。据我所知,友好的网址对每个人来说都是胜利。
答案 4 :(得分:6)
我对你的三颗子弹的想法:
答案 5 :(得分:4)
我碰巧同意你的意见,但 shhh 不会告诉任何人。
这只是我的拙见,但对我而言似乎很愚蠢
http://stackoverflow.com/questions/522466/
和
http://stackoverflow.com/questions/522466/what-makes-a-friendly-url
是同一页面。我的意思是,我可以看到带连字符的问题标题为URL提供了一些上下文,但除非你知道该部分是可选的,否则URL会不必要地变长。
答案 6 :(得分:4)
首先,他们对搜索引擎抓取工具很友好。 Google和其他人高度重视网址中与网页上的字词匹配的字词,因此如果您的博客帖子的标题位于网址中,它将有助于您的搜索引擎。
其次,他们对那些不知道他们正在访问什么的人友好。您用于比较的哪个链接如果遇到您的推特/电子邮件/ IM /等,您更有可能点击?
答案 7 :(得分:4)
啊......诀窍是网址对谁友好。搜索引擎认为第一个网址更友好,因为它显然在网址中包含内容信息,并且看起来不像使用不同参数重复的同一网页。
例如,比较
www.aTvShowSite.com/show.aspx?id=123
www.aTvShowSite.com/show.aspx?id=124
一个机器人会说好的,我不知道这些是什么......但它们看起来和我一样。
比较
www.aTvShowSite.com/shows/AmericanIdol
www.aTvShowSite.com/shows/Lost
使它们看起来像不同的页面(即使它可能是提供它们的相同的aspx页面),并且机器人倾向于将它们排名更高。
编辑: 此外,应该注意的是,许多机器人会查看网址的文本以确定有用性,因此搜索“丢失”可能会比第一种类型更多地触及第二种类型的网址,即使网页内容相同也是如此。
答案 8 :(得分:4)
至于:
这不会违反“不要重复自己”的咒语吗?
这指的是应用程序 CODE !! ,而不是它自己的应用程序!!
完全有意义
几乎在其他任何地方,内容都需要它。
如果您的代码应如下所示,那么“咒语”是指什么:
<title><%=obj.getTitle()%></title>
Reading:<h1><%=obj.getTitle()%></h1>
Link to this:<a href="getHrefFor( object.getTitle() )">obj.getTitle()</a>
Etc. etc.
而不是在应用程序周围使用不同的复制/粘贴代码方法。
答案 9 :(得分:3)
您展示的“不友好”网址会公开实施细节:如果您将来某个时候决定放弃ASP并使用其他内容,该怎么办?您必须更改所有URL(baad!)或使用重命名方案。
在URL中重复标题可能不是必要的,但是当您进行大量链接粘贴时,它会变得很方便,以便仔细检查您是否链接到正确的位置。
答案 10 :(得分:2)
我们的网站使用所谓的“不友好”网址,但我们会为特定地点的特定位置创建特殊的“友好”网址,以供特定功能使用,特别是在印刷材料上。
例如,我们的停车票上有http://www.dnv.org/parking。
CP
答案 11 :(得分:1)
嗯,首先,尝试将字符与(a-z,A-Z,0-9)区分开来,当然还有:/._-在网址之外。 不是每个人都有他们键盘上的所有这些(例如,我没有&在我的键盘上,我也没有〜)
例如,当做一些url解析或类似的东西时,如果url语法是“干净的”也会有帮助
答案 12 :(得分:1)
Matt和@bigmattyh:SEO不是“黑客”:它理解“好内容”在网络上的含义。页面标题是内容的一部分。链接中的好锚文本是“好内容”(而不是像“点击此处”这样的单词作为链接文本)。将链接放在上下文而不是列表中是“好内容”。
页面标题是低调的结果,但它们仍然是提高SERP的最简单方法之一。是的,入站链接(及其质量)至关重要,但标题可以创造奇迹,特别是在短期内。您不必使用页面标题(可能会不时更改)作为帖子标题:手动汇总内容。
不要猜测这些东西:(a)阅读像SEOmoz.org这样的来源和(b)严格分析你自己的网站。
答案 13 :(得分:1)
另一点:人们有时会手动编辑URL,以便上传目录树。因此,他们可能会尝试加载http://site.com/a/b之类的网页,收到“未找到”错误,然后尝试http://site.com/a或http://site.com。当然,如果您的URL不是基于实际的目录树,则可能无效。但你仍然可以尝试支持它。
有些浏览器甚至鼓励这样做,比如带有错误消息的IE浏览器,以及右键单击页面标题时出现的菜单的Safari。
答案 14 :(得分:1)
在这种情况下,它并没有真正打破DRY主体,因为就搜索引擎而言,'522466'与'what-makes-a-friendly-url'不同。
通常对于像StackOverflow这样的网站,令牌是唯一重要的信息;通常你可以在那之后放置任何你想要的东西,它会把你带到同一个地方(被网络服务器忽略)。
页面描述仅用于帮助搜索引擎识别页面的内容(这很好)
答案 15 :(得分:1)
第二个URL看起来更加用户友好,而第一个看起来更适合搜索引擎。
搜索引擎与网址中出现的字词具有更高的相关性。域名获得最高(因为它不能更改),URL的其余部分获得高优先级,因为长度有限,然后分析文档正文。
我的回答非常主观,因为这取决于你是否对人类友好(易于手动打字或阅读给朋友)或者你是否对搜索引擎友好(提高你的排名。)
答案 16 :(得分:0)
术语可读网址也经常使用。使用友好/可读的网址是一种SEO出生的技术,就是它。否则路径越短越好。执行重写规则通常会减慢使页面快速进入客户端的过程,所以也要考虑到这一点。
答案 17 :(得分:0)
在我看来,ID和UUID永远不应该是URL的一部分,永远不会。
1)有些NoSQL数据库根本不使用ID,它们使用UUID。 UUID很长,部分用短划线分隔。 Google会将短划线视为单词分隔符:这意味着您的网址会有5个无用的关键字。
2)人类不理解ID或UUID。一个人理解单词和谈话URL。
3)如果标题发生变化,您可以像WordPress一样进行重定向,就像@TRiG指出的那样。
4)最后,请记住使用日期,这样您就可以辨别出具有相同标题并在不同年份,月份或日期发布的两篇文章。例如,您可以对同一本书进行两次评论(第一版和第二版)。
http://example.com/2013/02/11/data-mining-concepts-and-techniques
和
http://example.com/2011/05/23/data-mining-concepts-and-techniques
5)日期也可以帮助任何用户判断内容是否是最近的。
6)日期会为您的网址添加一个重要的关键字:年份。假设我想看看世界上最美丽的女孩,我会输入Google:“2014年世界上最漂亮的女孩”。我的网址是:
http://example.com/2014/07/10/the-most-beatiful-girls-in-the-world
7)最后但并非最不重要的是,Chrome会缓存您访问过的网站,因此您只需在地址栏中输入“女孩”即可找到上述网站。
答案 18 :(得分:0)
主题链接的内部页面在逻辑上相互配合。这是筒仓URL结构的最佳方法。
最好的示例是不使用客户网站,而是查看BBC网站,这是最佳做法:
www.bbc.com/
www.bbc.com/news
www.bbc.com/news/world
www.bbc.com/news/world/澳大利亚
内页已正确组织。这是告诉搜索引擎如何在网站上移动的最佳做法。
答案 19 :(得分:-3)
术语可读URL也经常使用。使用友好/可读的网址是一种SEO出生的技术,就是它。否则路径越短越好。