reactjs - 为客户端渲染 React 项目做 SEO 的最佳方式

标签 reactjs webpack seo react-router client-side

<分区>

如何处理使用 ReactJS、Webpack、React Router 进行路由和 redux 存储构建的单页应用程序的 SEO?此外,Google、Facebook 爬虫应该能够看到我的网站内容以进行索引。

最佳答案

处理单页应用程序的 SEO 非常棘手。这不仅与 React 相关,而且与所有前端库和框架(angular 等)相关

如果您的大部分信息来自单页应用程序中的 API 调用,那么谷歌机器人实际上不会等待 API 调用完成。现在,由于您的 API 调用未完成,您的内容不会被谷歌机器人读取,并且您的 SEO 也将消失。

我在上面的谷歌控制台中尝试过。我会说一定要试一试。它们显示了机器人如何实际查看您的页面的快照。

因此,根据我个人的经验,我认为最好的解决方案是进行服务器端渲染。您可以通过两种方式执行此操作:-

  1. 要么使用 phantom.js 预呈现您的页面,要么使用内部使用 phantom.js 的 prerender.io 服务。
  2. 从后端渲染你的应用程序的第一次加载,后端我的意思是不要调用 API,而是通过直接查询数据库来渲染信息(这应该只用于第一次加载,之后 react-router 应该将它作为单页很好地接收申请)。

关于reactjs - 为客户端渲染 React 项目做 SEO 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305446/

相关文章:

javascript - React-Native:应用程序尚未注册错误

javascript - React-Native 另一个 VirtualizedList 支持的容器

javascript - 将变量传递给 webpack 以构建不同的包

css - 如何在 PostCSS 中支持内联注释?

.htaccess - 如何编写我的 rewriterule 以便我可以拥有友好的 url

php - 社交媒体 PHP 动态元标签

seo - 谷歌索引如何工作以及站点地图如何工作?

reactjs - 用于服务器端渲染的 create-react-app typescript

webpack - 将 vue 模板预编译为渲染函数

javascript - React 在每次重新渲染时为元素列表中的每个 `null` 添加一个新项目