Динамический показ

Если настроен динамический показ, сервер отправляет в ответ на запрос определенного URL разные варианты кода HTML и CSS. Выбирая нужный вариант, система учитывает агент пользователя.

При динамическом показе не сразу становится ясно, что HTML-код конкретного сайта специально изменяется, когда запросы поступают от мобильных агентов пользователя (мобильный контент "скрыт", если страницы сканирует агент пользователя для компьютеров). Поэтому рекомендуется включать в ответ сервера HTTP-заголовок Vary. Он сообщает, что в целях обнаружения мобильного контента страницу нужно дополнительно просканировать с помощью робота Googlebot для смартфонов.

Динамический показ: один URL, разный код для разных устройств.

Кратко

  • Используйте HTTP-заголовок Vary, чтобы сигнализировать об изменениях в зависимости от агента пользователя.
  • Правильно распознавайте строки агентов пользователя.

HTTP-заголовок Vary

HTTP-заголовок Vary обладает двумя полезными и важными характеристиками:

  • Он сообщает кеширующим прокси-серверам (которые используются, в частности, интернет-провайдерами), что при принятии решения о показе страницы из кеша необходимо учитывать агент пользователя. Без HTTP-заголовка Vary система может ошибочно показать пользователям смартфонов версию страницы для компьютеров и наоборот.
  • Благодаря ему робот Googlebot быстрее находит контент, оптимизированный для мобильных устройств, поскольку корректный заголовок Vary учитывается при сканировании URL адаптированных страниц.

HTTP-заголовок Vary входит в ответ сервера на запрос, как в примере ниже.

HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
(... rest of HTTP response headers...)

Заголовок Vary сообщает браузеру, что содержание ответа будет зависеть от агента пользователя, запросившего страницу. Если ваш сервер уже использует HTTP-заголовок Vary, то вы можете добавить в соответствующий список элемент User-Agent.

Правильное определение агента пользователя

При определении агента пользователя (браузера или другой программы, с которой работает посетитель) зачастую возникают ошибки. Типичные причины:

  1. Агенты пользователя распознаются путем их сравнения со строками (или подстроками) агентов из специального списка. Его необходимо регулярно проверять и обновлять, поскольку в противном случае новые агенты не будут определяться. Большинство таких списков не поддерживается должным образом и устаревает, в результате чего посетители сайтов сталкиваются с проблемами.
  2. При сопоставлении информация об агенте пользователя может не совпадать со сведениями в списке, и нередко браузер компьютера определяется как мобильное приложение и наоборот. По этой же причине планшеты зачастую распознаются сайтами как смартфоны. Определяя браузер посетителя, выполняйте поиск строк, свойственных именно приложениям для смартфонов. Например, ищите не только слово Android, характерное для мобильных приложений в целом, но и слово Mobile. Более подробную информацию вы найдете в нашем блоге.

  3. Ещё одна причина проблем с определением браузеров – маскировка. Чтобы опознать браузер, сайт ищет в строке агента пользователя название устройства с целью определить его тип или класс. Настраивать сайт на обнаружение робота Googlebot не следует. Все агенты пользователя Googlebot сообщают о себе как о конкретных мобильных устройствах, и сайт должен работать с этими роботами точно так же, как и с самими устройствами.

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