Reactjs wordpress 为 SEO 预渲染现有客户端应用程序

标签 reactjs wordpress seo

我在我的项目中使用 React,我在客户端预渲染方面遇到了问题。
更具体地说,有必要配置 SEO
这是使用 react-routes 预渲染现有 reactjs 应用程序的最轻松的方式

Some examples I have researched:

  1. Gatsby.js - https://www.gatsbyjs.org/docs/porting-from-create-react-app-to-gatsby/
  2. Next.js - https://nextjs.org/docs#custom-document
  3. Netlify - https://dev.to/joelvarty/prerender-your-spa-using-netlify-for-better-seo-3h87
  4. React-snap - https://web.dev/prerender-with-react-snap/
  5. Prerender.io - https://prerender.io/
  6. Keen’s Server Side Rendered - https://medium.com/keen-studio/keens-server-side-rendered-react-wordpress-rest-api-boilerplate-bb58edb7cc0a
  7. Razzle - https://reactresources.com/topics/razzle
  8. React Helmet - https://github.com/nfl/react-helmet


任何人都可以建议我应该选择哪个选项是最无痛的。
我有 headless wordpress 作为后端,reactjs 客户端作为前端。

或者除了预渲染之外还有其他更快的选择吗?

谢谢。

最佳答案

IMO,如果您想保持控制而不将代码库变成黑盒并选择自己的堆栈,那么您真的不需要使用框架来实现 SSR。

我使用 Node Express 创建了一些样板。它支持:

  • SSR在服务器端使用StaticRouter,在客户端使用BrowserRouter
  • ES6 webpack 转译 + 客户端和服务器热重载和浏览器自动更新
  • Redux、数据预加载和客户端存储水化

    https://github.com/kimgysen/isomorphic-react-setup

  • 上次我运行它时,我注意到我没有将 favIcon 保存在公共(public)文件夹中,也许有一些小错误我会很快修复(我已经在我的项目中修复了它们但没有更新这个 repo,因为没有人无论如何都要看看它(大声笑!)),但是这里发生的事情并不难理解。

    我在几个小时内用它创建了一些基本的 SSR 网站。
    我喜欢 redux-observable 在呈现内容之前启动服务器 ajax 调用(使用 forkJoin),但这不包含在样板中(自从我第一次上传以来,我实际上没有支持它)。

    但是就设置而言,我真的认为为此使用框架并没有什么意义,自己做真的没有那么痛苦/困难。
    我特别喜欢的好处是您不依赖于框架的范围和依赖项。您不会遇到诸如“框架将支持此功能或在即将发布的版本之一中修复该错误”之类的问题。

    虽然最终归结为个人选择。所以我不想降级这些框架。

    注意:Redux 实现预渲染的方式很简单,就是在返回给客户端的 html 中的 window 对象中添加 Redux 存储(状态)对象。
    然后在客户端,它用这些对象初始化存储。
    非常简单,即使您决定不实现任何其他 SSR 功能,这也很容易实现。

    关于Reactjs wordpress 为 SEO 预渲染现有客户端应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59314074/

    相关文章:

    javascript - 是否可以在同一页面上运行两个不同版本的 ReactJS?

    javascript - 从数组中删除不需要的符号

    css - Wordpress CSS/Less 不工作

    php - 在不影响搜索结果的情况下使 $_GET 搜索 URL(包含术语)SEO 安全?

    http - HTTPS 页面上的 Magento HTTP Canonical 标签

    asp.net-mvc - 加载更多按钮和 seo

    reactjs - 汇总,TypeScript,Electron,React设置

    javascript - JSX for...in 循环

    javascript - jQuery + PHP + JavaScript + WordPress : HTML Button call on click

    wordpress - fontawesome 图标包在没有 pro 的情况下非法使用?