Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Разбор

PWA и адреса страниц

PWA — это обычный сайт с двумя дополнениями. Посмотрим, что они дают и как не навредить адресам.

Что такое PWA

PWA — сайт, который можно установить на главный экран телефона и который частично работает без сети. Технически это обычные страницы плюс два дополнения: файл манифеста с описанием приложения и service worker — скрипт, который перехватывает запросы и решает, что взять из кеша, а что запросить у сервера.

Из чего состоит PWA

Service worker:кеш и работа без сетиМанифест: имя,значок, стартовый адресСтраницы с адресамии HTML с сервера
Основа PWA — обычные страницы

Нижний слой — самый важный. Если страницы не отдаются сервером как обычный HTML с уникальными адресами, никакое приложение сверху не сделает их доступными для поиска.

Правила для адресов

  • У каждого экрана свой адрес, который открывается напрямую. Не используйте адреса с решёткой для смены экранов.
  • Содержимое страницы видно в ответе сервера, а не только после работы скриптов: о рисках — в статье про одностраничные приложения.
  • Стартовый адрес в манифесте — обычная главная страница без служебных параметров.
  • Робот не запускает установленное приложение и не использует ваш service worker, поэтому доступность страниц проверяют без него.

Пример манифеста

{
  "name": "Интернет-магазин",
  "short_name": "Магазин",
  "start_url": "/",
  "display": "standalone",
  "icons": [
    { "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" }
  ]
}

Риски service worker

Что может пойти не так со service worker
РискКак проявляетсяКак избежать
Устаревшая копия страницыПосетитель видит старую цену или наличиеДля HTML брать свежую версию из сети, кеш — как запасной вариант
Кеширование ошибокВ кеше остаётся страница 404 или 500Не сохранять ответы с кодами ошибок
Сломанный скриптСайт не открывается у тех, у кого он установленПродумать способ обновления и отключения
Смешение адресовВ кеше лежат страницы с разными параметрамиКешировать по нормализованным адресам

Связанные материалы. Про адрес и кеширование файла манифеста — в статье про favicon и манифест. Про общие правила кеширования — в статье про кеширование статики.

Когда PWA действительно нужно

Для большинства информационных сайтов и небольших магазинов PWA не обязательно: достаточно быстрого обычного сайта. Оно оправдано, когда посетители возвращаются часто и им важны установка на экран, уведомления или работа при плохой сети — например, для сервисов, справочников и личных кабинетов.

  1. Сначала убедитесь, что обычные страницы быстрые и доступны роботу.
  2. Добавьте манифест и проверьте, что установка работает.
  3. Подключайте service worker поэтапно, начиная с кеширования статических файлов.
  4. Проверьте, что страницы по прямым адресам открываются и без service worker.

Частые вопросы

Влияет ли PWA на индексацию?

Само по себе нет: индексируются обычные страницы с собственными адресами; проблемы возникают, когда содержимое доступно только после работы скриптов.

Что указывать в start_url?

Основной адрес главной страницы без служебных параметров, чтобы не порождать лишние адреса.

Видит ли робот service worker?

Нет: он запрашивает страницы напрямую с сервера, поэтому доступность страниц нужно проверять в том числе без service worker.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также