Уже устал всем объяснять, но так как я действительно хочу помочь вашим сайтам, то решил записать это видео.

Видео инструкция

Не любите читать — смотрите видео.

По моему опыту, примерно у 80% сайтов есть такая проблема.
Из-за неверных настроек заголовков Last-Modified и Not-Modified:

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

Смотрите, ваш сайт это не какой-то монолит, а состоит из многих разных файлов. Их количество зависит от объёма сайта, но даже если взять ОДНУ страницу, то она состоит из нескольких десятков разных файлов. Это скрипты, шрифты, стили, картинки и прочее. Количество таких файлов у каждой страницы зависит от дизайна и вёрстки.

Все эти файлы не меняются годами или вообще никогда. Но даже если пару секунд назад бот сканировал другую страницу вашего сайта, где используется точно такой же логотип, точно такие-же скрипты и точно такие-же стили, то из-за неверных настроек сервера бот думает, что файлы за это время изменились и он их опять скачивает и обрабатывает...

У меня есть отдельное видео, как узнать из скольких статических ресурсов состоит одна страничка вашего сайта. Посмотрите потом, а сейчас просто поверьте, что их не мало.

Если всё настроить правильно, то это существенно ускорят процесс и экономит трафик. Тогда, если бот вернётся даже через год, то он скачает только те файлы, которые изменились за это время.

Как проверить есть ли ошибка

Предвижу, что и у вашего сайта есть эта проблема… Вы можете легко это проверить.
Не хотите проверять сами, просто напишите мне в Telegram и я проверю бесплатно. Если хотите сами, то читайте дальше…

Для проверки переходим в ресурс last-modified.com. При тесте указываем не ссылку на сайт, а ссылку на какой-нибудь статический файл сайта. Например, кликаем правой мышкой по картинке и выбираем «Копировать URL картинки» или открываем исходный код, жмём Ctrl+F и ищем любой файл по расширению. Кликаем правой кнопкой и выбираем «Копировать адрес ссылки». Вставляем в заранее открытый ресурс и проверяем.

Если видим вот такое сообщение об ошибке, то нужно исправлять.

Сообщение о неправильной настройке заголовка Not Modified

Если у картинки ошибка, то с 90% вероятностью ошибка будет и у стилей, и у скриптов. А если ошибки нет то даю 40% что вероятно забыли указать шрифт woff2, формат картинок webp или что-то ещё. Поэтому для надёжности лучше проверить картинки разного формата SVG, PNG, WebP, AVIF, стили, скрипта и разные форматы шрифтов, а также PDF.

Когда ошибки нет, то тест будет выглядеть вот так.

Сообщение о правильной настройке заголовка Not Modified

Если ошибка есть и нужна помощь по исправлению, то читайте дальше.

Как поставить задачу специалисту

Если хотите обойтись без меня, то вот вам инструкция, как поставить задачу сисадмину или техподдержке хостинга.
За способ спасибо Дэми Мурычу, так как я в настройках серверов плохо разбираюсь. Он дал наводку, что в основном ошибка в настройках Nginx серверов и я по сей день не встречал другой причины. Нужно описать ошибку сисадмину или техподдержке хостинга и попросить файле конфигурации Nginx изменить значение if_modified_since exact; на if_modified_since before; или просто к статическим данным добавить if_modified_since before;
Либо же используйте текст для обращения в техподдержку

Добрый день! Мой домен: [ссылка на домен] Сайт не корректно отдаёт заголовки Last-Modified и/или Not-Modified Проверяю файл: [полная ссылка на картинку/стиль/скрипт] На этом ресурсе: https://last-modified.com/ При запросе статического контента (.jpg .png .css и т.д.) с использованием заголовка If-Modified-Since или If-None-Match должен возвращаться код 304 Not Modified, если файл не изменялся с указанного момента. Скорей всего, текущая конфигурация Nginx настроена не правильно и по умолчанию Nginx работает с настройкой: if_modified_since exact; Получается, что он вернёт верный заголовок 304 Not Modified только в случае, если прям точно совпадают даты из заголовка If-Modified-Since с датой из заголовка Last-Modified. Если последнее изменение (Last-Modified) было позавчера, а заголовок If-Modified-Since содержит вчерашнюю дату, то тоже должен вернуться верный ответ сервера (304 Not Modified) и он не должен содержать тела страницы. Для этого нужно переделать настройку «if_modified_since exact;» на «if_modified_since before;» или в файле конфигурации у локации статических файлов прописать «if_modified_since before;» Исправьте, пожалуйста!

На хостинге Beget с удовольствием идут на обсуждение вопроса и легко вносят правки. Правда иногда просят полный список статических файлов:

jpg|jpeg|gif|swf|png|avif|webp|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|docx|xls|xlsx|exe|pdf|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|mp4|m4a|spx|ogx|ogv|oga|webm|weba|ogg|tbz|js|7z|woff|woff2|ttf|svg|iso

На хостинге reg-ru отказываются помочь, но там можно перевести управление хостингом в ручной режим и настроить самостоятельно.
Во многих других местах не хотят вносить правки. Начинают доказывать что так и должно быть и искать другие отговорки, чтоб не настраивать. Частенько переписка затягивается надолго, но у меня ещё ни разу не было такого, чтоб не получилось договориться.

Если нужна помощь по настройке или общению с техподдержкой, то смело обращайтесь.
Пусть ваш сайт найдут, поймут и полюбят не только посетители, но и поисковые системы.

Комментарии


Как обычно, мы открыты для общения и вы можете смело писать свои комментарии, задавать вопросы и просто делиться мнением. Ваши отзывы очень важны для нас!