摘要: 对于那些在线预订类网站而言,很多时候在SEO上会有一个比较常见的问题 1)蜘蛛无法穿越搜索功能 2)搜索结果页URL过长过参数化。这两个问题就会最终影响网站整体的收录量,而对于线
对于那些在线预订类网站而言,很多时候在SEO上会有一个比较常见的问题 1)蜘蛛无法穿越搜索功能 2)搜索结果页URL过长过参数化。这两个问题就会最终影响网站整体的收录量,而对于线上预订类网站收录量的多寡决定你在排名上的地位。因此,网站需要更多的收录量来保证这个行业里的SEO排名度。
这点,携程做的还是比较不错的。如果你通过携程的搜索框来找北京去宁波的机票,你就会来到下面的页面。
http://flights.ctrip.com/Domestic/ShowFareFirst.aspx?DCity1=BJS&ACity1=NGB&DCityName1=%u5317%u4EAC&ACityName1=%u5B81%u6CE2&DDate1=2011-12-7&ClassType=&PassengerQuantity=1&SendTicketCity=%u5317%u4EAC&Airline=&PassengerType=ADU&FlightSearchType=S&
很显然,这样的页面是动态化的,数据直接从数据库里填充到搜索结果模板页面上,而这样的页面理论上搜索引擎是抓不到的。原因很简单,蜘蛛不会做人为的站内搜索。所以,要想蜘蛛收录这样的页面,我们必须做开放式的入口甚至需要更简短或是伪静态化的页面。携程就有了这样的页面:http://flights.ctrip.com/booking/BJS-NGB-day-1.html
这个(伪)静态页面是很容易被收录的(下图)
携程这样的做的目的是很清楚的,如果只是提供站内框搜索是很难扩大网站收录量的。我们可以通过制造相同内容的伪静态页面增强蜘蛛抓取的机会,而且还可以在网站上提供给用户一个结果入口。虽然订票系统参数很多,排列组合也很多,但是我们也是可以通过URL里参数变化来控制调整内容的。就如同上一个例子,http://flights.ctrip.com/booking/BJS-NGB-day-1.html 中的1就是显示明天的机票为开始,2的话就是后天的机票为开始,以此类推这样的伪静态页面就可以有很多不同的页面。
站内搜索强大与否也是需要考虑网站搜索引擎友好度的,如果只是为了功能而设计会忽略对于蜘蛛的抓取问题。我觉得这是很多小型线上预订类网站(特别是酒店预订类)要主要学习的地方。此外,可能有人会问,这是不是会产生复制页的问题?理论上来讲有这个风险,但是这个问题是可以被简单地解决的,你可以通过robots来禁掉符合动态结构的URL,或是可以在动态页面上增加canonical命令等等。但是有一点要注意就是在伪静态页面上要合理使用静态和动态页面URL的融合,因为在携程上我发现这点他们有试图在做,但可能是由于某些即时数据传导的问题,选用的方法没有把伪静态URL放进去。但总体来讲还算是不错的。