首先,百度在官方的声明中说:[喝小酒的网摘]http://blog.hehehehehe.cn/a/17112.htm

百度仅作为中立的转码工具及相关技术的提供方。在转码过程中,百度对第三方网站内容不做任何修改或编辑,亦不对本页面内容负责。您享有是否阅读转码页面的选择权,如您希望选择以非转码形式查看该页面内容,请您直接访问原网站。

当然也有百度对于推出百度转码的意义以及策略,最后当然也提到了如何屏蔽百度转码或者说叫做不希望被转码方法。如果只想拿来就用,就不需要看后面的了,直接在head中间插入<meta http-equiv="Cache-Control" content="no-transform " />即可。

1. web页面转码的意义?

互联网上融合了WEB和WAP两类网页资源,WEB网页资源占比远多于WAP网页,但目前绝大多数移动终端的浏览器都不能直接浏览WEB网页。因此,为确保WAP可用性,必须对WAP搜索结果中的WEB网页进行格式转换,转换为WAP网页,使其能在移动终端浏览器被浏览。百度的转码技术即是为实现此目的、服务于WAP搜索的附属产品,各大搜索引擎均拥有并提供类似转码技术。

2. 百度转码的策略?
为了最大程度解决WEB页面在手机上的可用性,转码须去除WEB页面中不能在手机浏览器上浏览的内容,和无法用WAP描述语言描述的部分内容,并将网页布局由2维布局适配为1维布局。

3. 站长小贴士

(1)如果觉得自己的站点转码效果不佳怎么办?
可以使用百度移动标注协议,在PC站点的html页面中加入百度的标注协议(注释形式),提升转码效果。该协议主要针对采用html规范制作的Web站点,以利于站长自助优化百度无线搜索访问其站点时的页面效果。

(2)如果不希望自己的站点被转码怎么办?

共有三种解决方案:

A. no-transform协议

TC支持的no-transform协议为如下两种形式:

a. HTTP Response中显式声明Cache-control为no-transform。

b. meta标签中显式声明Cache-control为no-tranform,格式为:

<head>

<meta http-equiv="Cache-Control" content="no-transform " />

</head>

如第三方站点不希望页面被转码,可添加此协议,当用户进入第三方网站时,先进入中间提示页,页面将引导用户自主选择跳转至原网页。

B. handheld协议

页面通过lt;link>标签显式指定WAP网页,声明格式如下:

<link rel="alternate" type="application/vnd.wap.xhtml+xml" media="handheld" href="target"/>

如第三方站点不希望页面被转码,可添加此协议,告知我们原网页对应有一个WAP版页面,当用户进入第三方网站时,先进入中间提示页,让用户自主选择跳转至原网页或第三方网站自有的wap页面。

C. User-Agent相关

TC抓取页面时,使用的User-Agent为:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; baidu Transcoder;)

如第三方站点不希望转码HTML页面,且又可以提供对应的自有WAP页面,则可以根据这个User-Agent,返回自有WAP页,同时在HTTP Response显示声明:Content-Type为:vnd.wap.xhtml+xml,那么TC将不对这个页面转码,而是直接跳转至相应的自有WAP页面。

[喝小酒的网摘]http://blog.hehehehehe.cn/a/17112.htm

官方提供的屏蔽百度转码Baidu Transcoder的方法no-transform的更多相关文章

  1. google官方提供的编译android源码的环境初始化,Initializing a Build Environment

    原文网址:http://source.android.com/source/initializing.html Initializing a Build Environment IN THIS DOC ...

  2. Qt程序打包发布方法(使用官方提供的windeployqt工具)

    Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方开发环 ...

  3. 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类

    在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...

  4. Shiro官方快速入门10min例子源码解析框架2-Session

    Shiro自身维护了一套session管理组件,它可以独立使用,并不单纯依赖WEB/Servlet/EJB容器等环境,使得它的session可以任何应用中使用. 2-Session)主要介绍在quic ...

  5. 在chrome中屏蔽百度推荐

    在chrome中屏蔽百度推荐 方法1:可以使用adblock plus来进行屏蔽: 需要将chrome的扩展程序打开为调试者模式: 下载地址:http://chromecj.com/productiv ...

  6. (转)阿里官方提供的dubbo-spring-boot-starter 1.0.1 整合的dubbo 2.6.0和spring boot 1.5.9 案例

    作者:许浩_5e9f链接:https://www.jianshu.com/p/5381cc8876e3來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. springboo ...

  7. 《MySQL必知必会》官方提供的数据库和表

    数据用于配合<MySQL必知必会>(MySQL Crash Course)这本书使用,配套SQL文件也可在Ben Forta网站下载. Ben Forta网址:http://forta.c ...

  8. 新唐N32905U1DN开发教程:MDK环境下工程搭建(官方提供的固件库)(转)

    前言:新唐N32905U1DN单片机不支持用户将程序烧录到内部FLASH,必须外挂FLASH存储用户程序,可以是SPI FLASH.NAND FLASH.SD卡.用户采用裸机开发的方式可使用官方提供的 ...

  9. deno学习三 官方提供的方便deno 安装方式

    早起deno 使用了golang 开发,同时需要protobuf 进行数据的序列化以及反序列化处理 当前的deno 已经使用rust 进行了开发,同时官方提供的安装方式也很方便了,不需要 那么复杂的编 ...

随机推荐

  1. C#中String转int问题

    String转int主要有四种方法 1. int.Parse()是一种类容转换:表示将数字内容的字符串转为int类型. 如果字符串为空,则抛出ArgumentNullException异常: 如果字符 ...

  2. “System.Data.SqlClient.SqlConnection”的类型初始值设定项引发异常---解决方案

    "System.Data.SqlClient.SqlConnection"的类型初始值设定项引发异常 问题出在了 .net 的C:\WINDOWS\Microsoft.NET\Fr ...

  3. WebService 不依赖配置文件直接在构造函数配置地址

    研究了下 ClientBase(Binding binding, EndpointAddress remoteAddress) 这个重载更好用,都不用填名称比如 new PAS.WebService. ...

  4. Today I learnt

    2015-May-22 In Oracle database, dropping a table don't free up the space directly. You'll need to di ...

  5. [2016.01.01]万峰文本处理专家 v2.0

    <万峰文本处理专家>是一款简单易用,且功能强大的各类文本文件处理软件.1.支持多任务的处理模式,允许一次处理多个任务.2.支持正则表达式替换,替换更加强大:3.支持各类关键字的行处理操作: ...

  6. Android SQLite 通配符查询找不到参数问题

    使用Android SQLite中SQLiteDatabase类的query方法查询时,如果where中包含通配符,则参数会无法设置,如类似下面的方法查询时 SQLiteDatabase db = d ...

  7. Python 文件常见操作

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname()  ...

  8. PHP入门part4

    字符串函数 strlen(string); 获取字符串的长度,这里的长度是指该字符串的字节长度:!!utf-8里英文字母和符号占1个字节,中文是占3个字节. substr(string,number1 ...

  9. java线程池

    http://cuisuqiang.iteye.com/blog/2019372 Java四种线程池的使用 java线程线程池监控 Java通过Executors提供四种线程池,分别为:newCach ...

  10. Ubuntu16.10 主题flatabulous安装

    以前通过apt直接安装的flatabulous主题16.10上安装会出现找不到包的情况,可以采用源码安装 原来的apt-get方式: 1:主题 sudo add-apt-repository ppa: ...