Как исправить ошибку «Укажите валидатор кеша»
Опубликовано: 2022-06-11Если вы проверяете производительность своего веб-сайта с помощью GTmetrix или Pingdom, вы можете столкнуться с ошибкой, которая говорит «указать валидатор кеша». Это сообщение означает, что вы не используете кэш браузера в полной мере. К сожалению, это может негативно сказаться на производительности вашего сайта.
В этой статье мы поговорим о том, что означает ошибка «указать валидатор кеша». Мы также покажем вам, как исправить это в WordPress и оптимизировать производительность вашего сайта. Давайте приступим!
Что означает «указать валидатор кеша»?
Включив кэширование, вы можете указать браузерам или «клиентам» посетителей сохранять важные файлы локально, когда они посещают ваш веб-сайт. Таким образом, пользователям не нужно будет перезагружать весь сайт и его ресурсы каждый раз, когда они открывают вашу страницу.
Кэширование — невероятно распространенная практика среди веб-сайтов. Это также один из самых эффективных способов повысить производительность вашего сайта. Однако для правильной реализации требуется «политика» кэширования.
Эта политика означает включение заголовков кэширования, которые предоставляют явные инструкции по следующему:
- Как проверить кешированные ресурсы
- Какие ресурсы клиент должен кэшировать
- Как долго клиент должен кэшировать ресурсы для
- Как клиент должен искать изменения в кэшированных ресурсах
Ошибка «укажите валидатор кэша» означает, что ваш сайт не имеет соответствующих заголовков кэширования в своих ответах. Отсутствие инструкций не означает, что кэширование не будет работать. Однако это не будет работать так эффективно, как могло бы:
Если вы столкнулись с этой ошибкой при анализе производительности вашего веб-сайта WordPress, это означает, что ваш веб-сайт может загружаться не так быстро, как это возможно. Однако вы можете решить эту проблему, используя соответствующие заголовки кэширования.
Как указать валидатор кеша в WordPress (3 метода)
Существует несколько типов валидаторов кеша, которые вы можете внедрить в заголовки вашего веб-сайта. Сервер автоматически добавляет их в некоторых случаях, например, с валидаторами last-modified или ETag .
Если вы столкнулись с ошибкой «указать валидатор кеша», наиболее вероятными виновниками являются отсутствие управления кешем или заголовки с истекшим сроком действия. Давайте рассмотрим, как добавить их обоих в WordPress.
1. Добавьте заголовки Cache-Control вручную
Заголовки управления кэшем позволяют указать продолжительность или «длину» кэша в секундах. Вы также можете использовать эти заголовки, чтобы указать, к каким типам файлов относится длина. Структура самого заголовка зависит от того, какое программное обеспечение веб-сервера вы используете.
Для серверов Apache вам потребуется отредактировать файл .htacess . Вы можете найти его в корневой папке WordPress. Однако мы рекомендуем получать к нему доступ через протокол передачи файлов (FTP).
Откройте файл .htaccess и добавьте следующий фрагмент кода, а затем настройте его:
<filesMatch ".(jpg|jpeg|png|gif|js|css)$"> Header set Cache-Control "max-age=604800, public" </filesMatch>
Этот код указывает длину кэша для типов файлов в теге filesMatch . В зависимости от того, какие элементы вы хотите кэшировать, вы можете добавлять или удалять типы файлов.
Если вы используете NGINX, вам необходимо изменить основной файл конфигурации сервера. Вы можете найти его в каталоге /etc/nginx .
Откройте файл и добавьте в него следующий код:
location ~* \.(jpg|jpeg|png|gif|js|css)$ { add_header Cache-Control "public"; }
Сохраните изменения в файле и закройте его. Мы также рекомендуем добавить заголовки с истекающим сроком действия перед повторным тестированием производительности вашего веб-сайта.
2. Добавьте заголовки Expires вручную
Заголовки Expires — несколько устаревшие типы валидаторов кеша. Фактически заголовки управления кешем теперь заменяют их. Большинство современных браузеров сначала будут искать заголовки управления кешем , но вы можете указать оба валидатора, чтобы покрыть свои основания.
Добавление заголовков expires вручную работает аналогично записям управления кешем как в Apache, так и в NGINX. Чтобы добавить заголовки с истекшим сроком действия в Apache, вам нужно отредактировать файл .htaccess .
Вот пример заголовка, который вы можете скопировать, и мы рекомендуем добавить его в конец файла, чтобы избежать конфликтов:
## EXPIRES HEADER CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresDefault "access 7 days" </IfModule> ## EXPIRES HEADER CACHING ##
Заголовки Expires указывают конкретные даты истечения срока действия для каждого типа файлов. Если вы не укажете дату для типа файла, будет использоваться значение ExpiresDefault .
Для серверов NGINX вам потребуется изменить основной файл конфигурации . Вот как выглядит заголовок expires в NGINX:
location ~* \.(png|jpg|jpeg|gif)$ { expires 7d; add_header Cache-Control "public"; }
Сохраните изменения в любом файле, который вы используете, и все. Снова проверьте производительность вашего веб-сайта и посмотрите, сохраняется ли ошибка «укажите валидатор кеша».
3. Используйте плагин кэширования WordPress
Наконец, вы можете рассмотреть возможность использования плагина для указания валидаторов кеша. Некоторые из самых популярных плагинов кеширования WordPress позволяют настраивать срок действия и заголовки управления кешем для вашего сайта, не касаясь кода.
Недостатком использования плагина кэширования является то, что многие веб-хосты запрещают его использование. На самом деле, многие управляемые веб-хосты, в частности, часто не позволяют вам использовать плагины кэширования, потому что они вручную настраивают кэширование для своих пользователей для оптимальной производительности.
Большинство плагинов кэширования автоматически настроят ваш сайт на использование заголовков ETag или Last-Modified . Если они этого не делают, вы можете по умолчанию использовать контроль кеша и валидаторы с истекающим сроком действия.
W3 Total Cache, например, дает вам полный контроль над тем, какой тип заголовков кеша вы можете использовать:
Если ваш веб-хостинг позволяет вам использовать плагины кэширования, мы рекомендуем изучить несколько вариантов, чтобы понять, какой из них вам удобнее. Кроме того, вы можете указать валидаторы кеша вручную (это не так сложно!).
Вывод
Кэширование — один из самых эффективных способов сократить время загрузки для ваших пользователей. Повторные посетители выиграют от хороших политик кэширования, поскольку время загрузки уменьшится с локально сохраненными файлами. Однако вы не добьетесь максимальной производительности веб-сайта, если не настроите определенную политику кэширования.
Есть несколько способов указать валидатор кеша в WordPress, если ваш сервер не делает этого по умолчанию (что относительно распространено). В зависимости от потребностей вашего хоста и сайта, либо добавление заголовков управления кешем вручную, либо добавление заголовков с истекающим сроком действия вручную, либо использование плагина кэширования решит ваши проблемы. Если ничего из этого не работает, пришло время обратиться в службу поддержки вашего хоста для получения более подробной помощи.
У вас есть вопросы о том, как указать валидатор кеша в WordPress? Давайте поговорим о них в разделе комментариев ниже!
Избранное изображение через apghedia/shutterstock.com