您的位置:首页 > 运维架构 > 网站架构

如何优化单页面网站搜索引擎?

2014-02-27 22:42 375 查看
当Google和其他搜索引擎索引网站的时候,他们并不执行JavaScript,这似乎是在向单页网站靠拢,其中许多单页网站都依靠JavaScript——与传统网站相比存在明显的劣势。

  然而,单页网站实际上和传统的网站相比,在搜索引擎优化(SEO)上的确是有优势的,因为Google和其它网站已经公认了这方面的挑战。他们已经为单页网站创建了一个机制——不仅将他们的动态页面编入索引,还专门针对网络爬虫来优化网站页面。



  在本文中,我们将主要关注Google,不过其它大型搜索引擎如Yahoo!和Bing都支持相同的机制。

  Google是如何抓取单页网站的

  当Google索引一个传统网站的时候,它的网络爬虫(称之为Googlebot)首先会扫描并检索顶层URL内容。一旦这一步骤完成,网络爬虫就会跟踪网页上的所有链接,同时还会给那些网页编写索引。接着就是重复性步骤——继续跟踪后续网页,最终会给此网页上和相关领域内的所有内容编写索引。



  当Google试图检索一个单页网站的时候,它所看到的只是一个单一的HTML空容器(通常情况下是一个空的div或body tag),所以根本没有东西可以检索,也没有链接可以抓取,更没办法索引相应的网站。

  不过这还没有结束,值得庆幸的是,Google和其它搜索引擎已经意识到单页网站的重要性,同时为开发者提供工具——为网络爬虫提供搜索信息,这可能是比传统网站优越的地方。

  怎样制作一个可抓取的单页网站

  制作一个可抓取的单页网站的关键第一步就是必须意识到:如果一个网络爬虫或者一个使用Web浏览器的用户提出需求的时候,网站的服务器必须给出相应的回复。对于一般的访客只需要给出正常的回复即可;但是对于一个网络爬虫,就需要回到优化过的网页,向网络爬虫展示访客想要知道的内容,同时还要将格式设置为网络爬虫轻易就能够读出的格式。



  那么一个优化过后、防网络爬虫的网站主页看上去像什么样子呢?有可能网站Logo或者其它的主要图片会出现在搜索结果里,一些SEO优化的文本可以解释你所搜索的网站是做什么的,当然了,Google最好是把网页上的HTML链接编入检索比较好。

  不过网页上没有任何CSS样式或复杂的HTML结构,也没有任何JavaScript,或者是我们不希望谷歌索引连接到网站区域。下图所显示的就是浏览器(左)和网络爬虫(右)看的网页的情形。



  为网络爬虫自定义内容

  通常,单页网站链接到不同的内容会使用符号(# !)。另外,这些链接在对待访客和网络爬虫的时候不会遵循同样的方式。

  案例:在单页网站上链接到用户页面看上去就像/index.htm#!page=user:id,123,网络爬虫可能会看到#!并寻找带有URL /index.htm?_escaped_fragment_=page=user:id,123的网页。由于网络爬虫会遵循这一模式并寻找URL,所以开发者可以给服务器编写程序以回复带有HTML快照的页面需求,这在浏览器里也可以很正常的通过JavaScript来进行渲染。



  这些快照可能会被Google索引,但是在Google搜索结果里的任何人点击清单都将被送往/index.htm#!page=user:id,123。在单页网站里JavaScript也将从那里开始接管并按照计划渲染网页。这为单页网站开发者提供了专门为谷歌和专门为用户进行调整网站的机会,而不必编写访客易读的、网络爬虫易于理解的文本,页面可以为访客和爬虫进行优化,除此之外不用担心其它内容。

  网络爬虫通过网站的路径是可以被控制的,开发者可以指导访客从Google搜索结果到一个指定的主页面。这可能需要在开发过程里花费更多的工作,但是在搜索结果位置和客户保留方面可以得到巨大的回报。

  检测谷歌的网络爬虫

  检测网络爬虫这可能需要一些命令行,但使用Chrome Developer Tools就能将这一检测变得相当容易,只要点击按钮、检查工具框:





打开Chrome Developer Tools,点击Google Toolbar右边的带有三条水平线的按钮,然后从菜单中选择Tools,再点击Developer Tools。
在屏幕右下角是一个齿轮图标:点击进去就能看到一些高级开发者选项,例如禁用缓存,打开XMLHttpRequest记录。
第二个标签标记为Overrides,点击User Agent标签旁边的复选框,再从Chrome到Firefox、IE、iPads的下拉菜单里选择任何数量的用户代理,Googlebot的代理不是默认选项。为了使用它,选择其他复制并粘贴用户代理字符串到输入框里。
现在,该选项卡本身是当作Googlebot的,当我们在网站上打开任何URL的时候,应该能看到网络爬虫页面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: