Специалисты по SEO (Поисковая оптимизация от англ. search engine optimization) совершенно не уделяют внимание таким важным вопросам как настройки веб-сервера. Обычно в SEO рассматривают только сам контент сайта, внешние ссылки, поведенческие факторы. Но ранжирование сайтов в поисковых машинах напрямую зависит от скорости загрузки сайта. А скорость загрузки зависит от правильно настроенного веб-сервера в том числе.
Настройки веб-сервера, которые влияют на скорость загрузки сайта
Рассмотрим опции, которые существенно определяют скорость загрузки и отображения страницы в браузере. Нужно понимать, что далеко не все пользователи сидят на выделенных оптических линиях. Сотовые сети бывают перегружены. Промежуточные узлы и последняя миля тоже могут быть забиты. Поэтому необходимо максимально использовать все возможности для ускорения загрузки. Верстальщики используют один файл иконок, объединяют файлы CSS-стилей, JS-файлы, но ещё есть работа для системного администратора или хостера, которая за рамками зоны ответственности SEO-специалиста или front end'а.
- Версия протокола HTTP/1.1 или HTTP2.
- Сжатие контента Content-Encoding.
- Кэширование ETag в сочетании с Cache-Control: max-age.
По протоколу HTTP/2 страница сайта грузится быстрее, т. к. браузер устанавливает с сервером одно соединение и по нему передаются все файлы. А в HTTP/1.1 для каждого файла картинки, стилей, шрифтов, js устанавливается отдельное соединение. Установка отдельного соединение - это время. И когда их 20-100, то это уже существенное время.
Текстовый контент разумно сжимать. Архиватор сжимает его в разы. И это опять экономит время.
Пользователь, как правило, посещает несколько страниц сайта. И если на сайте не настроено правильно кэширование, то при открытии второй страницы браузер будет заново загружать файлы, которые он уже загрузил.
Желательно правильно выдавать Last-Modified. Некоторые сайты выдают текущую дату. Но поисковик видит же, что дата текущая, а контент старый и понимает, что дата последней модификации контента не актуальна.
В конце статьи будет дана рекомендация как автоматически проверить свой сайт на правильные настройки. А пока обсудим следующую группу настроек веб-сервера.
Настройки безопасности веб-сервера
Помимо скорости загрузки сайта есть ещё безопасность, которая тоже реализуется за счёт грамотной настройки веб-сервера. Сайт без SSL-сертификата будет ранжироваться после сайта с надёжным сертификатом. SSL отвечает за шифрование контента. Просто данные по http передаются в сети в открытом виде. Сертификаты SSL (Secure Sockets Layer) бывают разного уровня надёжности:
- Self-Signed Certificate (cамоподписанный) — бесполезный и бесплатный. Его можно сгенерировать самому и тут нет удостоверяющего центра. Уровень доверия нулевой.
- SGC (Server Gated Cryptography) — сертификат с высоким уровнем шифрования для старых браузеров. Браузеры настолько старые, что смысла в нём нет.
- SAN/UCC (United Communications Certificate) — мультидоменный сертификат для Microsoft Exchange.
- Code Signing — для разработчиков, чтобы подписывать программное обеспечение, чтобы была гарантия, что это оригинальный дистрибутив и никто не внёс туда изменений.
- Wildcard SSL Certificate (и на все поддомены) — на домен и все поддомены. Но это не может быть сертификат с расширенной проверкой организации.
- Domain Validation (DV SSL) — проверка домена — проверяется только то, что вы собственник домена. Подойдёт физическим лицам, у которых на сайте нет передачи данных пользователей, коммерческой деятельности.
- Organization Validation (OV SSL) — проверка организации. В браузере не будет в адресной строке отображаться зелёным цветом сертификат.
- Extended Validation (EV SSL) — с расширенной проверкой организации. Зелёным будет отображаться в адресной строке. Такой сертификат следует приобретать, если ведётся коммерческая деятельность или передаются персональные данные. Есть варианты Multi-Domain, т.е. включить заданный список дополнительных доменов, которые не обязательно должны быть поддоменами.
Если ваш веб-сайт имеет самый крутой SSL-сертификат, который отображается в адресной строке браузера зелёным цветом, то это ещё не 100% гарантия защищённости. У вас может быть смешанный контент из-за которого Яндекс не даст вам значок SSL (защищённое соединение). Смешанный контент фактически умножает на ноль ваш SSL-сертификат. Такое случается из-за того, что на странице у вас загружаются файлы по протоколу http, а не https и тем самым весь сайт становится небезопасным. Чтобы избежать такой проблемы, есть заголовок Strict-Transport-Security, который принудительно заставит браузер использовать https-протокол даже если в коде страницы загрузка осуществляется по http-проколу.
Заголовки Content-Security-Policy или Content-Security-Policy-Report-Only могут запретить загрузку по http-проколу.
Автоматическая проверка настроек веб-сервера
Можно воспользоваться автоматическим сервисом для проверки правильности настройки заголовков веб-сервера. Сервис выдаст рекомендации каких заголовков нет. Проверит отвечает ли ваш сайт на запросы If-None-Match. Проверит поддержку версии прокола HTTP/2.