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

IT技术 reactjs single-page-application meta-tags
2022-07-15 00:40:03

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

1个回答

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

对于每条路线,您要设置不同的标记,例如标题、、、descriptionOG image其他此类内容。

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

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

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

这里有一个演示回购: 回购链接

希望这有帮助!