网站建设

WordPress百度自动推送JS优化,规避错误、重复推送问题

导读:关注SEO、关注收录的站长,应该都知道百度搜索提供了一段自动推送的js代码,可将任意网页推送到搜索引擎,加快收录。但是,这段代码并不是简单的增加到网页中万事大吉了!百度埋坑技术,你我都懂的!本文主要分享埋坑之自动推送JS代码的优化... 一、问题描述 百度近些年推出过多种收录推送工具,比如结构化数据插件、主动推送、自动推送js等等。每一次张戈都会对这些东西进行优化处理,主要是因为这些工具都会出现重复推送的弊病!虽然百度并没有申明重复推送会带来什么副作用。但根据我个人的经验,同一篇文章,如果重复推送,可能会让百度蜘蛛认为你这文章更新频繁,不稳定从而进入收录沙盒短期内不会展示! 这一点,在以往的文章中我都反复提出过: BaiduSubmit:百度WordPress结构化数据插件(改进版) WordPress百度链接主动提交插件:Baidu-links-submit优化版 WordPress发布文章主动推送到百度,加快收录保护原创 对于百度最新推出的自动推送JS代码,通过站长平台的反馈来看,依然存在重复推送的坑: Ps:看到这个回复,其实我是打心底鄙视了百度一把!这js只需要添加到新页面?那新页面收录之后,我们再去删除js代码?那我还要经常关注页面是不是被收录?那几万个页面的网站还得靠工具检测咯? 重复推送到底有没有副作用,百度并没有给我明确的答复。不过管理员明确回复,无需添加主动推送,就算是没有副作用,已收录的页面也添加自动推送js代码,也会浪费每天的可推送额度( 当天剩余的可推送url条数)! 另外,我们知道,很多时候多个url地址其实是同一个页面内容,比如: 而且,当我们给页面带上查询参数,显示的依然是同一个页面内容,但是Url地址变了!!那么自动推送js获取到的Url也变了!它就会将这个 Url 推送到搜索引擎!实际上,这些相同内容的页面我们并不希望重复抓取和收录! 二、问题解决 根据上面的分析,这类自动推送js代码就不能整站添加,而是只需添加到未收录且正规Url的页面。 比如: https://zhang.ge/5093.html 百度已收录,这种页面不添加 https://zhang.ge/5096.html 百度未收录,这种页面要添加 https://zhang.ge/5096.html?from_weixin 百度未收录,但属于重复内容页面,所以不添加 已收录、未收录的判断,关注张戈博客的朋友肯定记得我之前在博客分享过百度是否收录的插件和代码吧!而对于是否是正规页面,也只需要添加一个简单判断。 如上PHP代码,添加到主题functions.php即可。当页面未被百度收录,且被访问的页面地址等于WordPress唯一页面地址时,将会输出百度自动推送js代码,不符合条件的页面则不会输出。 2016年5月31日更新说明:有朋友反馈收录判断不准确,花时间DEBUG看了下,发现抓取到的百度搜索结果可能是空白内容等错误内容,导致判断为已收录! 所以,上述代码加入百度搜索结果必要关键词【百度为您找到相关结果】的条件判断,目前来看应该比较准确了,已在使用的朋友请更新到最新代码。 三、其他说明 和以前分享的百度是否收录代码一样的工作原理,文章加载时,会在百度搜索当前文章的url地址,如果百度未收录,查询结果中会匹配到【没有找到该URL。您可以直接访问】或【很抱歉,没有找到与】文字内容。当代码确认页面已收录时,将会在文章中添加一个值为1的 baidu_record 自定义栏目。 只有当 baidu_record 这个自定义栏目的值不存在时,代码才会去百度查询收录结果。并且在确认未收录之后,才会在网页 footer 中输出自动推送js代码。 这样就规避了已收录页面重复推送和百度实时查询导致加载慢两个问题! 另外,其实还有另一个值得关注的坑:百度统计代码也会自动推送,是否也存在本文提到的问题,就不得而知了。 最后,顺便说明一下,360搜索也推出了主动收录js代码,喜欢折腾的朋友可以参考本文进行优化。 效果补充:实施后,自动推送数量以从200+降为20+,说明已收录的文章不会重复推送了。
阅读全文
网站建设

浅析网站更换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比较靠谱。 好了,浅析到此告一段落,望你能有所收获!
阅读全文
网站建设

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

关注张戈博客以及喜欢转载张戈博客原创博文的朋友,应该都发现张戈博客现在的百度收录异常惨淡!而且,我还叮嘱哪些喜欢转载我博客博文的朋友,不要转载半个月内发布的文章,因为我以为几个月来百度不收录、排名下降严重的是因为我先后更换主题-->换用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分享:彻底禁止搜索引擎收录非首选域名的方法》一样,属于极端优化做法,实施后,我们的索引肯定会大量下降,因为很多垃圾索引或收录都将被删除,但是这是良性的做法,因为优质且不重复的内容才是提高排名的王道!
阅读全文
东拉西扯

吐槽:想和谷歌比肩,百度仍须努力

今天,群里谈到了百度浏览器翻墙,于是顺便进入了谷歌站长工具。顺手将中国博客联盟这个网站给添加上了(谷歌被墙之后,我差不多也是放弃了的状态...)。 添加了zgboke.com,并成功验证后,收到了一份邮件,让我在欣赏谷歌的同时,再次感叹百度的不足!  我蹩脚的翻译一下: 现在设置你的网站管理工具: 1 添加你的网站的所有版本 确认你已添加带www和不带www的所有版本. 另外,如果你的网站还用了https协议,那么也请加上这些版本。  新增网站 2 选择你的首选版本(域名) 选择你希望在谷歌搜索中显示的首选域名,带www还是不带www  设置首选域名 3 设置面向的国家(主要受众人群所在国家) 设置你的网站的主要受众人群所在的国家。  选择国家 4 设置共享管理帐号 如果你想其他人查看你的网站报告,你可以添加不同的访问级别。  管理网站帐号 5 提交一个sitemap文件 这有助于谷歌更好地了解如何抓取你的网站。  提交sitemap 对于这份温馨提示,我只想说说我最欣赏的第2、5点: ①、对于第2点:设置首选域名,这是国内任何一家搜索引擎都不具备的功能! 熟悉张戈博客的朋友都知道,为了让百度删除张戈博客不带www的收录,真是大费周章!明明别人提交网站的时候就做好了301跳转了,百度还是毅然决然的收录301跳转之前的网站,而且给予更好的排名。真是不可理喻! 虽然我不懂爬虫技术,但是我很确定的是,任何爬虫要识别301还是非常容易的,一个http status就能取得了!不是百度不能识别301,而是百度未设置快速响应机制,效率低下! 又比如网站改版功能,想当初张戈博客的域名从marsge.cn更换到zhang.ge的时候,百度用了3个月才完全切换过来,谷歌仅用了一个晚上!这就是区别!!这就是对比!!! 我认为,一个优秀的搜索引擎,是不会让站长们在这种单方面的细节处理上过多的浪费精力的!如果都像谷歌这样可以直接设置首选域名,站长们不知道可以省下多少不必要的精力呢! ②、对于第5点,提交sitemap这种基础功能,百度(还有搜狗)居然当成是一种特权,需要主动邀请!也就是大部分网站都不能自行提交sitemap.xml。 虽然张戈博客已经被邀请了,但是我依然吐槽一下,这种基础的抓取优化功能,真的没必要设置门槛!而且,sitemap可以为蜘蛛提供正确的爬行路径,更是节省了蜘蛛爬站的时间,同时也提高了抓取效率! 如果要细细对比的话,百度真的要被吐槽的一无是处了,比如搜索结果不够精准、推广内容泛滥等。这些优劣对比相信每个人心里都有一杆秤,我就不罗嗦了。 当然,我也要吐槽一下谷歌的搜索结果是从当前窗口打开,而不是新窗口打开的机制。不是很符合我个人的习惯,只好多多利用第三方浏览器的拖拽打开了。 东拉西扯的就说这么多,希望百度能努力改善这些细节,越做越好吧!
阅读全文