jjzjj

seo - will rel=canonical break site : queries?

coder 2024-02-27 原文

我们公司使用定制的内容管理系统发布我们的软件产品文档,该系统使用动态 URL 命名空间,如下所示:

http://ourproduct.com/documentation/version/pageid

其中“version”是文档适用的版本号,“pageid”是在我们的后端内容管理系统中标识该页面的唯一字符串。例如,如果内容(例如关于配置最佳实践的页面)与我们产品的 3.0 版和 4.0 版相比没有变化,则可以通过两个不同的 URL 访问它:

http://ourproduct.com/documentation/3.0/configuration-best-practices
http://ourproduct.com/documentation/4.0/configuration-best-practices

此 URL 方案允许我们限定 Google 搜索结果的范围,以仅查看特定产品版本的文档,如下所示:

configuration site:ourproduct.com/documentation/4.0

但是当用户搜索所有版本时,我们不希望 Google 任意选择其中一个 URL 显示在结果中。相反,我们总是希望显示最新版本。因此我们计划使用 rel=canonical因此,如果搜索多个版本,我们可以禁止性地告诉 Google 我们希望显示哪个 URL。 (做一些奇怪的事情的用户,比如搜索 2 个版本但并非所有版本都是极端情况,所以我们不关心在这种情况下出现哪个版本——我们关心的主要用例是搜索一个版本或搜索所有版本)

但是如果我们这样做,范围搜索会发生什么?如果我的rel=canonical URL 指向版本 4.0,但我的搜索范围是 3.0,Google 会返回结果吗?

即使您不知道答案,您是否知道使用 rel=canonical 在 URL 命名空间中跨文件夹重定向的站点。如果是这样,我可以运行一些 Google 搜索并找出答案。

最佳答案

rel=canonical 链接元素帮助搜索引擎确定他们应该索引的 URL,因此最终,通过为 URL 指定它,您告诉他们放弃旧版本,只索引新版本。实际上,这两个版本可能会被索引一段时间(取决于它们是如何被发现和抓取的),但从长远来看,通常只有规范版本才会保持索引。换句话说,如果您为您的站点执行此操作,随着时间的推移,旧版本的 site:-query 结果将会下降(这可能是有道理的)。

如果你需要索引两个版本,那么我不会使用 rel=canonical 链接元素,我只是从旧版本链接到新版本(例如“可以找到该文档的当前版本在 X”)。

Wikia 相当广泛地使用 rel=canonical 链接元素,虽然我不认为他们在文件夹中使用它,但您仍然可以看到单个 URL 的结果。

关于seo - will rel=canonical break site : queries?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2588346/

有关seo - will rel=canonical break site : queries?的更多相关文章

  1. ruby-on-rails - 在没有 :total_entries to improve a lengthy query 的情况下使用 will_paginate - 2

    我有一个will_paginate的当前实现,它使用paginate_by_sql方法来构建要分页的集合。我们有一个针对total_entries的自定义查询,它非常复杂并且给我们的数据库带来了很大的负载。因此,我们想从分页中完全删除total_entries。换句话说,我们只需要一个“下一个-上一个”按钮,而不是“上一个1[2]345下一个”的典型分页显示。但我们需要了解一些事情。我们是否显示上一个链接?这当然只会发生在当前选择中显示的记录之前存在的记录我们是否显示下一个链接?如果显示集合中的最后一条记录,则不会显示此内容来自docsAqueryforcountingrowswill

  2. ruby - 全新应用程序服务器上的 Rails 'parse_query' 错误 - 2

    我已经在OSX10.10.3上安装了:自制软件,命令行工具,然后使用rbenv安装ruby​​:ruby2.2.2p95(2015-04-13revision50295)[x86_64-darwin14]Rails4.2.2当我创建一个新的应用程序(使用默认的sqlite数据库)并尝试运行它时,它说:=>BootingWEBrick=>Rails4.2.2applicationstartingindevelopmentonhttp://localhost:3000=>Run`railsserver-h`formorestartupoptions=>Ctrl-Ctoshutdownser

  3. ruby-on-rails - 对于新的 ActiveRecord 模型,为什么有些 has_many :through associations add a (1=0) predicate and distinct clause to the sql query? - 2

    每当我实例化一个新的ActiveRecord模型(一个尚未持久化到数据库中的模型)并尝试访问构建模型上的一些各种关联时,Rails查询构建器有时会:将(1=0)谓词添加到查询的where子句。在select语句中添加“distinct”子句。我认为这只会在has_many:through关联连接两个或多个表时发生。我想知道为什么它添加了(1=0)谓词以及distinct子句。对于(1=0)谓词,新模型是否已保存到数据库应该无关紧要(对吧?)。我不知道为什么要添加distinct子句。我在下面有一个简单的例子。classAssignment#s.assignment_attachment

  4. ruby-on-rails - 弃用警告 : Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s) - 2

    我将我的Rails5.1.4应用更新到了5.2.0。我的一个模型中有以下范围:scope:by_category,lambda{|category_slug|category_ids=Category.find_by(slug:category_slug)&.subtree_idswhere(category_id:category_ids)}由于该范围,Rails返回以下错误:DEPRECATIONWARNING:Dangerousquerymethod(methodwhoseargumentsareusedasrawSQL)calledwithnon-attributeargume

  5. ruby-on-rails - rails : Sorting a query by params? - 2

    我正在使用运行一个简单的查找全部并使用willpaginate分页,但我也希望由用户对查询进行排序。想到的第一个解决方案就是使用params[:sort]http://localhost:3000/posts/?sort=created_at+DESC@posts=Post.paginate:page=>params[:page],:order=>params[:sort]但他的方法的问题是查询默认为按ID排序,我希望它是created_at。这是一种安全的排序方法吗?有没有办法默认使用created_at? 最佳答案 我会使用命名

  6. ruby - 动态模块 : Querying tables with secondary index - 2

    我正在使用gemaws-sdk-ruby查询看起来像这样的表:hk(Hashkey)|guid(Rangekey)|Timestamp(SecondaryRangeindex)|otherattributesaaaa|50|2013-02-04T12:33:00Z|aaaa|244|2013-04-22T04:54:00Z|aaaa|342|2013-05-18T06:52:00Z|bbbb|243|2013-06-21T13:17:00Z|我想要做的是获取在特定日期之后创建的所有“aaaa”行。例如:AWS.config(access_key_id:'xxx',secret_acce

  7. ruby-on-rails - 知道@vendor.name 后如何使 Ruby on Rails 中的 URL 对 SEO 友好? - 2

    我的应用程序在RoR中我有一个名为showsummary的操作/View,其中ID已传递到URL,并且Controller使用它来实例化@vendor,其中@vendor.name是公司的名称。我希望URL是showsummary/1/而不是在URL中包含/vendor-name。我该怎么做? 最佳答案 所有这些解决方案都使用find_by_name,这肯定需要在该列上有一个索引并且要求它们是唯一的。我们使用的一个更好的解决方案是在供应商名称前加上其ID,但牺牲了一点美观。这意味着您不必在名称列上有索引和/或要求唯一性。供应商.rb

  8. ruby - pg_dump : [archiver (db)] query failed: ERROR: permission denied for relation abouts - 2

    我正在尝试转储我的pgdb但遇到这些错误请建议pg_dump:[archiver(db)]queryfailed:ERROR:permissiondeniedforrelationaboutspg_dump:[archiver(db)]querywas:LOCKTABLEpublic.aboutsINACCESSSHAREMODE 最佳答案 您正在执行pg_dump的用户没有公共(public)模式的权限。如果允许则添加权限:GRANTUSAGEONSCHEMApublicTO;GRANTSELECTONALLTABLESINSCH

  9. ruby-on-rails - 传递给 Capybara::Queries::SelectorQuery 的未使用参数 - 2

    我有这样的规范:it'containsDeletelink'doexpect(page).tohave_link('Delete',admin_disease_path(disease))end当我运行规范时,它会在控制台中返回警告:UnusedparameterspassedtoCapybara::Queries::SelectorQuery:["/admin/diseases/913"]我该如何解决这个问题? 最佳答案 expect(page).tohave_link('Delete',href:admin_disease_pa

  10. ruby-on-rails - rails : ActiveRecord query based on association value - 2

    我有2个模型。Report和Server有belongs_to和has_many关系。我使用delegate创建了一个访问器方法允许Report找到其关联的Server.company_id.现在,我想查询Report这让我可以找到所有Report与特定的Server相关联具有特定的company_id属性5.这是我的两个模型。是的,我知道自Report以来当前查询将无法正常工作。没有属性company_id.不,我不想存储company_idReport内部因为该信息不属于Report.举报classReport:serverclass服务器classServer

随机推荐