网站建设

浅析网站更换ip或使用CDN会不会影响SEO排名

最近张戈博客在阿里云和腾讯云服务器之间来回折腾了数次,别的收获没有,就悟出了一个问题:网站更换IP或使用CDN会不会影响SEO收录或排名? 收录就不好意思说了,张戈博客这几个月内发布的文章基本都没收录。 一、更换IP 记得之前站长平台分享过一篇相关的文章,说的是只要用户可以访问的页面,百度就能正常抓取和收录,和网站服务器在国内还是国外、是否备案统统无关。而百度收录的好坏、百度关键词的排名和网站的稳定性及加载速度则息息相关。 那这篇文章再说更换IP有何意义?我想说的是网站更换IP并不会影响收录或排名,但是——这个有一定的条件。 ①、平滑过渡 肯定有不少站长朋友,在网站搬家,并更新DNS解析后,立马就把原来的服务器退了或关闭了。其实这是一个大坑。 网站搬家过的朋友可能都有这样的经验,在网站搬家后,我们会按惯例去百度站长平台使用一下抓取诊断工具,看看新的解析是否生效。 而懒散的百度一直以蜗牛著称,我们会发现你更换DNS解析之后,抓取诊断中显示的还是老服务器的IP,可能几天都换不过来。这个应该百度蜘蛛自身的一个DNS缓存优化吧! 所以,如果你立马就把老的服务器给停用了,那百度蜘蛛绝对有一部分会遇到闭门羹,后果你懂的。 在我们更换IP之后,当使用百度抓取诊断工具发现IP未变更时,我们可以如图点击【报错】,让百度刷新DNS缓存: 快的话可能半天就可以刷新过来了,慢的话可能需要1~2天!快和慢的情况我基本都遇到过。。。 当发现抓取诊断显示IP已经是最新的之后,我们需要回到老的服务器上去看网站日志,观察个1~2天,直到日志中没有如下所示的百度蜘蛛的抓取了,才算更换成功! 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; Baiduspider/2.0; +http://www.baidu.com/search/spider.html) 这时候你才可以从容的停止老的服务器。 ②、稳定快速 稳定快速作为网站的基本素质,基本就不用多提了,更换后的服务器如果又慢还经常50x,蜘蛛肯定不会喜欢。所以,更换也是往好的方向,而不是越来越Low B才行! 二、使用CDN 以前张戈博客一直会说使用CDN之后需要多解析一个搜索引擎线路给蜘蛛专用。主要当时是认为CDN的节点很多,而且是动态修改的。也就是说使用了CDN就类似于我们的网站经常在更换IP! 那上面都说了更换IP对SEO没影响,为啥使用CDN需要多解析一个搜索线路到真实IP呢? 其实道理很简单,也并不是为了规避我之前提到的CDN的IP变来变去的情况,而是为了稳定! 上文提到了,百度蜘蛛服务器存在DNS缓存的情况(其实很多公司或集群都会有DNS缓存机制),如果我们使用CDN而不对蜘蛛回源,那么百度蜘蛛DNS缓存的就是CDN节点的IP! 那缓存了CDN节点IP有什么不对吗?也可以访问到我们的网站啊? 确实,缓存了CDN节点IP对访问没有任何影响,但唯一致命的是,CDN的节点可能随时都会撤销会更换IP!也就是说,这一小时蜘蛛通过一个IP为x.x.x.x的CDN节点访问到你的网站,可能下一小时这个CDN节点就下线了或换IP了!那么蜘蛛就无法访问你的网站了,只能等DNS刷新才行,这一等可能就是一两天哟! 当然,这种情况也不多见。保守起见,我们还是新增一条搜索引擎线路解析到真实IP比较靠谱。 好了,浅析到此告一段落,望你能有所收获!
阅读全文
网站建设

WordPress针对百度星火计划2.0原创保护的优化措施

今天在看百度站长平台的时候,发现1月18日发布了一篇介绍星火计划2.0的文章。仔细看了下,感觉到可用之处,就对张戈博客加了一些代码,算是针对性优化。 下面分享给大家,推荐使用! 一、星火计划 什么时候百度星火计划?其实我也是第一次听到,不过其内容肯定是像我这种原创博客都非常关心的——原创保护。 文章介绍中提到了什么是原创和伪原创,看得我都不想因为本文摘抄其内容而变成了伪原创了。所以感兴趣的可以自己点开看:http://zhanzhang.baidu.com/college/articleinfo?id=782 总之,百度星火计划就是对原创文章进行保护,让那些只会采集剽窃、甚至是篡改他人作品的网站统统死啦啦的。 就像文章说的一样(无奈,我还是要摘抄一下): 星火计划2.0项目的意义: 1,对于有转载的原创网页,百度搜索会从众多相同内容中识别出原创网页,使之在搜索结果中的排序不被对应的转载网页超越; 2,对于通过百度站长平台主动推送的原创数据,我们在识别成功后,会在搜索结果处进行“原创”标记 ,进一步凸显原创内容的价值,为原创者正名。 不过,对于是否真的不被超越,比如站长之家转载了张戈博客文章之类的,咱们拭目以待! 二、如何优化 文章的最后提到了网站针对星火计划能够进行的一些优化措施,具体为: ①、使用百度站长平台的主动推送链接功能 这是必须的,原创与否的先决条件肯定是谁发布的早!作为原创的我们,点击发布的同时立即向百度推送发布通知,告知这篇文章是从我们博客首发的,其他相同或相似的文章统统是转载或伪原创! 对于开启这个主动推送功能,有多种方式: 百度提供的通用js代码(貌似不支持https,会报错)【相关文章】 百度主动推送插件(张戈博客优化版)【相关文章】 百度主动推送代码(张戈博客原创版)【相关文章】 其中,第一个js代码适合所有建站程序,而且实现简单,推荐使用!后面一个是插件一个是代码,只适合WordPress,当然最终功能都一样,自行选择即可。 ②、在网站添加星火计划可识别的Meta标签 如下是百度文章中分享的DEMO: 会DIY的朋友基本不用往下看就能自己动手修改了吧?、 三、部署代码 将如下代码添加到 WordPress主题的 functions.php 当中即可在前台输出星火计划代码: 2016-05-20更新:补充适合360搜索的智能摘要Meta申明。 Ps:以上代码利用wp_head()函数将星火计划代码输出到前台,如果分享上述代码没有效果,说明你的主题未在header.php中调用 wp_head() 函数,请自行解决。 三、前台效果 成功加入代码后,刷新网站前台,然后查看源代码就能看到效果了: 五、其他说明 2016年02月13日发现百度站长平台发布了关于星火计划违规的通知【传送门】,看了下原来滥用星火计划也可能坏事。 所以,我们只需要提交原创文章,转载或整理分布的文章最好不要放置这个星火计划META申明。 那我们如何来控制是否放置代码呢?很简单,使用文章自定义栏目即可(上文代码已支持)! ①、自定义栏目 如果不是原创文章,我们可以新增一个自定义栏目,比如 author,值任意或者填写原文地址,而原创文章则不新增这个栏目: ②、回溯修改 接下来我们需要在非原创文章中新增自定义栏目author,值为非空任意值,比如就填写原文地址或数字等,这个随你了。否则,没有这个标签的文章都会当作原创处理! 好了,如上修改后,代码就只会在原创文章页面中插入星火计划的META申明了,不至于违反百度的游戏规则咯!
阅读全文
网站建设

太狗血了!分享一下张戈博客百度收录排名异常的检查记录

关注张戈博客以及喜欢转载张戈博客原创博文的朋友,应该都发现张戈博客现在的百度收录异常惨淡!而且,我还叮嘱哪些喜欢转载我博客博文的朋友,不要转载半个月内发布的文章,因为我以为几个月来百度不收录、排名下降严重的是因为我先后更换主题-->换用360网站卫士-->文章被人快速转载所致。 我发现最蛋疼、最诡异的是,我发布的文章几个月都没被收录!!!然后我也默默的在心里把度娘骂了几个月,尼玛就算被人采集、被人第一时间转载也不至于不收录啊? 可实际有图为证: 基本从5月份开始,发布的文章就不再收录,索引从4800掉到现在1000左右! 期间,我各种怀疑,是不是robots设置有误?是不是外链go跳转对搜索引擎封闭等措施带来惩罚? 直到。。。直到我今天心血来潮,想试下百度的API搜索接口,提供sitemap数据才发现抓取失败。 其实,在之前我就发现所有和sitemap数据提交有关的功能都提示抓取失败!但是尼玛,在百度抓取诊断检测相同的链接又是成功的!! 我以为是百度站长工具出现了暂时性的问题,还反馈过:   直到今天,我还又反馈了一把: 反馈完之后,我反复去看了下这个抓取失败结果: 结果发现都是连接超时错误,DNS解析是没问题的,确实是真实IP,看来不是使用CDN的问题:   继续看了几遍之后,我偶然点开了抓取异常这个工具,一看吓一跳,每天的连接超时居然将近一半! 突然灵光一闪,连接超时,好熟悉的字眼,不是40X,也不是50X。。。没错,就是防火墙拦截! 赶紧登陆阿里云ECS看了下iptables: 看到了有2个网段被禁用,先尝试解封,然后回到百度更新了下sitemap试了下,居然成功了?! 我次奥!真是这个网段被禁封造成的!成功后,我特意再次更新sitemap。并看了下nginx日志,发现还真是220.181.108这个IP段的IP,尼玛,巧就巧在百度抓取诊断工具不在这个网段,可以正常抓取,迷惑了我几个月!!! 事后,我努力的回忆了一把当时为什么禁用了这2个网段。。。 记得,当时是Begin交流群里有个人采集我的整个博客。我当时用了各种办法禁止他采集内容中的盗图,最终他用了搜狗的图片接口来采集我博客的图片。我就不好怎么禁止了,因为搜索引擎来的IP,CDN是自动回源的! 于是,我图省事直接把搜狗的图片接口IP的整个网段都给禁封了!尼玛,当时也没想过百度和搜狗的蜘蛛节点可能在同一个机房了??另外恶狠狠的诅咒下,采集个人博客者木有小JJ!! 几个月的时间,对SEO带了非常严重的影响!要不是运气好,突然想到了这么一桩,这博客的百度SEO就基本废了! 废了也没什么,关键不明不白,谁也不爽吧!此次解除禁封之后,相信不出一个月,应该就会有效果了,至少最新发布的文章是会被收录的,不看别的,就见证下本文一个星期会不会被收录吧!不过之前未收录却被转载走的文章算是废了,发出去虽然推送到了百度,但是百度却没抓取到内容,被人转了之后估计被识别成首次发布的原创了吧! 好了,本文算是一个吐槽贴,也是给一些网站降权、收录异常的朋友一个参考,某些时候,收录异常、网站被K站不一定是你SEO方面的问题,一定记得看看是不是服务器把蜘蛛挡在门外了哟! 后续跟进篇 2015-11-02:再去百度站长平台查看抓取异常和抓取时间,可以发现已复到正常水平:
阅读全文
网站建设

SEO分享:彻底禁止搜索引擎抓取/收录动态页面或指定路径的方法

最近张戈博客收录出现异常,原因并不明朗。我个人猜测存在如下几个直接原因: 更换主题,折腾时带来过多错误页面或间歇性访问错误; 直接线上折腾Nginx缓存和缩略图,可能导致间歇性大姨妈; 新发文章瞬间被转载,甚至是整站被采集,可能导致“降权”; 百度居然开始收录动态页面,而且还在持续抓取动态页面。 对于前三个,已发生的已无法改变,要发生的也无法阻止。对于转载和采集,我也只能在Nginx加入UA黑名单和防盗链机制,略微阻碍一下了,但是实际起不到彻底禁止作用,毕竟整个天朝互联网大环境就是这样一个不好的风气,很多人都不愿意花时间、用心写文章,喜欢不劳而获的转载甚至是篡改抄袭。 对于第四点,真是忍无可忍。我很想对百度说,我忍你很久了。明明robots里面加入了禁止抓取这些动态地址和某些路径,但是蜘蛛依然每天抓取,而且还收录了!收录也没事,关键收录了动态地址居然不收录静态地址了??这是要闹咋样啊? 案例①: 案例②: 案例③: 以上案例中的地址,我通过百度站长平台的robots检验结果都是被禁封的,真不知道百度怎么想的: 所以,我决定用极端手段,彻底禁止这些不听话的蜘蛛抓取那些我不想被收录的页面!robots协议显然还是太温柔了!下面看张戈怎么放大招吧! 一、Nginx 规则 张戈博客用的是 Nginx,所以直接在 server  中新增如下规则即可: Ps:就是将上述代码中“新增规则【开始】”到“新增规则【结束】”内容添加到我们网站的 Nginx 配置-- server 模块 中的 root 指令之后即可。 二、 Apache规则 Apache 测试了半天总是500错误,暂时先放弃了,有时间再来调整! 我自己测试写的规则如下,感兴趣的朋友可以自行测试看看,也许是我环境的问题。 Ps:大概思路和Nginx一致,既匹配了蜘蛛UA,又匹配了禁止关键词的抓取,直接返回403(如何返回404,有知道的朋友请留言告知下,测试成功的朋友也敬请分享一下代码,我实在没时间折腾了。) 三、PHP代码版 使用很简单,将上述PHP代码添加到主题目录下放 functions.php 当中即可。 四、测试效果 测试效果很简单,直接利用百度站长平台的抓取诊断工具即可:   点开看看可以发现真的是返回404: 最后,结合张戈博客之前分享的《SEO技巧:Shell脚本自动提交网站404死链到搜索引擎》即可将这些无用的收录全部删除: 有朋友说我这个是黑帽手法,用户可以访问,而搜索引擎却404,很适合淘宝客网站的商品外链。是什么手法我不清楚,我只知道实用就好!特别是张戈博客那些外链,都是用/go?url=这个路径来跳转的,现在这样处理后,就算搜索引擎不遵循robots硬是要抓取,就只能抓到404了! 好了,本文就分享到这,这种做法和张戈博客之前分享的《SEO分享:彻底禁止搜索引擎收录非首选域名的方法》一样,属于极端优化做法,实施后,我们的索引肯定会大量下降,因为很多垃圾索引或收录都将被删除,但是这是良性的做法,因为优质且不重复的内容才是提高排名的王道!
阅读全文
脚本编程

SEO技巧:Shell脚本自动提交网站404死链到搜索引擎

最近在折腾博客主题,通常来说大多数人认为换主题会影响SEO,实际上只要你把工作都做到位了,是没有任何问题的。比如,换主题后你得仔细检查标题和描述等内容是否发生改变、换主题后是否带来了大量的404页面等。当然,更细微的可能是换主题之后,网站的内链网络也发生了微妙的改变,但是整体的影响较小。 总之,张戈博客这次更换主题基本上没有看到明显的SEO影响,反而出现几个新的关键词。好了,题外话到此结束,下面分享一下从Nginx日志分析并生成能提交到搜索引擎的死链文件的Shell脚本。 一、前因后果 今天在看百度站长平台的抓取频次的时候,发现最近抓取次数有所下滑,并且平均响应时间也有所上升,感觉和最近频繁折腾主题以及访问量增加有所关系: 这个问题倒是好解决,等主题稳定了,页面静态缓存文件也就不会频繁被手工删除,整个网站的抓取响应时间应该就能回到正常水平。 再往下看,却发现网站抓取中出现的404数据也呈上升趋势: 实际上,张戈博客以前是手动提交过死链文件的,但后来没时间也就没去搭理更新了。看来这个工作还得重新做起来,并且实现自动化才行了。 二、Shell脚本 说做就做,简单的写了个 Shell 脚本就搞定了! 脚本名称:网站死链生成脚本 脚本功能:每天定时分析网站前一天的 nginx 日志, 然后提取状态码为404并且UA为百度蜘蛛的抓取路径,并写入到网站根目录下的 death.txt 文件,用于提交百度死链。 脚本代码: 使用说明: ①、脚本适用于每天都做了日志切割的Nginx,没有做的朋友可以参考博客之前的文章: nginx日志切割及7天前的历史日志删除脚本 ②、将代码保存为 shell 脚本,比如 deathlink.sh,然后如下建立任务计划: ③、执行后,将在网站根目录生成死链文件:death.txt,可以浏览器访问看看内容,比如: https://zhang.ge/death.txt ④、前往立即前往提交这个死链文件即可: 这样一来,系统会每天执行脚本,将昨天的百度蜘蛛爬到的404路径保存到网站根目录下的 death.txt,以备百度死链抓取工具前来抓取。 效果截图: 下面贴上这几天死链抓取(百度定时抓取,无需人工干预)及处理情况,效果还是非常明显的: 值得说明的是,这些死链记录是累加的,已保存的死链数据,就算百度蜘蛛不爬了也会继续保存,需要人工清理,不过一般不清理也没啥问题。 注意事项: ①、如果你的 nginx服务 并没有配置相应的 access 日志,请自行在 server 下添加所需网站的 access 日志,否则脚本无法使用; ②、脚本适用的access日志格式如下:   如果和你的不一样,则需要修改脚本中的awk指定的域(即$9、$15以及$7)。 三、其他拓展 ①、如果你之前没有做过 Nginx 日志切割,那么可以直接用下面这个脚本来一次性搞定: ②、其他WEB服务器,比如 Apache 或 IIS,只要参考脚本思路,修改成实际的路径或日志字段,同样可以写一个相同功能的 Shell 或 Batch 脚本,有需求的朋友自己去研究折腾吧! 好了,本文暂时就分享这么多,希望对你有所帮助!
阅读全文
网站建设

百度站长平台robots工具升级后的新发现

百度站长平台robots在11月27日全新升级,主要是新增了2大功能: ①、可分别显示已生效的robots和网站最新的robots,以便站长自行判断是否需要提交更新: ②、新增robots校验功能,从此不再写错规则,把蜘蛛挡在门外: 对此,很多关注互联网的博客网站都已发文分享,而且官方也有具体说明,我就不继续赘述了。 写这篇文章的目的,只要是为了纠正以前的一个robots认知错误!记得张戈博客前段时间分享过一篇《浅谈网站使用七牛云存储之后的robots.txt该如何设置?》,我在文章分享的七牛镜像域名的robots应该如下设置: 本来当时使用百度robots检测也是没问题的: 当这次robots工具升级之后,我使用新增的【规则校验】功能试了下,竟然是如下结果: 纳尼?最后的禁封难道不起作用了??于是,我试着把禁止规则移动到最前面看看效果: 结果,依然全部允许抓取!!这不科学啊! 想了半天,我看只有一个解释了,那就是百度只看Baiduspider标签了,其他的规则它不理睬!难怪之前百度依然会收录我的七牛静态域名: 好吧,上有政策下有对策,对之前的规则稍作修改即可: 再次检测已经没问题了: 接着,为了验证之前的一个疑问,我进一步测试了下: 从图中的结果可以看出,禁止规则的前后位置,并不影响允许抓取的规则,说明不存在前后优先级!从而推翻了张戈博客旧文章关于前后优先级的说法。而真正的优先级应该是:Allow高于Disallow,及【允许规则】高于【禁封规则】。 最后,总结一下。通过本文测试,说明了2个问题: i. 当robots中存在百度蜘蛛标签Baiduspider时,通用规则将失效!虽然还不知道是不是robots升级之后的bug,为了保险起见,站长在写robots的时候,如果存在具体UA规则,记得额外加上禁封规则会比较好! ii. robots规则并不区分前后优先级,而是Allow的优先级大于Disallow(即>)。 好了,这就是本次百度robots工具升级的新发现,希望对你有所帮助! 最新补充:最近测试发现本文所写问题已被百度修复!
阅读全文