Понедельник, 9 декабря 2024 г.
Представляем наши рекомендации в отношении кеширования.
С развитием интернета количество страниц, сканируемых роботами Google, существенно возросло. Инфраструктура сканирования Google поддерживает и всегда поддерживала эвристические механизмы кеширования. Но количество запросов, ответы на которые можно получить из локального кеша, сократилось: 10 лет назад доля таких запросов составляла 0,026 %, и это совсем небольшая цифра. Теперь же она составляет всего 0,017 %.
Почему кеширование так важно
Кеширование – один из важнейших элементов большого пазла под названием интернет. Кеширование обеспечивает быструю загрузку страниц при их повторном открытии, экономит вычислительные мощности, электроэнергию, а также позволяет снизить объем трафика и тем самым способствует сокращению расходов как клиентов, так и провайдеров.
Если у вас крупный сайт, контент которого размещен на отдельных URL и меняется незначительно, локальное кеширование может повысить эффективность сканирования вашего сайта. Инфраструктура сканирования Google поддерживает эвристическое кеширование HTTP в соответствии со стандартом кеширования HTTP, в частности при помощи заголовка ответа ETag
и заголовка запроса If-None-Match
, а также при помощи заголовка ответа Last-Modified
и заголовка запроса If-Modified-Since
.
Мы настоятельно рекомендуем использовать ETag
, поскольку это реже приводит к ошибкам (в отличие от значения Last-Modified
его значение не структурировано). А если у вас есть возможность, то лучше настроить оба, интернет будет вам признателен.
Если говорить о том, при каких изменениях необходимо обновлять кеш на стороне пользователей, то здесь решать вам. Мы рекомендуем обновлять кеш при значительных изменениях контента. Изменение одной лишь даты сообщения об авторском праве внизу страницы вряд ли можно считать значительным.
Заголовки ETag
и If-None-Match
Поисковые роботы Google поддерживают условные запросы на основе содержимого ETag
в соответствии со стандартом кеширования HTTP.
То есть, чтобы сообщить поисковым роботам Google о предпочтениях кеширования, в качестве значения Etag
следует использовать любую строку ASCII (обычно это хеш содержимого или номер версии, но можно также использовать часть числа π), которая будет уникальным образом представлять контент, размещенный на странице.
Если на одном и том же URL размещено несколько версий контента (например, мобильная версия страницы и версия для ПК), то для каждой версии должно быть свое уникальное значение ETag
.
Поисковые роботы Google, поддерживающие кеширование, отправят значение ETag
в ответ на предыдущее сканирование этого URL в заголовке If-None-Match header
. Если значение ETag
, отправленное поисковым роботом, совпадает с текущим значением, которое было сгенерировано сервером, то ваш сервер должен вернуть пустой ответ с кодом статуса HTTP 304
("Не изменялось"). Есть несколько причин, по которым тело HTTP-запроса должно быть пустым:
- вашему серверу не нужно тратить вычислительные мощности на генерирование контента, то есть это экономит ваши средства;
- вашему серверу не нужно передавать тело HTTP-запроса, что также приводит к экономии.
На стороне клиента браузер или робот Googlebot могут извлечь контент, размещенный по этому URL-адресу, из внутреннего кеша клиента. Поскольку передача данных в этом случае не осуществляется, это происходит очень быстро, что не только нравится пользователям, но и позволяет им экономить ресурсы.
Заголовки Last-Modified
и If-Modified-Since
Наряду с условными запросами на основе заголовков ETag
поисковые роботы Google также поддерживают условные запросы Last-Modified based
в соответствии со стандартом кеширования HTTP. Здесь применяется та же логика, что и с заголовками ETag
: чтобы сделать ресурс кешируемым, используется идентификатор, и это обеспечивает те же преимущества, что и при использовании ETag
на стороне клиента.
Вот несколько советов по использованию Last-Modified
в качестве директивы кеширования:
-
Формат даты в заголовке
Last-Modified
должен соответствовать стандарту HTTP. Чтобы избежать проблем с обработкой файла, рекомендуем использовать следующий формат даты: "день недели, DD Mon YYYY HH:MM:SS (часовой пояс)". Пример: Fri, 4 Sep 1998 19:15:56 GMT. -
Также советуем использовать поле
max-age
заголовкаCache-Control
, чтобы помочь поисковым роботам определять, требуется ли повторное сканирование определенного URL. Укажите в полеmax-age
длительность периода в секундах, в течение которого контент не будет изменяться. Пример:Cache-Control: max-age=94043
.
Примеры
Понять принцип работы эвристического кеширования можно на примере цепочки запросов и ответов. На основе следующих двух цепочек, одной для заголовков ETag
/If-None-Match
, другой для заголовков Last-Modified
/If-Modified-Since
, мы покажем, как работает эвристическое кеширование.
ETag /If-None-Match |
Last-Modified /If-Modified-Since |
|
---|---|---|
Ответ сервера на запрос сканирования. Это ответ, из которого поисковый робот может сохранить поля заголовков ETag и Last-Modified , содержащих условие для выполнения запроса.
|
HTTP/1.1 200 OK Content-Type: text/plain Date: Fri, 4 Sep 1998 19:15:50 GMT ETag: "34aa387-d-1568eb00" ... |
HTTP/1.1 200 OK Content-Type: text/plain Date: Fri, 4 Sep 1998 19:15:50 GMT Last-Modified: Fri, 4 Sep 1998 19:15:56 GMT Cache-Control: max-age=94043 ... |
Последующий условный запрос поискового робота. Условный запрос на основе значений заголовков, сохраненных во время предыдущего запроса. Значения в заголовках запроса If-None-Match и If-Modified-Since отправляются обратно на сервер для проверки.
|
GET /hello.world HTTP/1.1 Host: www.example.com Accept-Language: en, hu User-Agent: Googlebot/2.1 (+http://www.google.com/bot.html) If-None-Match: "34aa387-d-1568eb00" ... |
GET /hello.world HTTP/1.1 Host: www.example.com Accept-Language: en, hu User-Agent: Googlebot/2.1 (+http://www.google.com/bot.html) If-Modified-Since: Fri, 4 Sep 1998 19:15:56 GMT ... |
Ответ сервера на условный запрос. Поскольку условия в значениях заголовков, отправленных поисковым роботом, проверяются на стороне сервера, сервер возвращает поисковому роботу код статуса HTTP 304 (с пустым телом). Это будет происходить с каждым последующим запросом до тех пор, пока проверка условий не завершится ошибкой (дата ETag или Last-Modified меняется на стороне сервера).
|
HTTP/1.1 304 Not Modified Date: Fri, 4 Sep 1998 19:15:50 GMT Expires: Fri, 4 Sep 1998 19:15:52 GMT Vary: Accept-Encoding If-None-Match: "34aa387-d-1568eb00" ... |
HTTP/1.1 304 Not Modified Date: Fri, 4 Sep 1998 19:15:50 GMT Expires: Fri, 4 Sep 1998 19:15:51 GMT Vary: Accept-Encoding If-Modified-Since: Fri, 4 Sep 1998 19:15:56 GMT ... |
Если вы хотите сделать свой ресурс более удобным для пользователей, а также немного сэкономить на трафике, обратитесь к вашему хостинг-провайдеру, поставщику своей CMS или разработчикам, чтобы для вашего сайта включили HTTP-кеширование. При прочих равных условиях это сделает ваш сайт немного более привлекательным.
Если у вас остались вопросы по кешированию, то вы можете задать их на справочном форуме Центра Google Поиска, а если хотите оставить комментарий на эту тему, отправьте отзыв к документации, посвященной кешированию, которую мы опубликовали вместе с этой статьей.
Хотите узнать больше? Прочитайте все записи из серии "О сканировании в декабре"
Мероприятие Search Central Live пройдет в Нью-Йорке
Четверг, 13 февраля 2025 г. Мы рады сообщить, что 20 марта 2025 г. Search Central Live впервые пройдет в Нью-Йорке. Ранее команда Google Поиска уже организовывала свои мероприятия в городе, который никогда не спит, но главного события, которое
Итоги Search Central Live 2024 в Куала-Лумпуре и Тайбэе
Пятница, 13 декабря 2024 г. Мероприятия Search Central Live в Куала-Лумпуре и Тайбэе прошли превосходно – и во многом благодаря гостям, которых было более шестисот! Их энтузиазм и готовность к общению и сотрудничеству произвели на нас по-настоящему
Ждем вас на мероприятии Search Central Live в Цюрихе!
Среда, 20 ноября 2024 г. Приглашаем вас принять участие в очередном мероприятии Search Central Live 2024, которое пройдет 12 декабря 2024 г. в офисе Google в Цюрихе. Специалисты Google Поиска подготовили ряд презентаций, которые мы хотим показать вам
Search Central Live 2024 в Джакарте и Бангкоке: подводим итоги
Вторник, 15 октября 2024 г. Мы провели первые два мероприятия Search Central Live в Азии и хотим подвести итоги: рассказать, чему мы научились и что можно улучшить. На мероприятие в Джакарте, которое прошло 25 июля 2024 г., пришло 335 человек. Помимо
В 2024 г. в АТР снова состоятся мероприятия цикла Search Central Live
Среда, 29 мая 2024 г. В Азиатско-Тихоокеанском регионе снова пройдут мероприятия Search Central Live. Их участники смогут узнать много нового о Google Поиске, обменяться опытом и не только. В этом году мы планируем провести мероприятия в Индонезии,
Search Central Live 2024 (Варшава, Польша)
Понедельник, 25 марта 2024 г. Мы рады сообщить, что 24 апреля 2024 г. собираемся провести Search Central Live в Варшаве (Польша). Search Central Live – это серия мероприятий, которые команда Google Поиска организует по всему миру. Они ориентированы
Search Central Live 2024 (Бухарест, Румыния)
Понедельник, 4 марта 2024 г. Мы рады сообщить, что 4 апреля 2024 г. собираемся провести Search Central Live в Бухаресте (Румыния). Search Central Live – это серия мероприятий, которые команда Google Поиска организует по всему миру. Они ориентированы
Search Central Live Сингапур 2023
Среда, 18 октября 2023 г. Мы рады сообщить, что 22 ноября этого года в Сингапуре снова состоится мероприятие Search Central Live, которое, как и прежде, будет организовано командой Google Поиска. На нем участники нашего сообщества смогут узнать много
Мероприятие Search Central Live снова в Цюрихе
Пятница, 29 сентября 2023 г. Мы уже проводили мероприятие Search Central Live в Цюрихе в декабре 2019 г. и рады сообщить, что планируем провести его снова в этом же городе 24 октября 2023 г. На этот раз у участников Search Central Live будет ещё
Мероприятия Search Central Live в Индии
Четверг, 17 августа 2023 г. В этом году мы провели уже три мероприятия Search Central Live. А сейчас пришло время объявить о событии, которым наши пользователи интересовались активнее всего, – Search Central Индия. Наши мероприятия пройдут в двух
Search Central Live в Токио и Джакарте: подводим итоги
Четверг, 27 июля 2023 г. Месяц назад отгремел Search Central Live Токио, а две недели назад – Search Central Live Джакарта. Мы с теплом вспоминаем о том, как здорово мы провели время в компании друзей и единомышленников. Пришла пора подвести итоги. В
Обзор мероприятий Search Central Live 2022
Пятница, 16 декабря 2022 г. Последние несколько недель ознаменовались мероприятиями Search Central Live в Сингапуре и Тель-Авиве – это было незабываемо! В прошлый раз мы с вами встречались на Конференции веб-мастеров в начале 2020 года и были очень
Мероприятия Search Central Live
Четверг, 13 октября 2022 г. В 2019 году мы провели ряд конференций для владельцев сайтов и специалистов по поисковой оптимизации в более чем 15 странах, уделив особое внимание регионам, где раньше таких мероприятий было мало. Затем мы были вынуждены
Search Central Live is returning to Brazil in 2025
Wednesday, January 15, 2025 We're excited to announce that Search Central Live is returning to São Paulo in 2025. Following our successful events in 2023 and 2024, we're continuing our mission to help Brazilian businesses enhance their site's
Search Central Live 2024 is coming to Kuala Lumpur and Taipei
Tuesday, Aug 27, 2024 As previously announced, Search Central Live is coming to Kuala Lumpur and to Taipei in the last quarter of 2024. And yes, we're very excited! What can you expect? A whole day of learning about Search while having some fun along
Search Central Live Bangkok 2024
Thursday, June 20, 2024 We're coming back to Thailand with Search Central Live! As mentioned in our blog post about our APAC plans for SCL, we now have a date and a site where you can sign up for a chance to secure your spot at Search Central Live
Announcing Search Central Live Argentina
Thursday, February 1, 2024 We're excited to announce that Search Central Live is coming to Buenos Aires on March 5, 2024. Following successful events throughout the world last year, we're continuing our mission to help website owners to enhance their
Search Central Live is returning to Brazil
Thursday, February 1, 2024 We're excited to announce that Search Central Live is returning to São Paulo. Following our successful events last year, we're continuing our mission to help Brazilian businesses enhance their site's performance in Google
Traditional Chinese Blog: Search Central Live Taipei 2023
Thursday, November 2, 2023 We are ecstatic to announce that for the first time ever, Search Central Live is coming to Taipei! Part of the Search Central Live events series, this is the first in-person event we are organizing in Taiwan, and we're
Announcing the Search Central Live Mexico roadshow
Wednesday, September 20, 2023 We're very excited to announce that Search Central Live is coming to Ciudad de México on November 7! Following successful events throughout the world earlier this year, we're continuing our mission to help you enhance
Indonesian Blog: Search Central Live Jakarta 2023
Wednesday, June 7, 2023 A few weeks back, we announced that Search Central Live is coming to a few locations in Asia Pacific throughout 2023. If you speak Indonesian fluently and are interested, Search Central Live Jakarta 2023 is happening on July
Search Central Live: Tokyo and future plans for APAC
Tuesday, May 16, 2023 Search Central Live is back in Asia Pacific throughout 2023 and we can’t wait to meet you in person! In November 2022 we resumed our search event series with SCL Singapore. Encouraged by the success of the event, we're now ready
Announcing the Search Central Live Brazil roadshow
Monday, February 6, 2023 We're very excited to announce that Search Central Live is coming to Brazil! Following our successful events last year, we're continuing our mission to help you enhance your site's performance in Google Search. We're