我使用react-helmet为我的每个页面提供一个唯一的标题和对我的React应用程序的描述。当我使用开发工具检查页面时,标题在浏览器选项卡中正确呈现,标题和描述也正确呈现。然而,谷歌在搜索结果中既没有显示标题,也没有显示描述。我做错了什么?
我已经考虑过使用prerender.io,但由于我的网站没有后端(目前它只是一个营销网站),我不确定这是一个好的解决方案。我删除了一些元素,但我的代码看起来就是这样的……
import React, {Component} from 'react';
import {Helmet} from "react-helmet";
class Home extends Component {
render() {
return (
<div>
<Helmet>
<title> My title </title>
<meta name="description" content="My description"/>
</Helmet>
</div>
)
}
}
export default Home;发布于 2020-02-09 04:47:16
我正在托管一个客户端呈现的React应用程序,并使用react-helmet 5.2.1来管理og tags和其他与共享相关的头文件。我遇到了Facebook (和其他网站)所描述的问题,因为我的与分享相关的标题无法识别。
我的React网站是使用Netlify托管的,修复方法是启用Netlify的预渲染设置。启用Prerednering后,立即识别与共享相关的标头。客户端呈现的头似乎无法识别(来自此SO question的更多信息)。

顺便说一句,我发现Facebook提供的Sharing Debugger在调试与共享相关的头文件时非常有帮助。
发布于 2020-01-03 16:45:48
我不确定你是否已经弄明白了!
尝试从public-> index.html文件夹中删除<meta name="description">和<title> 。
使用React Helmet将所有<head>部分直接注入到js文件中。如果你的app.js是你的登录页面,试着直接在那里注入所有的元标签。
另外,使用Google搜索控制台检查元标记中的索引页面是否有data-react-helmet="true“。
请求重新建立索引,并等待google再次爬行。
它目前在“react-helmet”中为我工作:"5.2.1“
发布于 2020-02-01 23:46:04
尽管您没有明确要求,但您或其他可能会发现这个问题的人可能会从服务器端渲染中受益。即使你改变了你的反应头盔配置,像Facebook这样的网站在通过javascript呈现时也不会缓存你的标题和描述。
https://stackoverflow.com/questions/55901741
复制相似问题