我使用create-react-app创建了我的react应用。
我已将其部署在AWS Cloudfront + S3上。当我访问以下网站时,一切似乎都正常:https://www.remotecareers.io
但是,当我尝试使用Google抓取方式的“抓取并呈现”功能时,会看到以下信息:
This is how a visitor to your website would have seen the page:
部分为空很奇怪。但是,我的主要问题是,当我尝试对非根路径执行相同的操作时。
例如,我有此页面:https://www.remotecareers.io/remote-jobs/new。看起来一切正常。但是,当我尝试通过Google抓取它时,它说的是Not Found
。
它在新版Google Search Console中也说了同样的话:
到目前为止,即使只安装This is how Googlebot saw the page:
部分,我也进行了安装和添加:
import "babel-polyfill"; // I tried this by itself as well as with the 2 below
import "url-search-params-polyfill";
import "whatwg-fetch";
奇怪的是,首页正在(部分)运行,但是其余页面根本没有被扫描。我认为可能是因为我遗漏了robots.txt
文件,所以我添加了它,但是似乎没有任何影响(https://www.remotecareers.io/robots.txt)。有人可以帮我吗?
答案 0 :(得分:1)
根据我的经验,依靠googlebots运行javascript来呈现应用程序不是很可靠。为了获得最佳SEO性能,您需要通过服务器呈现您的React应用。
您将需要一个专用的NodeJS服务器,该服务器将呈现您的应用程序,然后将呈现的HTML发送到浏览器。浏览器将收到HTML响应,其中也包含一些脚本标签。加载脚本后,它将运行并充实您的react应用,以使一切正常运行。
尝试阅读本article,以使您开始学习此主题。