【发布时间】:2018-07-31 19:19:00
【问题描述】:
我刚刚使用 reactjs 编写了我的第一个网站,但是当我检查 google 如何查看我的网站时,我收到以下结果:
我的 HTML 文件如下所示:
<!DOCTYPE html>
<html>
<head>
<title>MySite</title>
</head>
<body>
<div id="root"></div>
<script async type="text/javascript" src="index.browser.js"></script>
</body>
</html>
我已停用所有用于测试的 AJAX 调用,并且 ReactDOM.render 在其 js 文件加载后立即执行。 JS 文件本身经过编译、压缩,大小不到 300 KB(包括所有库,如 react 本身)。
此时,我不明白我可以做哪些更改来让谷歌正确呈现我的页面?据我了解,reactjs 的谷歌渲染问题通常来自 AJAX 调用或在网站本身被渲染和 DOM 更改之前在应用程序代码中完成的其他长时间工作。但是在删除大型库(除了 i18next 和 react 本身),最小化和压缩代码之后,我看不出我可以做些什么来显着提高性能或渲染时间。 PageSpeed Insights 是 99/100 点(桌面,只抱怨我可以最小化 html 以节省 110 个字节)。
我的错误可能在哪里?服务器端渲染对我来说并不是一个合适的选择。
您可以在此处查看演示页面:http://comparo.com.mx
如您所见,没有太多内容 - 但显示的 HTML 内容在加载 index.browser.js 后立即呈现,这是一个
编辑:我的服务器位于欧洲,而谷歌服务器从美国抓取。这可能是个问题吗?
【问题讨论】:
-
您确定您的
index.browser.js工作正常吗? -
是的,我确定。我从中删除了所有 AJAX 调用,这就是为什么结果看起来如此尴尬并且没有被翻译的原因——但我的观点是:谷歌应该显示那几个 HTML 元素,而不是空白页面。
标签: javascript reactjs google-search google-search-console i18next