当前位置: 首页 > 图文教程 > 网站运营 > 网站优化 > 无法通过Google网站管理验证的解决

网站优化
刘大川:16个提高关键词排名的方法
怎样优化不同国家排名 优化英文网站
搜索引擎优先收录 评价网页重要性九因素
优化策划营销思维:搜索引擎优化服务过程
让搜索引擎认得你 SEO元标记优化的认知
百度“凤巢”来袭,近期算法大规模调整
SEO讲座:资深人士zac讲网编SEO
陈设世家:怎么才能真正的提高谷歌PR值
Asp.Net程序员与SEO - 关注Sitemap
深度解析 搜索引擎优化中的七个潜规则
搜索引擎优化的几点动态 也许你没有注意
新手站长慎用:SEO优化七条秘籍!
搜索引擎真的遵守robots.txt协议吗?
如何在稳定排名的前提下对网站进行改版
稳定搜索引擎排名注意的问题 注意5个方面
时刻提防:一些关于搜索引擎优化方面错误
阳帆:友情链接的四项基本原则
网站改版网站优化方案 架构关键词和图片
Asp.Net程序员与SEO - .Net基于SEO友好数据分页
一句话SEO优化:网站排名的49个影响因素

网站优化 中的 无法通过Google网站管理验证的解决


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 68 ::
收藏到网摘: n/a

    Google网站管理员工具的验证方式有两种,一个是通过html文件,或一种是通过meta标签。通常情况下,这两个方式直接就可以通过验证了。但是也有不同的情况,就是今天我遇到的情况!

    我按Google的说明,上传了google的html文件到网站的跟目录,但就是无法通过验证,报错是:我们检测到您的 404(找不到文件)错误页在标头中返回了 200 (成功) 状态。

    从说明上来看,他应该是也查我网站的404页面,而我的404页面是返回了200,而不是404。于是我随便打了一下一个错误的页面,发现,返回确实是200。那么我是不是把这个404页面加一个header 404就可以了呢? 是的:

    只在要404页面的头部加上:header("HTTP/1.0 404 Not Found");就可以了!

    这样,验证就通过了! 但是,我这个404页面其实不是单纯的404页面,我还想让Google收录呢,而如果返回404,Google就不收录了。不能为了验证这个,我就不作200了,那么怎么呢?
我想了一下,Google如果过来访问我的404,他的user agent一定不一样,于是,我在服务器端把所有访问的user agent 都记录一下,发现了Google在作这个验证时,共访问我404页面3次,而且三次的uset agent 都是不一样的,分别是以下:

Google-Sitemaps/1.0
Google-Site-Verification/1.0
Mozilla/3.0 (compatible; Indy Library)

    正常的Google爬虫是不是用这三个user agent的,从字面上来看,一个是google验证的,一个是google sitemap的,另一个应该是一个开源的什么东西!

    所以,在404的开头如果判断一下user agent,如果是三个,就返回404,否则全是200就行了:

<?php
$googleArray = array(
 'Google-Sitemaps/1.0',
 'Google-Site-Verification/1.0',
 'Mozilla/3.0 (compatible; Indy Library)'
);

if(in_array($_SERVER['HTTP_USER_AGENT'], $googleArray)){
 header("HTTP/1.0 404 Not Found");
} else{
 header("HTTP/1.0 200 OK");
}
?>

    OK,这样,验证就通过了!但这样,说实在的不太好,404就应该是返回404,但有时有别的用处,也是没有办法的事! 只能这样了!