Методика: Проверка выполняется по методике wSEO 1.0. Как устроена проверка

Проверяйте Network при mobile viewport с самого начала

Как найти desktop-ресурсы на mobile

Загрузите страницу с узким viewport и пустым кешем, найдите невидимый компонент в DOM и свяжите его запросы с initiator. Затем сравните с desktop и убедитесь, что мобильная альтернатива сохраняет функцию.

Сравнение desktop и mobile Network для скрытого компонента
Эмуляцию включают до навигации, иначе preload scanner уже мог начать desktop-запросы.

Быстрая проверка

  1. Откройте чистое окно DevTools, включите mobile device mode до ввода URL, Disable cache и Preserve log.
  2. Загрузите страницу и найдите визуально отсутствующий desktop-компонент через Elements или известный селектор.
  3. В Network отфильтруйте его изображения, JS, CSS, iframe и XHR/fetch; смотрите колонку Initiator.
  4. Сохраните число запросов и transferred bytes, затем повторите холодную загрузку на desktop.
  5. Проверьте mobile-замену, навигацию, формы и прямые ссылки; поверните viewport и измените ширину.

Хороший результат: ресурсы настоящего desktop-only компонента отсутствуют в холодной mobile-загрузке, а нужный смысл и действие доступны в лёгкой версии.

Уровни проблемы

Как оценить лишнюю мобильную загрузку
НаблюдениеУровеньДействие
Desktop-ресурсов нет, mobile-функция сохраненаПроблемы нетСохранить HAR обеих версий
Скрытый маленький декоративный ресурс загружаетсяНизкоСравнить экономию и сложность
Невидимый slider/widget грузит крупные assets и JSВысокоРазделить ресурс и инициализацию
Оптимизация убрала mobile-контент или действиеКритичноВернуть доступную альтернативу

Техническая проверка скрытых элементов

[...document.querySelectorAll('img, iframe, video, [hidden]')]
  .filter(el => getComputedStyle(el).display === 'none' || !el.getClientRects().length)
  .map(el => ({ tag: el.tagName, src: el.currentSrc || el.src, class: el.className }))

Список показывает скрытые элементы текущего DOM, но не доказывает загрузку и не видит background, удалённые узлы или JS/API. Каждый кандидат подтверждайте в Network по URL и initiator.

Ложные выводы и границы

  • Современный браузер может не загрузить img внутри известного display:none, но это проверяется фактической сетью, а не предполагается.
  • Responsive picture/srcset выбирает один подходящий источник; отсутствие desktop URL в Network — ожидаемо.
  • Общий JS-файл может содержать desktop-код без отдельного запроса; Coverage/bundle analysis — дополнительная проверка.
  • Service worker, кеш и изменение viewport после загрузки искажают результат.
  • Один viewport не представляет все телефоны, ориентации, DPR и accessibility zoom.

Автоматическая цена относится к согласованному компоненту и шаблонам на странице услуги. Для исправления используйте пошаговую инструкцию.