网站 Vary:User-Agent 配置教程及优化作用

leixue 网站策划运营 2019-02-13 15:19:31 阅读(...) 评论(0)

一直以来子凡都是推崇网站使用代码适配(Dynamic Serving)的方式来做 PC 端与移动端的兼容,这也就意味着网站是根据用户访问时的 UA(User Agent)来返回不同的页面,百度搜索可以直接给已经验证的站点设置站点的适配类型,还算方便,然而对于其它搜索引擎或者一些支持代码适配CDN 加速服务,则需要在 HTTP 的报文头中添加 Vary:User-Agent 这个参数。

Vary User-Agent

Vary:User-Agent 配置方法

1. Apache 环境网站配置 Vary:User-Agent

将以下代码根据实际情况加入对应网站根目录的.htaccess 文件中,或者加入 Apache 的主配置文件 httpd.conf:

1
Header append Vary User-Agent

2. Nginx 环境网站配置 Vary:User-Agent

将以下代码添加到对应站点的配置文件中:

1
add_header Vary "User-Agent";

3. PHP 站点配置 Vary:User-Agent

将以下代码添加到你 PHP 网站的合适位置,最好是属于公共文件,例如数据库配置文件中:

1
<?php header("Vary: User-Agent"); ?>

4. WordPress 站点配置 Vary:User-Agent

将以下代码添加到当前 WordPress 主题的 functions.php 文件中:

1
2
3
4
5
6
// WordPress 配置 Vary:User-Agent
add_filter('wp_headers', 'add_vary_header');
function add_vary_header($headers) {
    $headers['Vary'] = 'User-Agent';
    return $headers;
}

值得一说

其实最开始子凡也并没有过于重视网站是否配置 Vary:User-Agent 这个报文头的信息,直到去年越来越多的人问我代码适配的网站使用 CDN 服务后就无法正常工作了,其中有两个问题的存在,第一种就是 CDN 服务商本身就不支持代码适配的网站做加速缓存服务,另一种就是因为网站本身没有配置 Vary:User-Agent,所以 CDN 抓取的时候就无法进行代码适配来做缓存加速了。

目前子凡了解到阿里云的 CDN 是支持对不同 UA 设置不同的缓存,网站需要配置 Vary:User-Agent 信息即可,同时又拍云也支持不同设备,具体的配置方式不确定,通过有客户反馈百度云 CDN 不支持,至于腾讯云 CDN 和七牛翻看一番子凡并没有找到相关的,大/家如果有使用或者相关需求可以先咨询官方。子凡这里仅供大家参考。

值得注意

如果网站配置了 Vary:User-Agent 字段,有的 CDN 加速是有可能不会缓存网站的页面,也有的可能会出现缓存多个版本不同的内容,从而迅速的暂用你的缓存空间,所以大家有必要了解,而这些都是与 CDN 网络内部具体实现有关系。

总之配置了 Vary:User-Agent 参数的,对用户的使用是不会出现问题或者影响的,当然也就有可能会导致 CDN 直接罢工回源,而不加,当然也服务商并不支持该功能,所以依旧会出错。

简单总结

采用代码适配的站点非常有必要配置 Vary:User-Agent,这也是百度与谷歌非常建议这样做的方式,更加方便于搜索引擎蜘蛛抓取时的用不同的 UA 方式获取页面,方便搜索引擎就是在为网站 SEO 和排名做有用功,如果你的站点并非代码适配就不要画蛇添足啦。

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/vary-user-agent.html

发表评论