prndr — пререндер для SPA. Чтобы Google, Яндекс и Telegram видели ваш сайт.
Боты и мессенджеры не исполняют JavaScript и видят пустой <div id="root">. prndr рендерит страницу в настоящем браузере и отдаёт им готовый HTML с заголовком, описанием и картинкой. Пользователи по-прежнему получают ваше SPA.
Закрытая бета, бесплатно.
Знакомо?
Single Page Application удобно разрабатывать, но для роботов такой сайт почти пуст.
Нет превью в мессенджерах
Ссылку на товар или событие отправили в Telegram, VK или WhatsApp, а в карточке только адрес. Ни заголовка, ни картинки, ни цены, и по такой ссылке кликают реже.
Пустая выдача
Яндекс и часть ботов Google не дожидаются JavaScript. Страницы не попадают в индекс или попадают с одинаковым заголовком на весь сайт.
SSR — это переписывать
Переход на Next.js или Nuxt — недели работы, новая инфраструктура и новые баги. Ради ботов это слишком дорого.
Как работает
Подключение занимает 15 минут, код сайта менять не нужно.
Вставляете сниппет
Несколько строк в конфиг nginx, Apache или Express middleware. Веб-сервер узнаёт ботов по User-Agent и отправляет их запросы в prndr.
Мы рендерим
Открываем страницу в Chromium, ждём загрузки данных и сохраняем готовый HTML в кэш. Повторные заходы ботов обслуживаются за миллисекунды.
Боты получают HTML
Title, description, Open Graph, микроразметка и контент. Обычные посетители этого не замечают: им по-прежнему отдаётся ваше SPA.
Для кого
Для любого сайта, где контент появляется после выполнения JavaScript.
Отличия
Работает как привычные зарубежные сервисы пререндера, но для российских сайтов.
- Российский сервисПоддержка на русском языке, без VPN и зарубежных аккаунтов.
- Оплата в рубляхБез зарубежных карт и валютного контроля.
- Данные в РФРендер и кэш на серверах в России.
- Совместимость с prerender.ioТот же формат API: для переезда достаточно заменить URL сервиса и токен в готовом middleware.
- Recache-вебхукиОбновили товар или событие — один POST-запрос, и боты увидят новую версию.
- Сигнал готовности
window.prerenderReady, мета-теги для кодов ответа и редиректов — 404 останется 404.
Ранний доступ
Сервис в закрытой бете, бесплатно. Оставьте почту — напишем, когда откроем доступ.
Вопросы и ответы
Что такое пререндер?
Когда на сайт заходит поисковый бот или мессенджер, мы открываем страницу в настоящем браузере, дожидаемся загрузки данных и отдаём боту итоговый HTML. Бот видит тот же контент, что и человек, без выполнения JavaScript.
Чем это отличается от SSR?
SSR (Next.js, Nuxt) рендерит страницы на вашем сервере при каждом запросе, и под него обычно переписывают приложение. Пререндер подключается снаружи и только для ботов. Код сайта не меняется, нагрузка на ваш сервер почти не растёт.
Как подключить?
Добавляете в конфиг nginx или Apache готовый блок с вашим токеном либо подключаете middleware prerender-node в Express. Если вы уже работаете с prerender.io, достаточно поменять адрес сервиса на render.prndr.online и токен.
Какие боты поддерживаются?
Googlebot, YandexBot, Bingbot, Applebot, а также боты превью: Telegram, VK, WhatsApp, Facebook, X/Twitter, LinkedIn, Slack, Discord, Viber, Одноклассники и Mail.ru. Список задаётся в сниппете, его можно расширить.
Что с динамическим контентом — ценами, остатками, расписанием?
Страницы кэшируются, срок жизни кэша вы задаёте сами. Когда данные меняются, отправьте запрос на recache API: страница перерендерится, и следующий бот получит свежую версию. Если страница грузит данные долго, выставьте window.prerenderReady = false, а когда всё готово, переключите на true.