我的项目是使用react js的单页面应用程序。我听说Google可以抓取javascript页面,包括反应js单页面应用程序,而不需要服务器端渲染(即使它通常更适合SEO)。
但是,当我使用网站管理员工具:获取并呈现为谷歌时,谷歌机器人所看到的以及我的网页访问者看到的内容都是空白的。 即使我可以添加特定网址到谷歌索引,谷歌只使用我放在我的静态index.html文件中的标题和描述标签,它不会获得嵌套的反应头盔组件的标题和描述。有没有人有这方面的经验?欣赏它!
答案 0 :(得分:4)
要回答您的问题,请确保您已填充必要的es6功能,Google抓取工具的javascript功能可能非常有限,例如,它没有Array.find。您可以在此处详细了解https://github.com/facebookincubator/create-react-app/issues/746#issue-179072109
至于改善SEO的提示,您可以使用以下提示:
您可以使用react-snapshot
https://www.npmjs.com/package/react-snapshot将构建时间的页面预渲染为静态html。如果您的应用没有很多动态内容,这可以很好用。
您可以使用预呈现服务,例如prerender.io /使用静态主机和预渲染功能,如netlify或roast.io。至于prerender.io,你甚至可以自己主持!