SEO html5css.dev
html5css.dev

SEO продвижение сайтов

Полный цикл: от проектирования и семантики до ссылочного, перелинковки и текстов.

0. Старт С чего начинается работа: цели, инструменты, сервисы 2 1. Проектирование сайта Структура, семантика, title и description 11 2. Прототипирование Карточка товара и страница категории на примере магазина 3 3. Контент и ключевые слова Ключи в тексте, заголовки, объём, читаемость, изображения, внутренние ссылки 20 3.1. Сайт целиком и коммерция Структура, sitemap, крошки, домен, контакты, ассортимент, доставка, поддержка 22 3.2. Поведенческие факторы Домен и бренд, релевантность title, вложенность, удовлетворённость пользователя 11 4. Техническая оптимизация Скорость, дубли, robots.txt, sitemap.xml, битые страницы 9 5. Внешние факторы Ссылочное, доноры, анкоры, линкбилдинг 13 6. Продвижение бренда Брендовый трафик и его оценка 3 7. Нестандартные методы Актуализация контента, нулевая позиция, SILO, обрезка контента 17 8. Крауд-маркетинг Форумы, отзовики, Q&A, соцсети, поиск площадок и сервисы 16 8.1. Стратегии крауда Стратегии размещения, выживаемость постов, объёмы, делегирование 11 9. Юзабилити сайта Макет, навигация, формы, корзина, контрастность 10 10. Внутренняя перелинковка Вес страниц, анкоры, схемы связывания 10 11. Работа с текстами LSI, структура текста, применение ключей 8

С чего начать

Последовательный курс: проектирование → внутренняя оптимизация → техничка → ссылочное → тексты.

15глав
166уроков

Мобильная выдача

Отдельный курс про мобильный индекс: скорость, интерфейс, голосовой поиск и регионы.

6глав
44урока

Новый курс

Поиск всё чаще отвечает текстом. Курс о том, как попадать в источники этих ответов и не потерять доверие.

5глав
15уроков
  1. html5css.dev
  2. SEO
  3. Мобильное SEO
  4. Мобильные технологии
  5. PWA — прогрессивные веб-приложения
Глава 2 · Мобильные технологии Урок 2 из 2 Обновлено 26.08.2026

PWA — прогрессивные веб-приложения

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

Что изменилось с прошлой версии урока Прежний текст подавал PWA как «новую технологию, дающую преимущество в мобильной выдаче». Преимущества в выдаче нет и не было. Зато технология повзрослела: установка поддерживается во всех основных браузерах, а типовые ошибки с кешированием хорошо изучены.

Что такое PWA

Прогрессивное веб-приложение — это обычный сайт, которому добавили три вещи:

  1. HTTPS — без него ничего из остального не работает.
  2. Манифест — файл с названием, иконками и параметрами отображения. Он позволяет установить сайт на домашний экран и запускать без адресной строки.
  3. Service Worker — скрипт-посредник между страницей и сетью. Он кеширует ресурсы, обеспечивает работу при плохой связи и делает возможными push-уведомления.

Ключевое слово — «прогрессивное»: сайт остаётся обычным сайтом. Пользователь из поиска получает нормальную страницу, а тот, кто установил приложение, — ускоренную повторную загрузку.

Манифест

{
  "name": "Каталог инструментов",
  "short_name": "Каталог",
  "start_url": "/?source=pwa",
  "scope": "/",
  "display": "standalone",
  "background_color": "#0e1116",
  "theme_color": "#0e1116",
  "icons": [
    { "src": "/icons/192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icons/512.png", "sizes": "512x512", "type": "image/png" },
    { "src": "/icons/mask.png", "sizes": "512x512", "type": "image/png",
      "purpose": "maskable" }
  ]
}

Подключается одной строкой в <head>:

<link rel="manifest" href="/manifest.webmanifest">

Service Worker: осторожная стратегия

// sw.js — сеть в приоритете, кеш как запасной вариант
const CACHE = 'v3';

self.addEventListener('fetch', event => {
  const req = event.request;

  // HTML всегда пробуем взять из сети: контент должен быть свежим
  if (req.mode === 'navigate') {
    event.respondWith(
      fetch(req).catch(() => caches.match('/offline.html'))
    );
    return;
  }

  // статику отдаём из кеша, обновляя в фоне
  event.respondWith(
    caches.match(req).then(hit => hit || fetch(req).then(res => {
      const copy = res.clone();
      caches.open(CACHE).then(c => c.put(req, copy));
      return res;
    }))
  );
});
Главная ошибка PWA — кеш HTML Стратегия «сначала кеш» для страниц приводит к тому, что пользователь видит вчерашние цены, а редакция не понимает, почему правка «не выехала». Держите HTML на стратегии «сначала сеть», а кешируйте только статику с версией в имени файла.

Что PWA даёт и чего не даёт

ДаётНе даёт
Мгновенную повторную загрузку за счёт кеша статикиПрибавку к позициям — отдельного фактора нет
Установку на домашний экран без магазина приложенийАвтоматической скорости первой загрузки: она зависит от обычной оптимизации
Работоспособность при нестабильной связиЗамены нативному приложению там, где нужен глубокий доступ к устройству
Push-уведомления и возврат аудиторииИндексации того, что рисует только Service Worker
Лучшие поведенческие показатели у вернувшихсяПрисутствия в App Store и Google Play

PWA и индексация

  • Googlebot не выполняет Service Worker. Робот всегда ходит в сеть напрямую — значит, сервер обязан отдавать полноценный HTML сам по себе.
  • Каждый экран — отдельный URL. Если приложение — SPA, используйте History API и серверный рендеринг или пререндер, иначе индексировать будет нечего.
  • Офлайн-страница закрывается от индексации. /offline.html должен отдавать noindex, иначе рискует попасть в выдачу.
  • start_url с меткой источника. Параметр вида ?source=pwa удобен для аналитики, но закройте его от индексации через canonical.
  • Скорость первой загрузки важнее. Из поиска приходят новые пользователи, у которых кеша нет. За неё отвечают Core Web Vitals, а не Service Worker.

Когда PWA оправдан

Тип проектаСтоит лиПочему
Сервис с повторными визитами: почта, трекер, личный кабинетДаПользователь возвращается, установка и кеш окупаются
Интернет-магазин с лояльной аудиториейСкорее даВозврат через уведомления, ускорение повторных сессий
Медиа с постоянными читателямиВозможноПолезен офлайн-режим и уведомления о новых материалах
Информационный сайт с трафиком из поискаНетПосетитель приходит один раз, кеш не пригодится
ЛендингНетСмысла в установке нет вовсе
Порядок действий Сначала сделайте обычный сайт быстрым и корректно индексируемым. PWA добавляется сверху и усиливает уже хороший результат — но не исправляет медленный сайт.

Итог

PWA — инструмент удержания и удобства, а не продвижения. Он окупается там, где к вам возвращаются, и почти бесполезен там, где посетитель приходит из поиска однократно. Внедряя, следите за одним: сервер должен отдавать полный HTML сам, без участия Service Worker.

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

Влияет ли PWA на позиции в поиске?

Напрямую — нет, отдельного фактора «это PWA» не существует. Косвенно помогает то, ради чего PWA обычно и делают: быстрая повторная загрузка и лучшее удержание пользователя.

Из чего минимально состоит PWA?

HTTPS, файл манифеста manifest.webmanifest с иконками и именем, зарегистрированный Service Worker. Этого достаточно, чтобы приложение можно было установить на домашний экран.

Может ли Service Worker навредить индексации?

Googlebot рендерит страницы без Service Worker, так что показать роботу «версию из кеша» не получится. Опасность в другом: агрессивное кеширование отдаёт живым пользователям устаревшие страницы, а неправильный офлайн-фолбэк может подменять содержимое.

PWA или нативное приложение?

PWA дешевле, индексируется поиском и не требует магазина приложений. Нативное выигрывает там, где нужен глубокий доступ к возможностям устройства и присутствие в сторе. Часто разумно начать с PWA.

Вся глава «Мобильные технологии» — 2 урока
  1. AMP — ускоренные мобильные страницы
  2. PWA — прогрессивные веб-приложения