我目前正在我的一个网站项目中使用Vue.js。
返回此 Vue.js SPA 的服务器将无法进行计算或检查,并且只会提供在浏览器中运行 SPA 所需的静态资源,所有计算都将在浏览器中进行。
出于 SEO 的目的,我想确保正确处理错误页面。目前,每个 URL 都返回一个200 OK
并服务于 SPA,这可能会混淆搜索引擎对于实际上应该是无效的页面。如果我无法更改服务器提供的响应,那么告诉用户和搜索引擎该页面无效的正确方法是什么?
对于上下文,SPA 将从另一个域上的 API 获取数据。
我查看了其他类似的问题,但他们通常推荐服务器端检查、专用 404 页面重定向或软 404 页面。服务器端检查和专用 404 页面将是不可能的,而且我已经读到搜索引擎不喜欢软 404 页面。
有什么合适的方法可以解决这个问题吗?
我看过这篇文章,但它已经很老了,只建议一个无索引标签,这仍然使页面在搜索引擎眼中有效,只是不可索引。
您不能在没有任何服务器端计算/渲染的情况下返回 404 错误,因为找不到资源/页面这一事实依赖于某些仅在您的情况下在客户端执行的逻辑。因此,您唯一的选择如下:
如果未找到资源,将用户重定向到预定义的 404 页面(返回正确的 HTTP 状态)
将代理内部无效的路径列入黑名单,或将有效路径列入白名单,并代理到所有其他路径上的 404 页面
使用您的有效页面/路线手动创建站点地图
如果您的项目增长或您有动态路由,这些选项都不是最佳选择,但这些都是客户端渲染的限制。因此,我认为您的问题没有很好的答案,因为这是众所周知的客户端渲染限制,也是关心 SEO 的项目更喜欢服务器端渲染的主要原因之一。
从 SEO 的角度来看:只要您将所有有效页面添加到站点地图,并且不链接(锚标记)到任何其他页面上的无效页面,搜索引擎爬虫将永远不会抓取或索引这些页面。
但是,如果您真的很关心 SEO 并且有一个动态应用程序,其中包含无法手动添加到站点地图的成百上千个动态链接,我建议您切换到像 Nuxt.js 或 Next.js 这样的生产框架,因为它们提供您正在寻找的内容以及许多其他开箱即用的 SEO 功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句