我的一个 friend 告诉我,他工作的公司正在为他们的大型网站重做搜索引擎优化。大 == 他们每天获得的页面数量和流量。
Currently they have a (quote) deeply nested site ,我假设这意味着 /x/y/z/a/b/c.. 或其他东西.我也知道从我也看过的一些页面中它是非常不 RESTful 的 -> 例如。 foo.blah?a=1&b=2&c=3......z=24(是的,网址中有很多废话)。
因此,更新他们的 SEO 听起来像是一件非常需要的事情。
但是,他们正在走平。我的意思是 -> 完全平坦。例如。 /foo-bar-pew-pew-abc-article1
这把我吓坏了。
根据他所说(如果我没理解错的话),每个 - 字符并不意味着一个新的继承等级。
所以 /foo-bar-pew-pew-abc-article1 并不意味着 /foo/bar/pew/pew/abc/article1
空格 可以用- 代替。 + 表示一个空格,但前提是这两个词被认为是一个词(无论是什么意思)。 IE。 Jean-Luke 将是 jean+luke 但如果我有一个像“hello world 这样的主题,那将被列为 hello-world”。
打扰一下我的脑袋。
这只是意味着还是完全平坦是完全愚蠢的。也就是说,我的印象是,当 SEO 人员说尽可能保持平坦时,他们试图说将其保持在 1 或 2 个级别。 4 是最大的 max=。
这是我还是一个扁平的 heirachy 对于 seo ... 对于中型和大型网站(大量资源,不一定是大量点击/页面浏览量)来说是“非常好的东西”。
最佳答案
好吧,让我们退后一步,看看 SEO 应该完成什么;它旨在帮助搜索引擎根据关键短语和术语为用户识别高质量、相关的内容。
例如,以下博客 URL: * http://blog.example.com/articles/2010/01/20/how-to-improve-seo/ * http://blog.example.com/how-to-improve-seo/
是的,一深一平;但 URL 结构很重要,原因有二:
让我们面对现实吧:Google 和其他搜索引擎甚至可以将最差 URL 与相关内容相关联。
例如,在 Google 中搜索“sears kenmore white refrigerator”:http://www.google.com/search?q=sears+kenmore+white+refrigerator&ie=utf-8&oe=utf -8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a.
注意到 HitTest 门的了吗? URL 是 http://www.sears.com/shc/s/p_10153_12605_04665802000P ,但 Google 将这个糟糕的 URL 替换为 www.sears.com › Refrigerators › Top Freezers。 (当然,向下 2 个结果才是真实的 URL。)
如果您的 SEO 目标是优化有机相关性,那么我会全心全意地建议在 URL 中生成任一键/值对,例如 www.sears.com/category/refrigerators/company/kenmore ( meh),或类似于 www.sears.com/kenmore/refrigerators/modelNumber 的类似短语的 URL。 您想使您的 URL 与用户的搜索字词和短语保持一致,以最大限度地发挥您的作用。
最后,如果您提供有值(value)的内容并且您的内容和网站结构正确,搜索引擎将准确地收集它。您只需要帮助他们了解您的内容的具体性和权威性。 :)
关于seo - 深层目录结构对 SEO 来说是一件坏事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2114935/
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA
给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在
您将如何构建一个简单的Sinatra应用程序?我正在制作,我希望该应用具有以下功能:“应用程序”更像是一个包含所有信息的管理仪表板。然后另一个应用程序将通过REST访问信息。我还没有创建仪表板,只是从数据库中获取东西session和身份验证(尚未实现)您可以上传图片,其他应用可以显示这些图片我已经使用RSpec创建了一个测试文件通过Prawn生成报告目前的设置是这样的:app.rbtest_app.rb因为我实际上只有应用程序和测试文件。到目前为止,我已经将Datamapper用于ORM,将SQLite用于数据库。这是我的第一个Ruby/Sinatra项目,所以欢迎任何和所有建议-我应
在我让另一个人重做我的前端UI之前,我的Rails应用程序运行平稳。我已经尝试解决此错误3天了。这是错误:Nosuchfileordirectory-identifyExtractedsource(aroundline#59):575859606162@post=Post.find(params[:id])authorize@postif@post.update_attributes(post_params)flash[:notice]="Postwasupdated."redirect_to[@topic,@post]else{"utf8"=>"✓","_method"=>"patc
我正在尝试以一种更类似于普通RubyGem结构的方式构建我的Sinatra应用程序。我有以下文件树:.├──app.rb├──config.ru├──Gemfile├──Gemfile.lock├──helpers│ ├──dbconfig.rb│ ├──functions.rb│ └──init.rb├──hidden│ └──Rakefile├──lib│ ├──admin.rb│ ├──api.rb│ ├──indexer.rb│ ├──init.rb│ └──magnet.rb├──models│ ├──init.rb│ ├──invite.rb│ ├─
我想编写一个ruby脚本来递归复制目录结构,但排除某些文件类型。因此,给定以下目录结构:folder1folder2file1.txtfile2.txtfile3.csfile4.htmlfolder2folder3file4.dll我想复制这个结构,但不包含.txt和.cs文件。因此,生成的目录结构应如下所示:folder1folder2file4.htmlfolder2folder3file4.dll 最佳答案 您可以使用查找模块。这是一个代码片段:require"find"ignored_extensions=[".cs"
我正在使用Rails3.2.2并希望递归加载某个目录中的所有代码。例如:[Railsroot]/lib/my_lib/my_lib.rb[Railsroot]/lib/my_lib/subdir/support_file_00.rb[Railsroot]/lib/my_lib/subdir/support_file_01.rb...基于谷歌搜索,我试过:config.autoload_paths+=["#{Rails.root.to_s}/lib/my_lib/**"]config.autoload_paths+=["#{Rails.root.to_s}/lib/my_lib/**/"
我是Ruby的新手,我正在尝试以如下方式打开文件:#!/usr/bin/envrubydata_file='~/path/to/file.txt'file=File.open(data_file,'r')但是我得到“没有这样的文件或目录”(该文件确实存在于该目录中)。如果我将该文件路径作为命令行参数,它会起作用,例如:#!/usr/bin/envrubyfile=File.open(ARGV[0],'r')然后从命令行运行,如:rubyscript.cgi~/path/to/file.txt关于如何让它以第一种方式工作的任何想法? 最佳答案