Статьи

Улучшение SEO с помощью Nginx

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

Поисковая оптимизация заключается в том, чтобы облегчить понимание вашего сайта роботами-гусеницами! Речь идет о внесении изменений в ваш сайт, чтобы помочь улучшить пользовательский опыт и производительность вашего сайта. Следует помнить, что сайт должен быть оптимизирован в первую очередь для своих пользователей. Они являются потребителями сайта и используют поисковую систему только для того, чтобы попасть на него.

Скорее всего, вы знакомы с методами 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 с помощью 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;
}

Как только вы начнете использовать 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 отличается от 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;
}

В дополнение ко всему этому вы также можете достичь некоторых интересных вещей, используя такие модули, как: