我正在创建一个完整的 ReactJS 应用程序(没有 Next.JS,因此它是完整的客户端渲染),并且我面临一些有关 SEO 和动态元标记的问题(或至少是问题)。
ReactJS 的基础是将 HTML 注入到一个 HTML 页面中包含的根元素中
index.html
。
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="My Description"/>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
使用像
react-helmet
这样的库时,元数据会在页面首次渲染后复制。因此,当有人访问我的网页时,他应该会看到新的元数据。
<meta name="description" content="My NEW Description"/>
但是,我认为 Google、Facebook、Twitter 不会那样工作。只有运行所有脚本后才能看到“我的新描述”。
我认为他们只看初始的
index.html
..这也证实了当我们使用开放图谱检查器时,他们只看到初始的元标签。
所以我的问题基本上是:
react-helmet
真的对SEO有帮助吗ReactJS 被大量使用,所以我猜谷歌想出了一种方法来索引这些网站。
在相当长的一段时间内,谷歌注册了所有客户端渲染,包括使用 React-helmet 更改元标签。 您可以在 https://search.google.com/search-console/about 检查您的网站,并确保所有标题都正常显示