Динамічний показ - це конфігурація, при якій сервер відправляє у відповідь на запит певного URL різні варіанти коду HTML і CSS. При виборі потрібного варіанта система орієнтується на агент користувача.
При цьому не завжди очевидно, що мобільні пристрої отримують інший код (мобільний контент може бути "прихований"). Тому рекомендується, щоб сервер пропонував системі виконати сканування також за допомогою робота Googlebot для смартфонів. Для цього можна скористатися HTTP-заголовком Vary.
При динамічному показі для різних пристроїв використовуються різні варіанти коду, але один URL.
коротко
- Використовуйте HTTP-заголовок Vary, щоб сигналізувати про зміни в залежності від агента користувача.
- Правильно Розпізнавайте рядки агентів користувача.
HTTP-заголовок Vary володіє двома корисними і важливими характеристиками:
- Він повідомляє кешируєтся проксі-серверів (які використовуються, зокрема, інтернет-провайдерами), що при ухваленні рішення про показ сторінки з кеша необхідно враховувати агента користувача. Без HTTP-заголовка Vary система може помилково показати користувачам мобільних пристроїв версію HTML-сторінки для звичайних комп'ютерів і навпаки.
- Цей заголовок допомагає роботу Googlebot швидше знаходити контент, оптимізований для мобільних пристроїв, оскільки він враховується при скануванні URL адаптованих сторінок.
HTTP-заголовок Vary міститься у відповіді сервера на запит. Ось приклад такого обміну:
GET / page-1 HTTP / 1.1 Host: www.example.com (... rest of HTTP request headers ...) 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.
Правильне визначення агентів користувачів
При визначенні агентів користувача можуть відбуватися помилки. Ось типові причини цього:
- Для визначення агента користувача потрібно список рядків (або подстрок) агентів, з яким проводиться порівняння. Його необхідно регулярно перевіряти та оновлювати, оскільки в іншому випадку нові агенти не будуть визначатися. Більшість таких списків не підтримується належним чином і застаріває, в результаті чого відвідувачі сайтів стикаються з проблемами.
При зіставленні дані агента користувача можуть не збігатися з відомостями в списку, і нерідко браузер настільного комп'ютера визначається як додаток для мобільного пристрою, і навпаки. З цієї ж причини планшетні ПК часто розпізнаються сайтами як смартфони. Визначаючи браузер відвідувача, виконуйте пошук рядків, властивих саме додатків для смартфонів. Наприклад, шукайте не тільки слово Android, характерне для мобільних додатків в цілому, але і слово Mobile. Детальніше читайте в нашому блозі .
Ще одна причина проблем з визначенням браузерів - маскування . Щоб пізнати браузер, сайт шукає в рядку агента користувача назва пристрою з метою визначити його тип або клас. Налаштовувати сайт на виявлення робота Googlebot не слід. Усе агенти користувача Googlebot для смартфонів інтерпретуються сайтом як певні мобільні пристрої, і сайт повинен взаємодіяти з роботами точно так же, як і з цими пристроями.