转载原地址 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. 8天学通MongoDB——第八天 驱动实践

    作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者, 因为提供了丰富的linq操作,相当方便. 官方驱动:https://gi ...

  2. Linux查看所有用户用什么命令

    用过Linux系统的人都知道,Linux系统查看用户不是会Windows那样,鼠标右键看我的电脑属性,然后看计算机用户和组即可. 那么Linux操作系统里查看所有用户该怎么办呢?用命令.其实用命令就能 ...

  3. Android之界面刷新(invalidate和postInvalidate使用)

    Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用. Android提供了Inva ...

  4. Jqgrid入门-使用模态对话框编辑表格数据(三)

            Jqgrid是一个强大的表格插件,它提供了多种方式来编辑数据.这三种方式分别是: Cell Editing——只允许修改某一个单元格内容 Inline Editing——允许在jqGr ...

  5. HDU 5305 Friends (DFS,穷举+剪枝)

    题意: 给定n个人,m对朋友关系,如果对于每个人,只能刚好选择其所有朋友中的一半的人进行聊天(只是我和我的朋友,不是我的朋友和我的朋友),那么有多少种情况?只要一个选择不同,视为不同情况. 思路: 比 ...

  6. linux面试题2

    1. 在Linux系统中,以文件的方式访问设备 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统 3. Linux文件系统中每个文件用inode来标识 4.  链接分为 ...

  7. Android-根据ImageView的大小来压缩Bitmap,避免OOM

    本文转自:http://www.cnblogs.com/tianzhijiexian/p/4254110.html Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片 ...

  8. ruby函数回调的实现方法

    以前一直困惑ruby不像python,c可以将函数随意传递,然后在需要的时候才去执行.其实本质原因是ruby的函数不是对象. 通过查阅资料发现可以使用如下方法: def func(a, b) puts ...

  9. metadata lock

    1 锁等待的例子 session 1: 执行查询但不提交 mysql> begin; mysql> select * from test where c2 = '1'; session 2 ...

  10. js函数——倒计时模块+无缝滚动

    倒计时 效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...