在尝试了解如何创建更好的 URL 以方便用户使用且不影响 SEO 时,我正在研究不同网站的结构。我有一些与以下相关的问题:
亚马逊 ->/typical-product-slug/dp/{id}
stackoverflow ->/questions/{id}/question-slug
yardsellr -> for_sale#!/product-slug--{id}
[1] 亚马逊为什么像stackoverflow那样把slug放在域名后面,这样更容易理解,也提供目录结构? 此外,将 {id} 保留在末尾会更容易出现剪切粘贴错误。
[2] amazon 和 stackoverflow 对 {id} 定位的差异是否与 {id} 对于 amazon 是字母数字而对于 stackoverflow 只有数字有关?也许字母数字对用户来说更神秘,因此从 SEO 的角度来看,亚马逊将其放在最正确的位置?
[3] 对于亚马逊来说,使用关键字“产品”甚至高级类别(如“书籍”或“音乐”)来代替“dp”是否不会使 SEO 更有效?
[4] yardsellr 因为它的尾随 {id} 没有使用 '/' 而是 '--' 作为标记。谷歌表示 URL 目录结构的深度并不重要。 yardsellr 从这种结构中受益的是什么,它是否只是因为 slug 和 id 既独特又相同?跟深度有关系吗?如果他们将 id 放在 slug 之前,这会影响 SEO 吗?
我知道大多数问题都没有直接的答案。寻找您的经验和想法,以便我可以学习。
谢谢。
最佳答案
搜索引擎优化。您是否尝试过没有 slug 的 URL?! SO 可以将 slug 放在末尾,因为标题可以经常更改,然后 URL 也会更改。因此,最好只使用问题/ID 永久链接到 SO。与 Amazon 相同,但在另一个方向上,他们面临更大的竞争,并且通常产品的标题不会经常更改,并且生命周期可能更短,但也可以成为永久链接而不会出现 slug。
ID 就是 ID。而不管。像 YT 这样的神秘数字比看起来更好的自动增加数字具有更大的范围和更少的位置。有很多优点和缺点。
没有人搜索“产品”、“书籍”或“cd”。只有标题和作者很重要。
始终将 slug 放在 SEO 的前面,就像在 1 中一样。深度始终很重要。
关于url - 了解不同站点的 slug 定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130907/
从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些
我正在编写一个简单的静态Rack应用程序。查看下面的config.ru代码:useRack::Static,:urls=>["/elements","/img","/pages","/users","/css","/js"],:root=>"archive"map'/'dorunProc.new{|env|[200,{'Content-Type'=>'text/html','Cache-Control'=>'public,max-age=6400'},File.open('archive/splash.html',File::RDONLY)]}endmap'/pages/search.
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
如何使此根路径转到:“/dashboard”而不仅仅是http://example.com?root:to=>'dashboard#index',:constraints=>lambda{|req|!req.session[:user_id].blank?} 最佳答案 您可以通过以下方式实现:root:to=>redirect('/dashboard')match'/dashboard',:to=>"dashboard#index",:constraints=>lambda{|req|!req.session[:user_id].b
我基本上来自Java背景并且努力理解Ruby中的模运算。(5%3)(-5%3)(5%-3)(-5%-3)Java中的上述操作产生,2个-22个-2但在Ruby中,相同的表达式会产生21个-1-2.Ruby在逻辑上有多擅长这个?模块操作在Ruby中是如何实现的?如果将同一个操作定义为一个web服务,两个服务如何匹配逻辑。 最佳答案 在Java中,模运算的结果与被除数的符号相同。在Ruby中,它与除数的符号相同。remainder()在Ruby中与被除数的符号相同。您可能还想引用modulooperation.
RSpec似乎按顺序匹配方法接收的消息。我不确定如何使以下代码工作:allow(a).toreceive(:f)expect(a).toreceive(:f).with(2)a.f(1)a.f(2)a.f(3)我问的原因是a.f的一些调用是由我的代码的上层控制的,所以我不能对这些方法调用添加期望。 最佳答案 RSpecspy是测试这种情况的一种方式。要监视一个方法,用allowstub,除了方法名称之外没有任何约束,调用该方法,然后expect确切的方法调用。例如:allow(a).toreceive(:f)a.f(2)a.f(1)
我正在使用Dragonfly在Rails3.1应用程序上处理图像。我正在努力通过url将图像分配给模型。我有一个很好的表格:{:multipart=>true}do|f|%>RemovePicture?Dragonfly的文档指出:Dragonfly提供了一个直接从url分配的访问器:@album.cover_image_url='http://some.url/file.jpg'但是当我在控制台中尝试时:=>#ruby-1.9.2-p290>picture.image_url="http://i.imgur.com/QQiMz.jpg"=>"http://i.imgur.com/QQ