转载原地址 http://blog.sina.com.cn/s/blog_673b01740100jxlz.html

近听到很多SEO 对在页面的规范版本用规范 URL 标签( canonical URL tag)时会有问题。很多人对于只有重复内容应该用 rel= “canonical” 属性而原始内容不需要的说法存在疑惑。下面深圳网站建设(我乐168设计室)结合Google官方说明就canonical属性做个详细的分析与说明。
  什么是rel="canonical"?
  规范网页是一组内容高度相似的网页的首选版本,rel="canonical"属性是一个让Google知道在当前网站中的众多重复或高度相似网页中,哪一个页面才是站长想让他抓取收录的页面,从功能上来讲,可以理解为301永久重定向的辅助功能。
  为什么要用rel="canonical"?
  对于网站来说,包含多个列有同组产品的网页很正常。例如,一个网页可能按字母表顺序显示产品,而其他网页则按照价格或评分显示相同产品。例如:http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=alpha&sessionid=5678asfasdfasfd
  http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=price&sessionid=5678asfasdfasfd
  在以前Google会经过自己的判断选择,如果认为这些路径是重复内容,则会选择其中一个页面来抓取,但是这个页面并不一定是站长最想被收录的。现在站长可以通过将
<link> 元素和 rel="canonical" 属性添加到这些路径不规范的页面的 <head>
区域来为搜索引擎指定规范网页。添加此链接和属性就等于向Google
提出建议:“在内容相同的www.wl168.com所有网页中,此网页最有用。请将该网页排在搜索结果中靠前的位置”。
  如何指定规范网页?
  要指定指向网页http://www.example.com/product.php?item=swedish-fish
的规范链接,请按以下形式创建 <link> 元素:
  <link rel="canonical"
href="http://www.example.com/product.php?item=swedish-fish"/>
  将上述链接复制到该网页所有非规范版本的
<head> 部分
  如
http://www.example.com/product.php?item=swedish-fish&sort=price。
  如果您在
http://www.example.com/product.php?item=swedish-fish 和
https://www.example.com/product.php?item=swedish-fish 上都发布了内容,则可以指定该网页的规范版本。创建
<link> 元素:
  <link rel="canonical"
href="http://www.example.com/product.php?item=swedish-fish"/>
  将上述链接添加到
https://www.example.comproduct.php?item=swedish-fish 的 <head>
部分。这样Google在抓取您网站页面时,就会认为这个页面才是规范页面。

转载 https://blog.gtwang.org/web-development/google-canonical-link-setup-after-changing-url/

标准网址使用教学 , 让Google搜寻呈现正确的网站

這裡介紹如何設定標準網址(canonical link),讓自己網站可以在 Google 搜尋結果上呈現正確的網址,達到搜尋引擎最佳化的效果。

在一個網站中使用不同的網址來呈現同一個頁面的內容是很常見的情況,舉例來說,有些網頁會有閱讀用與列印用兩種網址,這樣的設計可以讓使用者更便利,但是對於網路搜尋引擎(如 Google 等)而言,可能會無法判別那一個網址才是最正式的網址,如果在搜尋結果中顯示了列印用的版本就不是很恰當。

Google 標準網址標示

Google 官方為了解決這種問題,提供了標準網址的標示方式,只要在 <head> 區段加入 canonical link 的設定,就可以讓 Google 搜尋引擎呈現適當的結果:

 <link rel="canonical" href="http://blog.gtwang.org/web-development/google-canonical-link-setup-after-changing-url/" />

我們可以在所有版本的網頁中(閱讀用與列印用的等等)都加上這一行,這樣 Google 搜尋引擎在顯示搜尋結果時,如果發現這個網頁內容有多個網址可選擇時,就會以這裡標示的網址為準。

使用 JavaScript 設定標準網址

由於 canonical link 的設定一定要放在 <head> 區段才會生效,如果您的網站環境無法讓您直接修改 <head> 區段的 HTML 碼,可以改用 JavaScript 的方式來加入 canonical link:

<script>
$('head')
.append('<link rel="canonical" href="http://blog.gtwang.org/web-development/google-canonical-link-setup-after-changing-url/" />');
</script>

這段 JavaScript 可以放在 <body> 中的任何地方,他的作用是在網頁載入時,使用 JavaScript 在 <head> 區段中增加一行 canonical link 設定,其中 href 的屬性請改為自己要指定的網址。

由於 Google 搜尋引擎在解析網頁時也會一併解析 JavaScript 程式碼,所以對於 Google 搜尋引擎而言我們可以使用這樣的方式來處理。

如果您的網頁原本就已經有 canonical link 的設定了,可以改用下面這樣的作法,修改 <link>href 的屬性:

<script>
$('link[rel="canonical"]')
.attr('href', 'http://blog.gtwang.org/web-development/google-canonical-link-setup-after-changing-url/');
</script>

Google 上面对它的解释

https://support.google.com/webmasters/answer/139066?hl=en

Google中rel="canonical"的相关解释和用法的更多相关文章

  1. IT蓝豹强烈推荐:符合1-2年工作经验,开发中的难点及相关优化:

    IT蓝豹强烈推荐:符合1-2年工作经验,开发中的难点及相关优化: IT蓝豹 ------------------> sqlite数据库版本升级 1.sqlite升级步骤: 1.自己写一个类继承自 ...

  2. Java进阶(十五)Java中设置session的详细解释

    Java中设置session的详细解释 简单通俗的讲session就是象一个临时的容器,用来存放临时的东西.从你登陆开始就保存在session里,当然你可以自己设置它的有效时间和页面,举个简单的例子: ...

  3. lr 中cookie的解释与用法

    Loadrunner 中 cookie 解释与用法loadrunner 中与 cookie 处理相关的常用函数如下: web_add_cookie(): 添加新的 cookie 或者修改已经存在的 c ...

  4. DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件-转

    转自  https://maodaili.de/mao.php?u=a%2FMrbEvUE8PnCuc7FrhJi0Rqd3kmOBHPZUbcJ1c2hbJUK0RYWpAf4lhIOddItP%2 ...

  5. x264中重要结构体参数解释,参数设置,函数说明 <转>

    x264中重要结构体参数解释http://www.usr.cc/thread-51995-1-3.htmlx264参数设置http://www.usr.cc/thread-51996-1-3.html ...

  6. 图像处理中的数学原理具体解释21——PCA实例与图像编码

    欢迎关注我的博客专栏"图像处理中的数学原理具体解释" 全文文件夹请见 图像处理中的数学原理具体解释(总纲) http://blog.csdn.net/baimafujinji/ar ...

  7. Wireshark中的一些SNMP相关的过滤器

    Wireshark中的一些SNMP相关的过滤器 转自 http://linmingren2003.blog.163.com/blog/static/567510032011419825097/   由 ...

  8. 图像处理中的数学原理具体解释20——主成分变换(PCA)

    欢迎关注我的博客专栏"图像处理中的数学原理具体解释" 全文文件夹请见 图像处理中的数学原理具体解释(总纲) http://blog.csdn.net/baimafujinji/ar ...

  9. OC中并发编程的相关API和面临的挑战

    OC中并发编程的相关API和面临的挑战(1) 小引 http://www.objc.io/站点主要以杂志的形式,深入挖掘在OC中的最佳编程实践和高级技术,每个月探讨一个主题,每个主题都会有几篇相关的文 ...

随机推荐

  1. Redis cluster学习 & Redis常识 & sort操作

    Redis中的5种数据类型String.Hash.List.Set.Sorted Set. Redis源码总代码一万多行. 这篇文章有一些Redis "常识" http://www ...

  2. LA 3029 - City Game (简单扫描线)

    题目链接 题意:给一个m*n的矩阵, 其中一些格子是空地(F), 其他是障碍(R).找一个全部由F 组成的面积最大的子矩阵, 输出其面积乘以3的结果. 思路:如果用枚举的方法,时间复杂度是O(m^2 ...

  3. poj1088

    这题是dp还是dfs+记忆化?(其实好像没什么区别?) 用f[i,j]表示滑到(i,j)时之后最多能滑多远,依次穷举每一个起点(i,j)则 f[i,j]=max{f[i,j-1],f[i-1,j],f ...

  4. Spring MVC 的请求参数获取的几种方法

    通过@PathVariabl注解获取路径中传递参数 @RequestMapping(value = "/{id}/{str}") public ModelAndView hello ...

  5. HDU 2544 最短路 (最短路,spfa)

    题意:中文题目 思路:spfa+SLF优化.关于SPFA的详情请戳我 #include <bits/stdc++.h> using namespace std; , INF=0x7f7f7 ...

  6. (2)Spring集成Quartz定时任务框架介绍和Cron表达式详解

    在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等.我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但 ...

  7. 关于KOBE 退役

    今天在网上看到一行话,写在KOBE 退役之际 关于职业,最值得问的是自己我有没有像科比那样始终表现出对团队的忠诚和对职业的热爱?从不被别人的误解和攻击打倒?在团队最困难的时候站出来做能做的一切?用职业 ...

  8. UVALive 4255 Guess

    这题竟然是图论···orz 题意:给出一个整数序列a1,a2,--,可以得到如下矩阵 1 2 3 4 1 - + 0 + 2   + + + 3       -  - 4         + &quo ...

  9. Android下载速度计算

    long startTime = System.currentTimeMillis(); // 开始下载时获取开始时间 long curTime = System.currentTimeMillis( ...

  10. codeforces 681D Gifts by the List dfs+构造

    题意:给你一个森林,表示其祖先关系(自己也是自己的祖先),每个人有一个礼物(要送给这个人的固定的一个祖先) 让你构造一个序列,使得的对于每个人,这个序列中第一个出现的他的祖先,是他要送礼物的的那个祖先 ...