我们正在React上完成网站,但出于搜索引擎优化的目的,我们需要识别用户代理,并为搜索引擎爬虫程序“交付”一个静态版本(SSR)的网站,以及正常的SPA给其他用户代理。我发现使用next.js我们可以制作ssr,但在这种情况下,似乎所有用户代理的网站都是ssr。
因此,问题是如何识别用户代理,并根据用户代理类型交付网站版本(spa/csr或ssr)。
我知道在react服务器前面设置nginx来路由(类似代理)请求是有办法的。但我对反应唯一的解决方案感兴趣

最佳答案

我想你说的是robots.txt文件。
您可以将此文件添加到静态文件夹中,并在server.js中定义

const options = {
              root: path.join(__dirname + '/../static/'),
              headers: {
                'Content-Type': 'text/plain;charset=UTF-8',
              }
            };

            server.get('/robots.txt', (req, res) => (
              res.status(200).sendFile('robots.txt', options)
            ));

关于reactjs - 如何仅向搜索机器人提供SSR版本的SPA(React),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53909173/

10-11 13:05