Разработка интернет-магазина от 200 000 ₽

Продвижение сайтов от 20 000 ₽

Техническая поддержка от 5000 ₽

Ускорение скорости загрузки сайта с помощью DNS

Существует множество различных способов оптимизации сайта, которые вы можете сделать, когда речь идет о WordPress, и некоторые из них более важны, чем другие. Фактором, который часто упускают из виду, является время поиска, связанное с DNS, и то, насколько сильно это влияет на ваш сайт. Как и в случае с TTFB и задержкой в ​​сети , это важная часть головоломки, когда дело доходит до расчета общего времени загрузки страницы. Итак, сегодня мы рассмотрим несколько рекомендаций о том, как сократить поиск DNS и ускорить его, почему вы должны это делать и как это влияет на производительность вашего сайта WordPress.

Что такое DNS Lookup

Чтобы показать вам, что такое поиск DNS, вам нужно сначала понять, как работает DNS. DNS (система доменных имен) по сути является основой Интернета. Общее объяснение того, как работает DNS — это думать о нем, как о телефонной книге для всемирной паутины . Каждый веб-сайт и домен, который вы посещаете, сопоставляются с IP-адресом.

Когда вы вводите Google.com в адресную строку, ваш провайдер выполняет DNS-запрос для запроса серверов имен, связанных с доменом. Затем сопоставление с IP-адресом выполняется сервером, что позволяет затем использовать доменное имя для доступа к нему. Без DNS вы должны были бы напечатать что-то вроде 216.58.217.206, чтобы запустить Google. Это было бы очень весело 🙂

Когда вы заходите на веб-сайт, необходимо выполнить поиск DNS для каждого домена, который запрашивается, прежде чем браузер что-либо загрузит. Однако поиск DNS не обязательно должен выполняться для каждого ресурса.

Совет 1 — Используйте быстрый провайдер DNS

Важно понимать, что, как и в случае с хостингом, существуют более быстрые и медленные провайдеры DNS . Это первое, что необходимо исправить.

Обычно бесплатный DNS, предоставляемый регистраторами доменов, такими как GoDaddy и Namecheap, очень медленный. DNS-провайдеры обычно работают так же, как CDN , у них есть несколько POP по всему миру. Крупные провайдеры DNS, такие как Amazon, Cloudflare, Dyn и DNS Made Easy, имеют обширную инфраструктуру, специально разработанную для DNS с средами с низкой задержкой.

Мы провели несколько тестов, чтобы сравнить скорости некоторых популярных провайдеров DNS. Мы использовали инструмент производительности KeyCDN, а также тест скорости SolveDNS и взяли среднее значение. Скорости были измерены из разных мест по всему миру. Как видите, кроме Cloudflare, бесплатные DNS-провайдеры, безусловно, работают медленнее. Вот почему, если вы серьезно относитесь к своему бизнесу и веб-сайту, мы настоятельно рекомендуем обратиться к первоклассному провайдеру DNS .

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

Совет 2 — Измените значения TTL, чтобы использовать преимущества кэша DNS

К счастью, как мы упоминали выше, благодаря DNS-кешу вам не нужно беспокоиться о поисках, которые происходят при каждой загрузке страницы. Кеш DNS работает так же, как вы кешируете свой сайт WordPress. DNS подается из кэша до истечения срока его действия. Длина кеша DNS определяется значением времени жизни (TTL). Чем выше TTL, тем меньше вероятность, что браузеру потребуется выполнить другой поиск DNS.

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

  • 300 секунд = 5 минут
  • 1800 секунд = 30 минут
  • 3600 секунд = 1 час
  • 43200 секунд = 12 часов
  • 86400 секунд = 24 часа

От 30 минут до часа, как правило, наиболее часто используемые значения TTL. Тем не менее, некоторые также устанавливают свои TTL очень низкими для быстрого обновления. Cloudflare — один из примеров, который по умолчанию равен 5 минутам, если вы используете их автоматический TTL. Также может быть полезно взглянуть на различные типы записей DNS и установить их соответствующим образом в зависимости от того, как часто они меняются. Вот пример:

  • Записи A и AAAA: меняются чаще, обычно от 5 минут до часа.
  • Записи CNAME: почти никогда не меняются, обычно более высокий TTL, такой как 24 часа
  • Записи MX: Меняются реже, обычно высокий TTL, такой как 12 часов
  • Записи TXT: Меняются реже, обычно высокие значения TTL, такие как 12 часов

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

Совет 3 — Уменьшите количество доменов (имен хостов)

Самый простой способ уменьшить количество DNS-запросов на вашем сайте — это просто избавиться от запросов, которые запрашивают разные имена хостов. Помните, что при поиске DNS речь идет не о количестве запросов, а о количестве разных доменов. Запустите свой сайт WordPress с помощью такого инструмента, как Pingdom, и определите, действительно ли каждый запрос необходим. Поскольку DNS является отображением имени хоста на IP, вы можете спросить, почему люди просто не указывают на IP вместо этого? Это связано с тем, что IP-адрес может часто меняться, а имена хостов — нет.

Совет 4 — Используйте альтернативные сервисы с более быстрым DNS

Хотя простое сокращение количества доменов (имен хостов) легче сказать, чем сделать, мы рекомендуем в первую очередь взглянуть на те, у которых время поиска DNS выше. Например, на этом сайте, который мы тестировали ниже, мы можем легко заметить, что время поиска DNS для скрипта отслеживания Crazy Egg было намного больше, чем у других. Скорее всего, это связано с тем, что их DNS-провайдер работает не так быстро, как некоторые другие.

Совет 5 — Перемещение и размещение ресурсов на CDN

Один из самых простых способов уменьшить количество DNS-запросов — переместить столько ресурсов, сколько вы можете, вашему провайдеру CDN. Если вы запускаете свой сайт через Pingdom, вы можете увидеть общее количество запросов по доменам . Как видно из этого примера, 93,8% запросов относятся к URL CDN. Существует один запрос к хосту и один к Google Analytics. Перемещая в CDN столько ресурсов, сколько возможно, это уменьшает количество обращений к DNS и, следовательно, уменьшает время загрузки.

Конечно, не всегда возможно перенести все на ваш CDN. Всегда будут какие-то внешние ресурсы или сервисы, требующие загрузки их со своих серверов. Ниже приведены несколько ресурсов, которые мы часто видим и которые можно улучшить:

Font Awesome

Мы иногда видим разработчиков плагинов и тем, которые включают Font Awesome на сайтах WordPress, но иногда ставят его в очередь таким образом, чтобы по умолчанию плагин, такой как CDN enabler, не улавливал его. В этом случае мы рекомендуем обратиться к разработчику, чтобы спросить его, как вы можете загрузить его из CDN.

Другой распространенный сценарий с Font Awesome — это то, что он иногда загружается из BootstrapCDN по умолчанию (MaxCDN). Хотя в этом нет ничего плохого, но он добавляет еще один DNS-запрос, который вам не нужен. В большинстве случаев было бы лучше загрузить Font Awesome из собственного CDN, чтобы не было другого поиска.

Gravatars

Если вы используете собственные комментарии WordPress, у вас может быть дополнительный поиск к secure.gravatar.com для загрузки gravatars. Одним из простых решений здесь может быть использование плагина для отложенной загрузки комментариев . Хотя это не уменьшит поиск DNS, оно задержит его, пока пользователь не прокрутит страницу вниз. Таким образом, в некотором смысле, вы уменьшаете поиск DNS при загрузке первой страницы. Обязательно ознакомьтесь с нашим сообщением в блоге о других способах ускорения комментариев .

Google Fonts

С помощью Google Fonts у вас есть один дополнительный DNS-запрос для поиска fonts.googleapis.com, чтобы получить файл CSS. Затем у вас есть дополнительные запросы к fonts.gstatic.com для загрузки файлов шрифтов. Когда вы размещаете локально, все запросы поступают из одного домена или CDN, и, скорее всего, вам не понадобится другой файл CSS, так как он будет внутри файла CSS вашей темы WordPress.

Совет 6 — Воспользуйтесь преимуществом предварительной выборки DNS

Еще один совет по ускорению DNS — использовать предварительную выборку DNS. Это позволяет браузеру выполнять поиск DNS на странице в фоновом режиме . Вы можете сделать это, добавив несколько строк кода в заголовок вашего сайта WordPress.

Совет 7 — отложенная загрузка JavaScript

Если вы отложите загрузку JavaScript, это может помешать загрузке чего-либо до полной загрузки документа. Это не уменьшит количество необходимых запросов DNS, но предотвратит их немедленный вызов, что может ускорить работу пользователя.

В WordPress вы можете использовать бесплатный плагин, такой как Async JavaScript, чтобы отложить загрузку JavaScript. Тем не менее, важно знать, что вам, скорее всего, придется пройтись и перечислить любые сценарии, которые вы хотели бы исключить из отложенного применения.

Резюме

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

Есть ли у вас какие-либо дополнительные советы по ускорению DNS или сокращению поисков? Если это так, мы хотели бы услышать о них ниже в комментариях!

Источник — kinsta.com/blog/reduce-dns-lookups