При продвижении сайта существенную пользу могут принести самые неожиданные инструменты — например, кэширование данных. О том, как оно помогает SEO и каких проблем важно остерегаться, рассказывает Александр Шестаков, руководитель платформы LinksSape.
Когда поисковики формируют выдачу по запросу пользователей, они, в том числе, изучают и технические показатели сайтов. Если сайт медленно загружается — а получить такие сведения не составляет труда — он сразу получает более низкую оценку и позиции, чем его более шустрые конкуренты.
Кроме того, аудитория в сети становится менее терпеливой. Раньше все понимали, что долгая загрузка обусловлена медленным интернетом и низкой производительностью железа. Сегодня посетители все реже дают второй шанс сайтам, которые не хотят быстро загружаться. Растет число отказов и уходов обратно в выдачу, а затем — к конкурентам. Поисковики внимательно отслеживают подобное поведение и пенализируют сайты, которые не могут обеспечить адекватный пользовательский опыт.
Поэтому скорость, с которой загружаются страницы сайта — один из первых факторов для реализации технического SEO. Есть много способов ускорить свои страницы и один из них — кэширование — мы рассмотрим в этой статье.
По сути, вы сохраняете часть данных о сайте в кэше каждого посетителя. Если он возвращается на страницы снова и снова, каждый раз загрузка будет происходить быстрее, поскольку файлы не потребуется подгружать с сервера — они уже будут находиться на жестком диске.
При этом кэширование применяется к разным элементам сайта. Например, оно может затрагивать всю страницу целиком, а может — отдельные ее элементы. Используется кэш как в браузере, так и на серверах DNS либо в специальных сетях или через API. Любой метод кэширования уменьшает время ответа сервера и снижает объем работы, который ему предстоит выполнять.
Соответственно, вы можете улучшить ранжирование сайта поисковиками благодаря более качественной технической оптимизации. Возросшая скорость загрузки хорошо влияет на поведенческие факторы, что положительно оценивают Google, и, особенно, Яндекс.
Как и в любом техническом процессе, у кэширования есть нюансы, несоблюдение которых может доставить вам проблемы, иногда даже достаточно серьезные. Разберем самые злободневные из них.
Кэширование неподходящего контента
Далеко не весь контент сайта можно кэшировать. Так, если сайт содержит контент, который будет варьироваться от настроек пользователя — например, его географического положения — кэшировать его не имеет смысла, поскольку при загрузке каждый раз будет требоваться разная информация. Так, если вы предлагаете информацию о пунктах, где можно сдавать использованные батарейки и аккумуляторы, посетителям из Москвы не подойдет информация, актуальная для Санкт-Петербургской аудитории. Поэтому кэширование с динамическим контентом не срабатывает.
В ряде случаев можно даже нанести непоправимый вред, отправив в кэш не то, что нужно. Если на сайте есть зашифрованные данные, доступные пользователям только после аутентификации, их категорически нельзя кэшировать. Иначе такая информация может стать добычей злоумышленников, а безопасность сайта и ваших посетителей окажется под угрозой. То же самое касается личных сведений о пользователях, например, тех, которые они предоставляют при регистрации или заполнении различных форм на страницах.
Пренебрежение другими аспектами оптимизации
Прежде чем вы начнете кэшировать сайт, нужно четко понимать — один этот процесс сам по себе не способен радикально улучшить скорость загрузки страниц и облегчить оптимизацию. Например, если на сайте много изображений, их все предварительно потребуется сжать до оптимального размера. Старайтесь применять менее тяжелые форматы картинок, например WebP. Также помните, что изображения на страницах сайта обычно меняются крайне редко и их можно кэшировать на более долгие периоды.
То же касается и изобилия скриптов CSS и JS. Если вы заранее не позаботитесь, о том, чтобы уменьшить вес страниц, одним только кэшированием проблема решена не будет. В итоге вы напрасно потратите время на процесс, который не даст заметного ускорения загрузки и улучшения поведенческих факторов.
Некорректный код
Технические ошибки могут снизить эффективность кэширования или привести к тому, что оно вообще не будет работать. Сложность в том, что ошибки можно допустить на разных этапах и SEO-специалисту, особенно, начинающему, придется тщательно проверять результаты своей работы при запуске страниц.
Достаточно часто при кэшировании указывают неполный адрес страницы, забыв указать протокол, например, https://. Кроме того, нередко встречается ошибка в коде маркера авторизации. В зависимости от типа кэширования код <sas> заполняется по-разному, например, может потребоваться специальный префикс. Если будет допущена неточность, работать оно не будет.
Переполнение кэша
Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.
Заполнить заявку
13829 тендеров
проведено за восемь лет работы нашего сайта.
Одна из трудностей, возникающих при попытке ускорить загрузку страниц с помощью кэширования — ограниченный размер кэша. Например, браузеры позволяют в среднем загружать порядка 400 МБ, хотя в зависимости от объема памяти на самом устройстве пользователя и типа браузера это значение может варьироваться. При кэшировании на сервере ограничение может задавать администратор или сами инструменты, которые применяются для кэширования.
Когда переполняется браузерный кэш, пользователь обычно не замечает ухудшения скорости загрузки — происходит автоочистка от старой или менее востребованной информации. А вот если в кэше на сервере не осталось места, это может даже вызвать сбой. Поэтому нужно минимизировать риск такого развития событий.
Как уже указывалось выше, вносить в кэш следует статичные данные, а также то, что запрашивается наиболее часто. Различные медиафайлы или скрипты относятся к этому списку в первую очередь. Также настройте очистку, чтобы первыми удалялись те данные, которые использовались раньше остальных — это делается путем установки срока жизни (TTL) кэша. Применяйте версии файлов, чтобы удалять из кэша устаревшую информацию и данные, которые используются реже всего.
Неактуальность кэшированного контента
Одна из основных проблем, связанных с кэшированием контента — в кэш может попасть информация, которая уже утратит актуальность и будет лежать мертвым грузом, никак не способствуя ускорению сайта. Если сайт небольшой и обновляется редко, эта проблема может никак не сказаться. Однако для больших ресурсов с высокой частотой обновления она достаточно злободневна.
В таких случаях выгоднее использовать для оптимизации скорости загрузки другие методы и не полагаться на кэширование. Например, прибегнуть к загрузке контента через сети серверов CDN. Это более дорогой способ, однако, вы не окажетесь в неудобной ситуации, когда весь кэш занят ненужными данными и не выполняет возложенную на него задачу.
Чтобы добиться большей эффективности от кэширования, им нужно уметь правильно управлять. Для этого используются специальные заголовки HTML и HTTP:
Cache-Control: public, max-age=2592000
Expires: Wed, 11 Feb 2025 10:11:34 GMT
Last-Modified: Wed, 15 Nov 2023 10:11:34 GMT
ETag: "abcde-12345"
Используя .htaccess можно настроить заголовки, чтобы обеспечить оптимальное кэширование. Например, следующий код указывает, что устаревание текста происходит через месяц, а файлов изображений jpeg и png — через год после получения доступа:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 30 days"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
</IfModule>
После того, как кэш настроен, используйте различные сервисы, например, GTmetrix или Google PageSpeed Insights, чтобы проверить его корректность. Некоторые инструменты предлагают дополнительные рекомендации, которые увеличат эффективность кэширования.
Кэширование может улучшить реакцию поисковиков на ваш сайт за счет ускорения загрузки, а также положительного влияния на поведенческие факторы. При этом постарайтесь избежать следующих проблем, которые могут обнулить эффект переноса данных в кэш: