Last-Modified, If-Modified-Since и 304 Not Modified в Wordpress

Генерация заголовков If-Modified-Since и 304 Not Modified очень важна для обхода ботами и переиндексации страниц сайта. К сожалению каждый плагин в Wordpress старается сгенерировать эти заголовки, при этом часто делает это неправильно. Что должно быть в заголовках:
  • If-Modified-Since - дата последнего редактирования поста
  • 304 Not Modified - сообщать о том страница с тех пор не изменилась

А так ли это важно?

Кроткий ответ:
если у Вас статический сайт, Вы написали 20 статей, выложили и забыли - да настраиваем Last-Modified.
Если у Вас динамический контент и постоянная переделка сайта - то нет.

Покопался я в теме If-Modified-Since. И ситуация двойственная. 
Есть сайты где это важно, а есть те, где этим нет смысла заморачиваться.
Вот у меня статейник на WP. Я настроил заголовки с реальной датой изменения поста. Вроде бы всё норм. Зачем боту посещать страницу, которая не менялась уже месяц? 
Но если Вы, например, поменяли шаблон, картинку в шапке, изменили количество пунктов меню, продаёте ссылки через сапу и они выводятся в виджетах, то ни Гугл, ни Яндекс очень долго об этом не узнают. Потому что все вышеперечисленные изменения не меняют дату модификации поста. Т.е. на сайтах, где происходят изменения в шаблоне не связанные с редактированием самого поста, отдавать нужно дату последнего сброса кеша по всему сайту. А не дату последнего редактирования конкретного поста.
С другой стороны. Представим ИМ, где цены, артикулы, характеристики меняются через пользовательские поля, при этом не изменяя дату модификации товара. При определённых настройках If-Modified-Since Гугл и Яндекс могут никогда не узнать про эти изменения.

Плагины кеширования для WP сейчас отдают дату сброса кеша по всему сайту, что логично, учитывая, что если кеш сброшен, то видимо на сайте что-то глобально поменялось.

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

Где проверить?

Самый простой способ на сайте Last-Modified.com
Если у Вас вот такое сообщение, а дата последнего редактирования поста действительно 25 октября 2019, как в примере, то всё в порядке:

Что делать если дата в Last-Modified не соответствует?

Значит заголовки генерируются какими-то плагинами.
Какие плагины влияют на эти заголовки:
  1. Autooptimaze - никак не настраивается. Лучше просто полностью отключить
  2. WP Fastest Cache -  этот плагин генерирует правильные заголовки. Рекомендую к использованию.
  3. Webcraftic Clearfy - Настройки > SEO > Заголовки серверов и ответ 

Как установить правильные заголовки?

Тут поможет связка плагинов генерирующих такие заголовки ( на выбор If Modified Since или Webcraftic Clearfy) + WP Fastest Cache.
Как и писал выше, включаем однократно WP Fastest Cache,  он прописывает правила в .htaccess, а потом снять галочку "Включить"


If Modified Since настроек не имеет, а настройка Webcraftic Clearfy описана выше

А что по поводу Рубрик и Главной?

Рубрики отдают заголовки 1-2 дневной давности. От чего это зависит - непонятно.
Главная заголовок 11 дневной давности. Тоже непонятно почему

Комментарии