SPA React 应用程序的动态 OpenGraph 标签

Geo*_*rge 0 meta-tags single-page-application reactjs

我想opengraph为我的create-react-app网站添加一些标签。问题是,当我动态添加它们时,Helmet它们没有被正确解析。有什么好的解决方法吗?

har*_*mar 7

您正在管理一个使用React和构建的 Web 应用程序,您的应用程序上可能有许多路由,例如一个/about页面,或者/post/:id每个帖子具有不同内容的页面。

对于每条路线,您需要设置不同的标记,例如标题、descriptionOG image等。

您可能已经使用 React Helmet 之类的东西来管理 React 代码中的元标记。但问题是,当页面或帖子与Facebook或共享时Twitter,抓取工具不会在您的网站上运行 JavaScript。他们只是从初始包中获取元标记。

这是不行的,因为您显然不希望整个应用程序的每个页面都具有相同的元标记。因此,您需要动态设置元标记server-side,以便显示正确的预览。

这是一篇文章,它为您提供了实现相同目标的分步过程: 链接

这里有一个演示 仓库Repo Link

希望这是有帮助的!

  • 当部署到没有 Node.js 的 IIS 服务器时,如何做到这一点? (2认同)