在上篇文章《Typecho 添加 AMP 支持》说了给博客加amp功能,但是我没说弊端233,这次说下优缺点。
优点:
1,amp确实很快捷
2,支持amp功能的搜索引擎(比如谷歌),会优先amp页面,也就是说对seo有利
缺点:
1,对于不支持amp的搜索引擎来说,amp页面内容与原文重复,属于重复文章,可能反而不利于seo。
2,amp页面会被缓存到支持amp功能的搜索引擎上,也就是说文章被收录后,如果再次被修改amp页面可能反应迟钝。
3,移动端搜索引擎带来的ip会减少,毕竟别人浏览搜索引擎上的amp页面,实际是缓存到搜索引擎服务器上的,所以并不会直接产出ip。
其实只有缺点1比较致命,所以本次就提出两个方案,着重讲第一个方案。
方案一:网站端判断来源,如果是谷歌的蜘蛛或者百度的蜘蛛就允许amp功能开启(谷歌搜索引擎和百度搜索引擎支持amp)
用百度搜索了下两家搜索引擎的特征,分别是Googlebot
和Baiduspider
。
而谷歌用来测试amp是否生效的ua信息被我抓出来了
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Google-AMPHTML)
百度的用来缓存amp页面的ua不知道,但是肯定包含Baidu
所以只要往简单了判断也就行了
有了这些就万事俱备了,开始写判断
<?php
$ua=$_SERVER['HTTP_USER_AGENT'];
$ua=strtolower($ua);
$ampok=strpos($ua,"baidu");$ampko=strpos($ua,"googlebot");$ampo=strpos($ua,"google-amphtml");
if($ampok !== false || $ampko !== false || $ampo !== false){
//此处为amp页的功能实现代码
}
?>
在调试过程中你可以安个Chrome插件User-Agent Switcher
调试过程中来回切换UA会方便许多.感谢尚寂新提到的插件,省了好多力气。
方案二:使用robots.txt
来禁止所有搜索引擎来收录amp页面,然后只允许百度或者谷歌来收录amp页面(谷歌搜索引擎和百度搜索引擎支持amp)[只是一种思考,不知道对于seo是否真的有作用]
题外话
雅虎也支持amp,但是雅虎好像废了,搜狗也说支持amp,但是站长平台下,并没有看到amp的影子。故此文只提到谷歌and百度。
版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/anxu-open-amp.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
现在虽然百度支持AMP了,但是到现在也没有看到百度收录的AMP网站,不知道后续有没有新的政策
应该有吧,否则费力兼容amp干嘛,搞笑嘛 @(吐舌)
百度应该是带有mipengine.org的蜘蛛,MIP是这样的amp就不知道了
改成只判断
baidu
字符就行了恭喜又水了一贴 @(滑稽)
有个小失误啊 百度展现MIP页面的时候,不用BaiduSpider标识的那只蜘蛛进行爬取,而是用一个叫Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; baidumib;mip; https://www.mipengine.org)的蜘蛛把页面先给缓存四十五分钟 然后返回给访问者 然后过了四十五分钟之后用这个再次进行缓存(当访问者45分钟后再次访问) 所以你这么设置的话 百度是能抓取到MIP页面的 但是搜索结果里搜索者点进去之后 会在MIP加载页面留上几秒 然后自动跳回原H5页而不是展现MIP页面
所以说要保证Mobile的BaiduSpider和Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; baidumib;mip; https://www.mipengine.org) 都返回的是MIP数据就没问题了 你这个缺少后者
感谢提醒233
@(滑稽) 水评论,二楼稳稳地,还有谁
噗噗噗,羡慕哭,鹅鹅什么也不会
会卖萌就行了,然后上千程序员gay你写bug
gay你还行 @(狂汗)
绝..绝了