什么是最好的方法,我可以使一个在react JS中构建的web应用程序为谷歌爬虫的SEO目的而工作。我希望整个页面都能爬行。
基本上,问题是当它在客户端呈现时,爬虫除了根div之外什么都看不到。
应用程序托管在cloudfront存储桶上,并使用S3作为服务器。我读过关于Lambda@Edge的文章,但不确定它是否可以工作。
帮助!
发布于 2021-07-01 15:47:06
如何解决这个问题在很大程度上取决于您的需求和具体情况。如果您的页面不经常更改,则可以自动创建它的静态版本并将其宿主在S3上。
Lambda@Edge可以检查用户代理,如果它检测到机器人,则将请求重定向到页面的静态版本。其他请求将像以前一样处理。
创建这样一个静态版本的页面的一种选择是使用Puppeteer。您可以将Puppeteer与AWS Lambda一起使用。因此,您可以构建一个Lambda函数,该函数获取一个URL,然后将该HTML放入S3存储桶中。然后,您可以编写一个步骤函数,对所有页面执行此操作,每天通过EventBridge等触发。
另一种选择是,一旦部署了项目的新版本,就调用Step函数。
如何解决这个问题有很多选择。但所有这些选项都可能涉及某种爬虫程序,该爬虫程序会将页面“呈现”为静态HTML文件。
https://stackoverflow.com/questions/68212981
复制