当前位置:首页 > 技术积累 > 正文内容

AJAX网页如何实现SEO友好

竹林之风8年前 (2016-03-24)技术积累5758

        在WEB网页上应用AJAX技术可以提高用户体验,但是对于SEO却不够友好,因为搜索引擎不会执行JS,而AJAX网页的内容都是动态生成(即网页展示的内容都是在浏览器端通过JS动态生成的)。既要保留AJAX又要利于搜索引擎收录,应该如何做到两者的兼顾呢?

        搜索引擎收录网页,是通过机器蜘蛛抓取网页HTML源代码,并从中解析网页URL或网页内容。因此每个AJAX网页应分配URL,每个AJAX网页中必须含有a超链接标签,使用href属性标记各页面URL,使搜索引擎识别到相应URL。同一个URL,若是蜘蛛抓取应输出完整网页内容,若是Ajax调用则输出相应格式的返回数据。这就是Quickling技术。

        对于单页面应用一般是通过URL中的“#”来区分不同的UI,但搜索引擎不会识别锚点,这种情况可以考虑使用History API,通过如下js调用改变浏览器地址栏,根据网站调用不同而改变成对应URL(注意:只能将当前浏览器URL改为同域URL)。

window.history.pushState(state object, title, url);

        另外,采用PhantomJS可以获取AJAX网页的HTML(包括脚本动态生成的内容),因此在不改变现有AJAX网页的基础上,通过判断是否搜索引擎访问,调用PhantomJS获取Ajax网页HTML内容返回给搜索引擎。PhantomJS官网:http://phantomjs.org/


扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/12.html

标签: ITSEOAjax
分享给朋友:

相关文章

如何解决Cookie和Ajax的跨域问题

如何解决Cookie和Ajax的跨域问题

        Cookie用来在浏览器端保存小文本信息,它的属性Domain和Path用来标识该Cookie在什么域和什么路径下有效。要使Cookie跨域如何...

ASP.NET实现HTTP长轮询(一)——WebForm

ASP.NET实现HTTP长轮询(一)——WebForm

        本文主要描述如何在ASP.NET WebForm中实现长轮询:(1)在ASP.NET WebForm的aspx文件中设置如下指令即可实现异步的ASP.NET WebForm:<%...

云平台多租户系统的设计方案

云平台多租户系统的设计方案

        多租户(Multi Tenancy)是指在一个云平台上,多个不同的客户共用相同的平台和架构但又相互独立并对各自的用户提供服务。多租户相同有4个特...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。