是否可以使用仅限客户端的单页应用程序实现 SEO

Is it possible to implement SEO with client-only Single Page Application?

本文关键字:单页 应用程序 实现 SEO 客户端 可以使 是否      更新时间:2023-09-26

>问题: 是否可以使用仅限客户端的单页应用程序实现SEO?

主题:我正在实现一个不基于特定服务器体系结构的 REST 应用程序。所以我必须在不使用"服务器端静态渲染/快照"技术的情况下实现 SEO......有没有办法只使用JavaScript + HTML5来做到这一点?

总结:JavaScript & HTML5 - 没有服务器端 = SEO可能吗?

这里是"此应用程序的概念代码">

<head>
    <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script src="myApp.js"></script>
</head>
<body>
    <div id='head'></div>
    <!-- extra html code here -->
    <div id='content'></div>
    <!-- extra html code here -->
    <div id='footer'></div>
    <script type="text/javascript">
        var page=myApp.getPage(); // get current page name from url fragment
        $("#head").load("pages/"+page+"-head.html"); // load html for head div
        $("#content").load("pages/"+page+"-content.html"); // load html for content div
        $("#footer").load("pages/"+page+"-footer.html"); // load html for footer div
        myApp.loadContent(); // get contents from REST APIs and load inside html
    </script>
</body>

编辑:我不是在问谷歌爬虫是否可以渲染js代码,但是:是否有办法在我的上下文中为大多数搜索引擎实现SEO。然而,经过一些重新搜索,实际上没有任何技术可以做到这一点(除了一些为您创建 html 快照的预渲染企业服务(。似乎唯一的解决方案ATM正在等待将来对搜索引擎爬虫的更好js支持。

没有特定的服务器脚本这一事实并不重要。搜索引擎爬虫是一个客户端,重要的是它获得的内容,无论该内容是静态的还是动态生成的。

也就是说,如果你的页面完全是用JavaScript构建的,那肯定很重要。如果它是一个通过JavaScript显示为不同页面的大页面,搜索引擎可能仍将其索引为单个页面,或者根本不索引。

谷歌现在支持JavaScript,但它仍然是实验性的,大多数其他爬虫仍然不支持它。一般来说,最好在浏览器中禁用 JavaScript 并加载页面,然后您将看到爬虫看到的内容。

当然,这是可能的。

谷歌搜索引擎优化机器人(googlebot(可以运行你的JS并"看到"页面,因为它应该在现代浏览器上,所以他们可以扫描你的页面的DOM,无论它是如何创建的(服务器端或客户端(。如果您的JS是标准的,搜索引擎将能够以用户身份读取您的页面。

因此,您可以使用所有SEO知识来构建jquery .load((方法。

来源: http://googlewebmastercentral.blogspot.ca/2014/05/understanding-web-pages-better.html