В моем веб-приложении Firebase настроено следующее (это одностраничное приложение, созданное с помощью React):
- Я выполняю SSR для пользовательских агентов роботов, поэтому они заполняются HTML и нет Javascript
- Пользователи получают пустое HTML и получают Javascript для запуска приложения.
firebase. json
"rewrites": [{
"source": "/**",
"function": "ssrApp"
}]
По сути, каждый запрос должен go включаться в мою функцию ssrApp
, которая будет определять агентов-агентов роботов-роботов и решать, будет ли он отвечать версией SSR для роботов, или JS версия для обычных пользователей.
Работает, как задумано. Google индексирует мои страницы, и я всегда регистрирую некоторую информацию о пользовательских агентах из моей функции ssrApp
. Например, когда я делюсь URL-адресом на WhatsApp, я вижу сканер WhatsApp в своих журналах с консоли Firebase (см. Ниже):
Но странная вещь заключается в том, что я не могу имитировать робота Google с помощью вкладки Chrome Условия сети:
Когда я пытаюсь получить доступ к своему сайту с помощью пользовательского агента Googlebot, я получаю 500 - Internal error
И мои ssrApp
функции даже не запускаются, , поскольку НИЧЕГО не вышло из него.
Является ли это встроенной защитой Firebase Hosting, чтобы избежать поддельных роботов Google? Что может происходить?
ПРИМЕЧАНИЕ: Я пытаюсь имитировать пользовательский агент робота Googlebot, потому что я хочу проверить версию моего приложения в SSR. Я знаю, что есть другие способы сделать это (включая некоторые инструменты Google Search Console), но я подумал, что это сработает.