Поисковые системы существуют так, что люди могут лучше искать контент, который они хотят.
Поисковая оптимизация заключается в том, чтобы облегчить понимание вашего сайта роботами-гусеницами! Речь идет о внесении изменений в ваш сайт, чтобы помочь улучшить пользовательский опыт и производительность вашего сайта. Следует помнить, что сайт должен быть оптимизирован в первую очередь для своих пользователей. Они являются потребителями сайта и используют поисковую систему только для того, чтобы попасть на него.
Скорее всего, вы знакомы с методами SEO со многими существенными элементами веб-страницы, но, возможно, не используете их максимально эффективно. Каждый сайт нуждается в собственных методах оптимизации, основанных на содержании, использовании и т. Д. Давайте посмотрим, как все удивительные функции Nginx помогают улучшить SEO.
Установка максимального срока действия заголовка
Установка заголовка max-age для статического контента является одним из наиболее эффективных способов ускорить работу сайта. Если кто-то часто использует сайт, то статический контент, такой как изображения и CSS, больше не запрашивается у пользователя, а используется из локального кэша.
Этого легко достичь, упомянув в директиве location, обслуживающей статические файлы:
1
2
3
4
5
6
|
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
expires max;
}
location / {
…
}
|
Параметр max
устанавливает «Expires» в значение Thu, 31 Dec 2037 23:55:55 GMT
. Не забудьте перезагрузить Nginx после этих изменений!
Вы можете проверить изменение, отправив запрос скручивания ресурсу и проверив заголовки ответа, чтобы иметь заголовок Cache-Control max-age
с указанным значением. Кроме того, если вы используете Chrome Developer Tools, вы должны увидеть, что последующие запросы к этому ресурсу возвращаются с состоянием ответа 304 (не изменено).
Gzip предварительного сжатия
Объем данных, загружаемых браузерами для отображения страницы, постоянно увеличивается. Учитывая, что мы не можем просто отказаться от сокращения данных, единственный другой способ — уменьшить их размер для транзита по сети.
Чтобы иметь возможность обслуживать содержимое gzip с помощью Nginx, вам необходимо перекомпилировать Nginx со следующими флагами:
1
2
|
./configure —with-http_gzip_static_module
make && make install
|
Теперь нам нужно сжать все статические файлы (с помощью команды gzip
), поместить их в один каталог и внести следующие изменения в конфигурацию nginx:
1
2
3
4
5
6
|
http {
.
gzip_static on;
gzip_http_version 1.1;
..
}
|
Если этот параметр включен, Nginx всегда будет искать предварительно сжатый файл.
Удаление пробелов
HttpStripModule удаляет пробелы (пробелы, табуляции и новые строки) из документов HTML. В сочетании с модулем предварительного сжатия gzip, приведенным выше, он может значительно ускорить ваши сайты.
1
2
3
|
location / {
strip on;
}
|
Этаги для статического содержимого
Etags — это уникальные идентификаторы, представляющие текущее состояние URL. Они используются для проверки кэша и могут помочь сэкономить существенную пропускную способность.
Вы можете использовать следующую настройку в Nginx для включения Etags .
1
2
3
4
|
location / {
etag on;
…
}
|
Профильные работники, использующие Google Performance Tools
Как только вы начнете использовать Nginx на полную мощность, вы захотите посмотреть, насколько хорошо Nginx выполняет свою работу, поэтому важно собрать аналитику о самом Nginx. Для этого мы можем использовать Google Performance Tools . Модуль не построен с Nginx по умолчанию и может быть включен следующим образом:
1
2
|
./configure —with-google_perftools_module
make && make install
|
Не забудьте перезапустить Nginx после изменения конфигурации, чтобы включить:
1
|
google_perftools_profiles log/perf_tool_profile;
|
Это простое изменение поможет нам в профилировании работников Nginx.
WWW на не WWW перенаправления
Для сканеров домен www отличается от non-www, т.е. tutsplus.com отличается от www.tutsplus.com . Технически они являются отдельными объектами. Поисковая система может обнаружить скопированный контент, что может негативно повлиять на рейтинг сайта. Чтобы избежать этих вещей, важно определиться со стандартным именованием и использовать его повсюду.
В качестве примера, давайте использовать не www как то, что мы хотим достичь. Это может быть легко достигнуто с помощью правила перезаписи:
1
2
3
4
5
|
server {
listen 80;
server_name www.example.com;
rewrite ^ http://example.com$uri permanent;
}
|
В дополнение ко всему этому вы также можете достичь некоторых интересных вещей, используя такие модули, как:
- Создайте истекающие ссылки для скачивания: NginxHttpSecureDownload
- Динамическое уменьшение размеров изображения: NgxHttpImageFilterModule
- Контролируйте свой сервер, используя страницу состояния: NgxHttpStubStatusModule