朗创网络营销,上海专业关键词排名优化, 上海网站优化服务公司,公司使命助力中小企业网络营销! 网站优化联系电话:13683819778

单页应用程序SEO友好吗

加入时间:2018-08-22 17:14:11文章来源:朗创网络营销
一个臭名昭著的单页应用程序(斯帕)开发区是SEO。根据您的请求,搜索引擎爬过客户提供的内容或者完全正常,只要它是同步的,或者根本不是很好。

由于所有这些矛盾的建议引起的混乱,我经常看到我的VUE SPA是否适合SEO的问题。从Vu.js开发者脸谱网集团、VUE.JS论坛和R/VUEJS到ReD湖北做网站DIT。

在这篇文章中,我们将挑战流行的想法,做一些基本的测试,并尝试总结一些明智的建议,建立一个搜索引擎优化的SPA。

单页应用程序的标准实现为浏览器提供了没有任何有意义内容的页面外壳,而是通过使用Ajax按需从服务器加载内容,然后通过JavaScript将其添加到页面。

虽然这种体系结构适合于人类用户浏览浏览器中的页面,但是搜索引擎爬虫呢抓取工具可以运行JavaScript吗如果是这样,他们会等待AJAX调用在抓取页面之前完成吗

知道这一点很重要,因为它可以确定网站的内容是否可以被搜索引擎索引,以及它的内容有多少。

由于谷歌是世界领先的搜索引擎,我们的研究应该专注于谷歌BOT,搜索引擎爬虫。

在互联网出版的早期,Google BooT将只获取页面中提供的静态HTML。然而,在2014,Googlebot宣布它现在将尝试在开始抓取之前发布JavaScript。

为了帮助调试渲染JavaScript修改页面的任何问题,谷歌为Web管理员提供了一个谷歌爬虫,它显示了谷歌BoT在特定网站上看到的快照。

一个常见的误解是Google并没有捕获异步JavaScript。本文已经做了很好的销毁它的工作。TLDR;Googlebot将至少等待20秒来完成异步调用。

典型的Vu.JS SPA示例是VU-HealeNechnology克隆2。这是由VUE团队提供的开源项目,以演示VUE的完整功能和有效设计模式。

我将应用程序部署到HeloCu实例,并通过谷歌作为FETCH来运行。在下面的图中,左边的屏幕捕获显示了谷歌BoT如何查看它,右边的屏幕捕获显示了用户将如何看到它。它们看起来完全相同。

VUE HKECR新闻克隆2的一个关键特性是服务器端渲染(SSR)。这意味着,与更基本的SPA不同,每个页面的内容都呈现在服务器上,并在每次加载页面时提供给浏览器,就好像它是静态HTML一样。

然而,我们试图理解的是GoogliBooT如何查看客户端提供的内容。为此,我关闭了SSR并再次运行了测试:

即使您只提供客户端渲染,Googlebot也可以轻松地查看内容。我还等了几天看看谷歌是否已经对应用程序进行了索引。

虽然这个测试似乎满足了客户所关心的任何事情,但是有一些原因你不应该对它有信心:

Googlebot没有渲染VueHealeNebug的问题。但是我们不应该认为它可以使所有的JavaScript完美。谷歌的2014个关于JavaScript渲染的公告清楚地表明没有保证,尽管大多数开发者似乎忽略了它。

与浏览器一样,谷歌BOTS必须有一个JavaScript引擎,它包含已经实现的Web标准和ES函数的特定子集,以及它们实现的特定特性。

根据谷歌开发者Adi Osmani和Rob Dodson(2017年11月发布)的视频,谷歌BOT目前在Chrome 41上有很多新API,因为41已经发布,如果你使用任何人,谷歌BOT就不太可能渲染和索引你的页面。

您可能会认为这是一个微不足道的问题,因为不管怎样,您需要转换或填充旧浏览器的功能。但关键在于,您不应该盲目地相信每个搜索爬虫都在正确运行您的应用程序,正如您不会盲目相信应用程序一样。每个浏览器都正确运行。

别忘了SEO中的O代表了优化。仅仅把搜索引擎作为索引是不够的;我们希望我们的网站也能很好地排名。因为谷歌告诉我们页面是如何被看到的,而不是页面是如何与竞争对手相比较的。

关于SEO和反应的一个有趣的评论:网络爬虫比SEO专家Barry Adams更聪明。在搜索引擎排名SPA的主题上,他说:

当你在没有服务器端渲染的情况下使用反应时,爬虫会停在第一页上,因为它没有看到任何超链接。这使得爬行过程非常缓慢和低效。这就是为什么在谷歌上构建的站点(和类似的JavaScript平台)在网站上的表现比那些主要为爬虫提供纯HTML的站点更糟糕。纯HTML站点可以高效地爬行,新的和变化的内容将被更快地抓取和索引,而谷歌可以更好地评估它们。

最重要的是,如果SEO是关键的,你不能依赖SPA客户端渲染,并且你必须确保你的页面包含内容。

但这并不意味着你需要放弃SPA架构。有两种技术,即服务器端渲染和预渲染,所有这些技术都能达到预期的效果。

服务器端渲染(SSR)是Web服务器将页面呈现为服务器请求/响应周期的一部分。在Vu.js和其他类似框架的情况下,这是通过在虚拟DOM上执行应用程序来完成的。

将虚拟DOM的状态转换为HTML字符串,然后在发送到客户端之前注入到页面中,当页面到达浏览器时,JavaScript应用程序将无缝地安装在现有的内容上。

SSR保证您的页面将是爬虫友好的,因为无论爬行器如何运行JavaScript,甚至它是否运行JavaScript,页面的内容都是完整的。

如果您想在VUE.JS SPA中实现服务器端呈现,请从官方指南:VUE.JS服务器端渲染指南开始。我还编写了使用LaaLVE和VUE实现SSR的指南。JS:使用拉拉维尔和VUE。用于服务器端渲染的JS 2.5。

如果上述原因之一无法使用SSR,则有另一种方式:预渲染。使用此方法,可以使用无头浏览器在开发环境中运行应用程序,获取页面输出的快照,并使用此快照替换具有服务器响应的HTML文件。

它与SSR几乎是相同的概念,但它是在部署之前完成的,而不是在实时服务器上完成的。它通常使用像Chrome之类的无头浏览器来执行,并且可以与Webpack、GULP等结合到构建过程中。

如果你热衷于在VUE中进行预渲染。JS应用程序,我在这个博客上写了一个指南:预渲染VUE。JS App(带节点或Laravel)

许多开发者认为谷歌的2014个关于JavaScript渲染的宣告是SEO对SEO内容关注的结束。事实上,没有保证谷歌BOT将正确地渲染页面,如果确实如此,它可能仍然排名低于竞争站点上静态HTML页面的页面。



seo网站优化 朗创网络营销 版权信息
联系我们:13683819778 微信:13683819778
销售部:手机:13683819778
上海SEO外包 上海网站优化 网站优化外包 
总部地址:郑州市北环路索凌路六合之家5号楼 备案号:豫ICP1403250号-1


朗创联系电话