现如今,SEO规范化在网站建设与运营中显得越发重要。站长也要求程序能够对SEO方面提供更多的支持,如生成静态HTML页面、网站更新自动生成sitemap等。也有一些基于ASP或PHP网站程序并不支持首页静态化,如本博的Zblog程序,其对应的首页文件为default.asp动态文件。究竟动态的index.asp、index.php首页与静态index.html首页在SEO方面有多大区别,ASP程序与PHP程序相比哪个对SEO又更友好?
带着上面需要考察的问题,我们一起来看看客户端与服务器端的简单交互流程,这其中还增加了域名解析(DNS)、虚拟服务器(Virtual host)查找绑定域名等过程,这有助于我们弄清蜘蛛是如何访问网站文件,也有助于日后针对网站问题进行SEO分析。
我们从浏览器中键入域名回车到看到网站内容的这一个过程中,其背后经过了好几个我们所看不到的过程,如下图所示:
1、浏览器中输入域名www.example.com
user-agent:用户代理。服务器日志会记录user-agent字符串,我们将依此来分析访问的浏览器类型与蜘蛛。
2、经DNS Server域名解析后,将域名(www.example.com)映射到对应的IP(192.57.35.2)的虚拟服务器
计算机的网络世界里计算机之间只能用IP地址才能相互识别,域名只是用来帮助人记忆,我们访问的实际还是IP。
3、虚拟服务器查找访问请求的网站
虚拟服务器上面可能绑定着几百上千个网站,根据传递过来的域名信息核对虚拟主机上是否有匹配绑定的域名,然后才能访问。所以,我们在给域名做完解析后,还需要到虚拟主机管理后台绑定域名才能够正常访问。
4、查找网站默认首页文件,如果存在则将text/html类型的内容返回给客户端
实际上,当客户端请求域名时,服务器在返回内容前是先查找了默认首页文件,然后才将内容返回给客户端。本博的默认首页文件为default.asp,下图为httpfox插件查看本博"http://sem80.com"的http信息,服务器端最后返回给客户端的内容(content)实际还是HTML代码。
5、浏览器接收到的text/html内容后渲染显示 --- 整个过程结束
从上面的过程来看,网站程序是否采用ASP或者PHP并没有本质的区别,服务器执行ASP或PHP代码后返回给浏览器的最终还是HTML代码,蜘蛛看到的仍然是HTML代码,对它来说程序是ASP或者PHP并不在乎,它只在乎服务器能够尽早的将HTML返回给它。index.asp、index.php相比静态首页html文件则多了一步服务器端执行生成HTML的过程。
另外,由4我们知道服务器端会多一步查找默认首页文件的步骤,当蜘蛛访问域名或目录时服务器日志里记录爬行的记录就是对应的默认首页文件,如下图:
理论上我们在域名后面加上默认首页文件访问会更快,但在站内URL规范中却不建议在域名后面加上首页默认文件的地址如example.com/index.asp,因为网站以后可能会改版或更换程序,默认首页文件改变以后URL地址也将随之改变,从这个角度来说将不利于域名的权重积累,还会造成一些死链接。
1、首页文件index.html和index.php同时存在影响收录吗?
解答:首先根据上面4中所说,服务器会查找网站的默认首页,如果你的虚拟服务器后台设置的默认首页顺序中index.php优先于index.html,那么最后显示的是最后index.php执行后生成的效果,跟index.html就没什么关系了,蜘蛛也不会看到index.html这个文件,除非你网站上面使用链接指到index.html文件。反之,如果index.html的顺序是优先于index.php则蜘蛛也看不到index.php。所以,将你想要给搜索引擎收录的首页文件的默认首页优先顺序写在最前面,并且避免站内、站外有链接指向另个文件。
如果你想确认蜘蛛到底访问的是那个文件,可以通过服务器日志分析获得。