Мы завершаем работу над веб-сайтом на React, но для целей SEO нам необходимо определить агента пользователя и «доставить» сканерам поисковых систем статическую версию (SSR) веб-сайта и обычный SPA для других агентов пользователя. Я обнаружил, что с next.js мы можем создать SSR, но, похоже, в этом случае веб-сайт будет SSR для всех пользователей.
Таким образом, проблема заключается в том, как определить агента пользователя и предоставить версию веб-сайта (SPA / CSR или SSR) в зависимости от типа агента пользователя.
Я знаю, что есть способ настроить Nginx перед сервером React для маршрутизации (вроде прокси) запросов. Но меня интересует только решение React
так ты разобрал url? но у меня тот же URL-адрес для роботов и других пользователей, скажем, mysite.com/index Мне нужно, чтобы эта версия ssr была проиндексирована. Или я что-то неправильно понимаю?
Я предполагаю, что роботы SEO используют ваш файл sitemap.xml для перемещения по вашему сайту. когда обычный человек посещает его, он переходит на mysite.com/index, но URL-адрес, который вы поместили в файл карты сайта, - mysite.com/index?srr=true
на стороне сервера я проверяю наличие значения строки запроса ssr и действую соответственно
Я бы предложил ретрансляцию в заголовке, я заметил, что если пользователь скопирует и вставит мой URL-адрес SPA в социальной сети, они не будут работать должным образом, чтобы показать карту предварительного просмотра, прямо сейчас думая о создании простой версии веб-сайта с требуемой мета просто для социальных роботов. Что касается SEO, я не уверен, с чем буду иметь дело.





Я думаю, вы говорите о файле 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)
));
спасибо, но не про robots.txt. Но о статической версии всего сайта
ну вот что мы сделали. сначала мы создали проверку на стороне сервера, которая решает показать SSR или компонент на стороне клиента на основе значения строки запроса в URL-адресе. Затем в карту сайта мы добавляем это значение строки запроса ко всем URL-адресам и вуаля только SSR для роботов SEO.