Как улучшить свой поисковой рейтинг?

Как улучшить свой поисковой рейтинг?

Ещё в августе компания Zoompf – профессионал в таких сферах, как технологии интернет-безопасности и разработка веб-приложений – опубликовала любопытные результаты одного недавнего исследования. Это исследование рассматривало влияние быстродействия интернета на поисковой рейтинг в Google. Работая в паре с Мэттом Петерсом из компании Moz, мы протестировали быстродействие более чем 100 000 сайтов, введя при этом 2000 различных поисковых запросов. В исследовании была обнаружена явная взаимосвязь между временем до получения первого байта (ВППБ, англ. ‘TTFB’) и позицией в поисковой системе – чем меньше времени до получения, тем выше позиция. Тогда как однозначно подтвердить прямое влияние ВППБ на позицию в поиске (чем меньше время, тем выше результат поиска) было нельзя. Однако данных хватило, чтобы, по крайней мере, четко определить направление дальнейшего развития темы.

Показатель ВППБ помогает зафиксировать время, которое требуется вашему браузеру, чтобы получить первый байт запроса от веб-сервера при указании определённой URL-ссылки.

Средний показатель ВППБ: чем меньше секунд, тем выше строчка в Гугле

Мы считаем, что это относится не только к общим запросам длиной в один или два ввода, но и к более длинным, «длиннохвостым» запросам в четыре или даже пять вводов. Эти данные помогли отчётливо обозначить любопытный тренд, который интересно было бы исследовать дальше.

В данной статье мы продолжим разговор о понятии ВППБ: расскажем, что же это такое, а также поделимся рекомендациями, как улучшить этот показатель и занять более высокое место в поисковых результатах.

Что влияет на ВППБ?

На ВППБ влияют три вещи:

  1. Время, которое тратится на досылку вашего запроса по сети веб-серверу
  2. Время, которое тратится веб-сервером на обработку запроса и ответ
  3. Время, которое тратится на досылку ответа по сети вашему браузеру
Как измерить ВППБ?

Существует ряд способов, которые измеряют ВППБ, и среди них мы бы выделили программу с открытым исходным кодом WebPageTest.

Программа WebPageTest – прекрасный способ измерить быстродействие вашего сайта, и вообще понять, нужно ли вам тратить силы на оптимизацию показателя ВППБ. Чтобы воспользоваться программой, просто зайдите на сайт http://webpagetest.org, выберите местонахождение, которое соответствует вашему профилю пользователя, и запустите тест. Через 30 секунд программа WebPageTest создаст каскадный график, отображающий все ресурсы, которые загружает ваша веб-страница, и ряд измерений (включая ВППБ – англ. TTFB) с указанием времени ответа каждого.

Если посмотреть на первую полоску каскадного графика, зелёным показан результат ВППБ вашей корневой HTML-страницы. Не очень-то хочется видеть такое:

график загрузки сайта

В приведённом выше примере на ВППБ уходит целых шесть секунд! В идеале должно быть меньше 500 миллисекунд (0,5 секунды).

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

Время ожидания

Время ожидания – понятие, которое часто понимают неправильно. Время ожидания – это количество секунд, за которые передается часть данных из одного места в другое. Типичное заблуждение: если интернет-соединение быстрое, то время ожидания короткое.

Быстрое интернет-соединение лишь одно из условий. Время загрузки страницы зависит не только от быстроты вашего интернета, оно зависит и от того, насколько ДАЛЕКО эта страница от вашего браузера. Интернет-соединение очень похоже на трубу. Чем выше показатель загрузки сети (= «скорость»), тем толще труба. Чем толще труба, тем больше данных могут закачиваться параллельно. Это, конечно, влияет на общую проходимость данных, но нужно также учитывать и минимальную «дистанцию», которая должна быть покрыта каждым соединением вашего браузера.

График ниже демонстрирует разницу между загрузкой сети и временем ожидания.

Initial Delay Due to Latency - первоначальная задержка из-за времени ожидания

Download time - время загрузки

время загрузки

Как можно наблюдать выше, одному и тому же файлу JPG приходится проходить ту же «дистанцию» и при широкополосном интернете, где она определяется двумя главными факторами:

  1. Физическое расстояние между пунктами А и Б (Например, житель штата Атланта взаимодействует с сервером в Сиднее).
  2. Количество «прыжков» (хопов) между пунктами А и Б, поскольку интернет-траффик перенаправляется через возрастающее число роутеров, которые меняются один за другим по мере увеличения дистанции.

Широкополосный интернет определённо лучше для прохождения данных, но, тем не менее, приходится учитывать и изначальную «дистанцию» соединения для загрузки страницы. Вот где появляется время ожидания.

Так как же измерить время ожидания?

Измерение времени ожидания и обработки

Лучший способ измерить время ожидания без учитывания обработки сервером поразительно прост. Нужно использовать утилиту Ping!

Утилита Ping (пинг) уже установлена по умолчанию на большинстве компьютеров с такими операционными системами, как Windows, Mac и Linux. Что делает пинг? Он посылает небольшой пакет данных к указанному URL, измеряя при этом количество времени, затраченного пакетом в пути. Пинг практически не влияет на результат, так что время ожидания в ВППБ будет достаточно точным.

С помощью этого простого примера я измеряю время пинга между моим домашним компьютером в Розуэлле, штат Джорджия и близлежащим сервером www.cs.gatech.edu в Атланте, штат Джорджия. Ниже представлен скриншот команды пинга:

замеряем ping

Пинг продолжил тестировать среднее время ответа сервера, и в итоге определил его в 15,8 мс. В идеале пинг должен быть ниже 100 мс, так что результат неплохой! Но следует признать, что пройденная дистанция очень мала.

Путём вычитания времени пинга от вашего показателя ВППБ можно далее отделить этапы времени ожидания сети (1 и 3 этапы ВППБ) от этапа процесса обработки запроса сервером (этап 2), чтобы понять, на что надо направлять усилия.

Самооценка

Как показало исследование, представленное выше, вебсайты с наилучшим рейтингом обладают показателем ВППБ, варьирующимся от 350 мс до 650 мл. Мы рекомендуем придерживаться ВППБ в размере 500 мс или меньше.

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

Давайте подытожим наши выводы. Итак, вашими идеальными показателями изначальной HTML-страницы должны быть:

  1. Время до получения первого байта – 500 мс или меньше
  2. Время ожидания сети в обе стороны – 100 мс или меньше
  3. Время окончательной обработки – 400 мс или меньше.

Но что же делать, если показатели далеко не идеальны?

Уменьшение времени ожидания при помощи сетей CND

Уменьшения времени ожидания можно добиться очень просто. Вам нужно всего лишь уменьшить «дистанцию» между вашим контентом и вашими посетителями. Если ваши серверы находятся в Атланте, а ваши посетители в Сиднее, не надо заставлять своих пользователей запрашивать контент, при этом прошерстив полмира. Вместо этого надо быть к ним как можно ближе!

К счастью, есть простой и лёгкий способ: переместите вашу постоянную информацию в «Сеть доставки контента» (Content Delivery Network, CDN). Сети CDN автоматически копирует ваш контент в многочисленные места по всему миру, которые ближе всего к пользователям географически. Так что теперь, когда вы опубликуете контент в Атланте, он автоматически скопируется на сервер в Сиднее, откуда его смогут скачать австралийские пользователи. Как вы можете увидеть на диаграмме внизу, сети CDN значительно укорачивают дистанцию запросов ваших пользователей, что, естественно, уменьшает время ожидания как компонент ВППБ:

Чтобы изменить показатель ВППБ, убедитесь, что сеть CDN, выбранная вами, может кэшировать постоянную домашнюю HLTM-страницу вашего сайта, а не только подресурсы (картинки, джаваскрипт, CSS), т.к. это изначальный ресурс, который будет запрашивать гугл-бот и с помощью него же измерять ВППБ.

Существует ряд прекрасных сетей CDN, включая Akamai, Amazon Cloudfront, Cloudflare и множество других.

Оптимизация конечного этапа передачи данных

Второй фактор в ВППБ – количество времени, затраченное сервером на обработку запроса и генерирование ответа. Фактически конечный этап – это все те действия, из которых и состоит ваш вебсайт.

  • Операционная система и компьютерное обеспечение, на котором работает ваш сайт, и их конфигурация
  • Код приложения, который выполняется на этом оборудовании (например, CMS – система управления содержимым), а также его конфигурация.
  • Любые запросы по базе данных, которые содержат приложение для генерации страницы, количество его запросов, количество возвращённых данных и конфигурация базы данных.

Оптимизация конечного этапа вебсайта – огромная тема, которая бы заняла (и займёт) целые книги. Я затрону лишь малую часть этого вопроса. Тем не менее, существует несколько областей, которые напрямую касаются ВППБ и которые я упомяну для вашего с ними ознакомления.

Неплохо бы начать с одной важной вещи: убедитесь, что у вас есть нужное оборудование для запуска сайта. Если это возможно, избегайте любого виртуального хостинга. Что мы под этим понимаем? Это использование платформы, где ваш сайт использует те же серверные ресурсы, что и остальные сайты других компаний. Да, они дешевле. Но вот только ваш вебсайт теперь напрямую зависит от загрузки и исполнения других, независимых сайтов. Для того, чтобы защитить данные вашего сайта, добейтесь выделенных хостинговых ресурсов от вашего провайдера облачных сервисов.

Кроме того, с осторожностью работайте с виртуальными хостинговыми системами или хостинговыми системами "on-demand" (по запросу). Такие системы переводят в режим ожидания или приостанавливают ваш виртуальный сервер, если не получали трафик какое-либо количество времени. Затем, когда новый пользователь заходит на ваш сайт, они возобновляют работу сайта, а это, в зависимости от провайдера, может занимать от 10 и больше секунд. Если первым пользователем окажется поисковой бот Гугла, ваш показатель ВППБ будет просто ужасным

Оптимизация программного обеспечения для ускорения конечного этапа

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

Если ваше приложение или CMS использует один из интерпретируемых языков (например, PHP или Ruby), необходимо подумать, как уменьшить время исполнения. Интерпретируемые языки обладают возможностью конвертироваться в машинный код, понимаемый компьютером, который, собственно, и выполняется сервером. В идеале хочется, чтобы конверсия происходила один раз вместо того, чтобы исполняться с каждым входящим запросом. Это зачастую зовётся «компиляцией» или «кэшированием операций», хотя эти термины варьируются в зависимости от используемой технологии. Например, при помощи PHP можно создавать программное обеспечение как APC, чтобы ускорить исполнение. Более экстремальным вариантом будет Hip-Hop, компилятор, созданный и используемый компанией Facebook. Он превращает PHP-код в С-код для более быстрой компиляции.

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

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

Обязательно проверяйте влияние на ВППБ после каждого сделанного изменения в программном обеспечении. Вы также можете использовать бесплатную программу оценки быстродействия от компании Zoompf, чтобы определить проблемы конечного этапа, которые влияют на исполнение.

Выводы

Как мы обсудили ранее, ВППБ включает 3 компонента: время, необходимое для того, чтобы ваш запрос достиг веб-сервера, время, необходимое веб-серверу, чтобы обработать запрос и сгенерировать ответ, и время, необходимое для отсылки ответа обратно к вашему браузеру. Время ожидания влияет на первый и третий компоненты ВППБ, и может быть успешно измерено при помощи таких утилит, как WebPageTest и пинг. Время серверной обработки – это просто общий показатель ВППБ минус время ожидания.

Мы рекомендуем придерживаться показателя ВППБ 500 мс или меньше. Из этого времени должно быть потрачено не больше 100 мс на время задержки сети и не больше 400 мс на конечный этап обработки.

Вы можете уменьшить время задержки при помощи сетей CDN. Улучшить исполнение конечного этапа обработки можно при помощи множества способов, обычно для этого улучшают конфигурацию сервера и операций, связанных с оптимизацией кэширования (вызовы базы данных или исполнение кода при генерации контента). Мы проводим бесплатный анализ веб-сайта, который позволит вам определить причины медленного показателя ВППБ, а также другие причинный, влияющие на код вашего сайта, по адресу http://zoompf.com/free.

Авторская статья

Автор , на 18 октября 2013 г. в Технические вопросы.

Расскажите друзьям:


Комментарии

Комментирование отключено.

Услуги
Спецпредложения

Подписка на блог

без спама, не чаще одного раза в неделю

Кто победит?

Facebook

VKontakte