Диагностика

Страница «Диагностика» — ваш главный помощник. Она проверяет девять вещей и по-человечески объясняет, что не так и как исправить. Она только читает состояние и ничего не меняет: не сохраняет настройки, не регистрирует и не обновляет Service Worker, не очищает кеши и не запрашивает разрешений.

Как запустить проверку

Когда это нужно. После настройки, после обновления, при любой проблеме.

Где открыть. Меню → Диагностика.

Что сделать.

  1. Сначала сохраните изменения в настройках: диагностика проверяет сохранённые настройки.
  2. Выберите одну витрину в верхнем выборе: все девять проверок выполняются для одной витрины. Если выбрано «Все витрины», вы увидите только таблицу серверных проверок по каждой витрине.
  3. Нажмите «Повторить проверку», чтобы запустить проверку заново.
  4. У витрины на другом домене, чем админка, браузерные проверки недоступны, выполняются только серверные (см. ниже).

Страница «Диагностика» с общим результатом и карточками проверок

Рис. 7.1. Диагностика на тестовом стенде: «Есть предупреждения», карточки «Пройдено» и «Предупреждение» с подсказкой «Как проверить в браузере».

Что должно получиться. Вверху — общий результат и «Выполнено проверок: N из 9». Ниже — карточки проверок.

Если не получилось. Сообщения вроде «Сервер не ответил вовремя… Результаты ниже неизвестны, а не пройдены» означают, что результат не успех: повторите проверку. Если повторится — скопируйте отчёт для поддержки (ниже).

Для проверок «Кеширование» и «Offline-страница» браузерная часть на странице может быть «Пропущена» с пометкой «Браузерная часть здесь не проверялась»: серверная часть при этом пройдена. Это нормально.

Как читать результат

Общий итог

Надпись Значение
Все выполненные проверки пройдены Проверки без проблем (смотрите, сколько проверок выполнено)
Есть предупреждения Работает, но есть риск или рекомендация
Есть проблемы Найдена подтверждённая неисправность
Состояние определить не удалось Недостаточно сигналов; это не успех

Под итогом пишутся счётчики: сколько проверок «пропущено» и «недоступно в этом браузере». Пропущенные и недоступные проверки не считаются пройденными.

Статусы проверки

В интерфейсе Как называется в технических документах Что значит Что делать
Пройдено PASS Есть положительный сигнал, всё в норме Ничего
Предупреждение WARNING Работает, но есть риск или рекомендация Прочитайте подсказку «Как исправить»
Не пройдено FAIL Найдена подтверждённая неисправность Исправьте по подсказке и повторите проверку
Пропущено SKIPPED Проверка не выполнялась: зависимая проверка не пройдена, PWA выключено, нет «Премиум» или функция не настроена Исправьте причину пропуска
Недоступно UNSUPPORTED Браузер или контекст не даёт нужной возможности (например, витрина на другом домене, нет HTTPS) Откройте проверку в подходящем браузере и на нужном домене
Неизвестно UNKNOWN Сигнал не получен или неоднозначен; это не успех Повторите проверку

Серверная и браузерная часть

Многие карточки показывают две части: «Сервер» (файлы и настройки, видит всё) и «Браузер» (состояние вашего браузера на этом сайте). Браузерная часть видит только браузер администратора и только витрину того же адреса, что и админка. Она не видит браузеры покупателей: у них состояние может быть другим. Для витрины на другом домене браузерные части будут «Недоступно», серверные выполняются.

Девять проверок

Проверка Что проверяет Типичный результат и что делать
HTTPS Витрина и админка работают по HTTPS (или localhost) Не пройдено → подключите HTTPS у хостинга; без него Service Worker не работает
Manifest Файл с описанием приложения есть, корректен и совпадает с настройками Не пройдено → откройте «Информация о приложении», заполните имя, короткое имя, нажмите «Сохранить». «Расхождение с настройками» → просто сохраните настройки витрины
Иконки Иконки 48–512 пикселей есть и имеют точные размеры; maskable-иконка корректна, если включена Не пройдено/предупреждение → загрузите иконку (глава 3)
Service Worker Служебный файл и файлы Workbox на месте, в браузере зарегистрирована актуальная версия Предупреждение «Нет регистрации» в браузере администратора — обычная ситуация: откройте саму витрину в этом браузере и повторите. «Не перегенерирован» → сохраните настройки витрины
Кеширование Стратегии разумны, кеши текущей версии существуют, заголовки ресурсов Предупреждение о «Сначала кеш» для изображений или «Только кеш» → переключите на Stale-while-revalidate (глава 5)
Offline-страница Страница настроена, размер не больше 64 КиБ, лежит в кеше «Не настроена» → заполните «Резервный ответ»; «Слишком большая» → уменьшите
Требования к установке Оценка критериев: HTTPS, Manifest с именем, режим отображения, иконки 192 и 512, Service Worker Не гарантия установки: итоговое решение за браузером
Push-ключи (VAPID) Ключи есть и целы; нет предупреждения о переподписке «Не пройдено» → глава 8: восстановите из копии
Push-подписка Лицензия «Премиум», обработчик push, разрешение в браузере Без «Премиум» — «Пропущено» с подсказкой «Активируйте лицензию Premium или не используйте push-уведомления» (для редакции «База» это нормально). Если есть подписчики, а лицензия не активна — предупреждение

Проверка «Push-ключи (VAPID)» выполняется всегда, независимо от остальных.

Что делать с типичными результатами

Что показано Что значит и что делать
Service Worker — Предупреждение, «Браузер: Предупреждение», сервер — «Пройдено» В вашем браузере нет регистрации Service Worker для этой витрины. Это не ошибка витрины: откройте витрину в этом браузере, подождите несколько секунд и нажмите «Повторить проверку».
Service Worker — «Не перегенерирован» Файл Service Worker старой версии. Откройте настройки витрины и нажмите «Сохранить»
Service Worker — «Чужой Service Worker в корне сайта» В корне сайта найден Service Worker другого продукта (известный случай — SuperCache). Отключите соответствующую опцию там, иначе его регистрация вытесняет PWA
Service Worker — «Ожидает» (waiting) Новая версия ждёт закрытия вкладок. Закройте все вкладки сайта и откройте снова. Это не ошибка
Витрина на другом домене (Недоступно) Браузер не даёт видеть чужой домен. Проверьте витрину, открыв инструменты разработчика на её адресе (подсказка «Как проверить в браузере» в карточке)
Push-подписка — Пропущено Нет «Премиум», либо PWA выключено на витрине, либо Service Worker не найден в браузере. Для «Базы» ожидаемо
Push-подписка — «Нет подписки в этом браузере» Обычное состояние браузера администратора: проверка информационная
Кеширование — «Сначала кеш» для картинок Риск «залипших» картинок до 30 дней. Выберите Stale-while-revalidate
Много «Пропущено» Одна красная карточка тянет остальные вниз. Исправьте первую красную проверку (чаще всего HTTPS, Manifest или Service Worker) и повторите

Если подсказка просит «открыть инструменты разработчика», это нормально: в карточке написано, какую вкладку (Application → Service Workers, Console, Network) и что там искать.

Отчёт для поддержки

Когда это нужно. Вы пишете в поддержку или разработчику.

Что нажать. Кнопка «Скопировать отчёт для поддержки».

Что получится. В буфере обмена — текст отчёта «Отчёт диагностики PWA»: версии приложения, PHP и Webasyst, домен витрины, статусы и причины проверок, семейство браузера. Отчёт никуда не отправляется автоматически.

В отчёте нет ключей, токенов, адресов push, путей к файлам, e-mail и содержимого Manifest. Перед отправкой всё же просмотрите его. Если браузер не разрешил копирование, выделите текст на странице и скопируйте вручную.

Что диагностика не умеет

  • Она не видит браузеры покупателей и не знает, сколько из них реально установило приложение или получило уведомление.
  • «Требования к установке» — оценка критериев, а не обещание, что браузер предложит установку.
  • Она не утверждает, что картинки и страницы «свежие»: сравнение содержимого не проводится.
  • Для витрин на другом домене доступны только серверные проверки.
  • Диагностика Premium-возможностей с настоящей лицензией из Store не проверялась.

Диагностика после мастера

На шаге 5 мастера запускаются те же девять проверок для витрины, которую вы только что настроили (глава 2).

Просмотр изображения
Оригинал