WordPress vs Yii2 vs свой движок — что быстрее?

Привет. Давно заинтересован такой темой как скорость загрузки сайтов, поэтому решил провести эксперимент — сравнить скорость загрузки одинаковой страницы в 4 разных ситуациях с применением разных движков и уровня оптимизации. Этой статьей я подведу итоги своего эксперимента.

Какие ситуации будут

  1. Слабо-оптимизированный по скорости wordpress сайт, 25 плагинов
  2. Средне-оптимизированный wordpress, 15 плагинов
  3. Сайт на фреймворке YII2, базовый шаблон
  4. Сайт на своем движке, минимум кода и функционала

Параметры тестируемой страницы

Исходная страница такая (на всех 4х тестируемых сайтах одинаковая):

  • Рыбный текст на 800 слов — это средний размер статьи в моем понимании, текст взял с этого сайта — ru.lipsum.com
  • 10 оптимизированных картинок, каждая примерно 600 на 350 пикселей, общий изначальный их вес составлял 619 килобайт, но я оптимизировал их для web и уменьшил в итоге до 367 килобайт, оптимизировал их с помощью сервиса optimizilla, уровень поставил на 80.

Что ж, таким образом я создал 4 одинаковых страницы на четырех технически разных проектах. Самое время узнать, в каком случае скорость оказалась лучше. Для чистоты эксперимента все 4 проекта расположены на одном виртуальном сервере, на быстром SSD диске.

Какие скоростные тесты я решил использовать?

Не вижу смысла показывать результаты Google Speed Test потому что он не показывает реальную скорость загрузки в секундах. Буду использовать такие тесты:

  1. GTMetrix
  2. WebPageTest.org

Результаты проверок

Я сделал все свои проверки по нескольку раз чтобы получить максимально усредненные результаты. В сервисе GTMetrix тест страниц происходил из Канады, в WebPageTest — из Варшавы. Поэтому во втором сервисе результат всегда был на 1-1,5 секунды лучше и это очевидно — Варшава куда ближе к месторасположению моего сервера, чем Канада.

1й сайт

Первый сайт — мало-оптимизированный wordpress сайт, 25 плагинов. Сначала показываю результат в GTMetrix, потом в WebPageTest (все скриншоты можно немного увеличить кликом мыши):
тестирование первого сайта gtmetrix
Первый сайт в среднем загружается 8-9 секунд, в обоих тестах.
тестирование первого сайта в webpagetest

2й сайт

Второй сайт, напомню это оптимизированный wordpress где я применил почти все методы оптимизации, которые знаю на текущий момент — сжатие скриптов и стилей, gzip и т.д. Плюс на сайте чуть меньше активных плагинов — 15.
тестирование второго сайта gtmetrix
тестирование второго сайта в webpagetest
Он показал гораздо лучшие результаты — самая быстрая загрузка произошла за 4,5 секунды, самая долгая за 6.

3й сайт — базовый шаблон YII Framework

Страница на YII2 загрузилась очень живо, если учитывать, что я не делал никаких действий по оптимизации. По сравнению с wordpress результаты оказались лучше:
тестирование третьего сайта gtmetrix
Как видно, выполняется гораздо меньше запросов для формирования страницы, ей хватает 3 секунд для отображения.
тестирование третьего сайта в webpagetest
Этот тест показал, что загрузка длиться всего-ничего — 2,3 секунды.

4й сайт — самописный движок с минимальным функционалом

Этот движок я взял из одного из курсов, которые проходил в 2017 и неплохо упростил, так что по своей функциональности он сильно уступает тому же yii, по сути здесь присутствуют только самые базовые возможности по выводу статей, сайдбара и хлебных крошек.
Здесь проверка от GTMetrix показала такие результаты:
тестирование четвертого сайта gtmetrix

Следующий тест показал, что контент загружается еще быстрее — за 2 секунды:
тестирование четвертого сайта в webpagetest

Плюсы WordPress

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

Оптимизацию и развертывание сайта на том же YII2 делать хоть и не очень трудно, но все же дольше + такую удобную админку создавать будет трудно. Также придется учесть десятки нюансов, с которыми обычно не возникнет проблем в WordPress:

  • xml-карта
  • микроразметка
  • отдача нужных заголовков

Про настройку проекта на самописном движке, я уже вообще молчу, так количество работы увеличивается многократно.

Выводы

А вывод очень прост — как ты сайт на wordpress не оптимизируй, а все равно он не будет загружаться так быстро, на сайт на фреймворке/самописном движке. WordPress очень проигрывает в скорости, так как сам по себе грузиться 2-3 секунды. Все-таки вордпресс достаточно громоздкий движок.

Я считаю, что создание сайта на фреймворке YII2 выигрывает у wordpress в плане потенциала развития, но очень сильно проигрывает в удобстве здесь и сейчас. Но, несомненно, если потратить много времени и сделать удобную админку для сайтов на YII2, такое решение выиграет. Другие фреймворки в расчет не беру, думаю что там ситуация похожая.

Что же касается своего движка, то тут, наверное, можно добиться максимальной скорости загрузки, но только если разрабатывать это будет профессионал. Мой же вариант движка, как видите, никак не выиграл у YII2, но при этом в разы менее «напичкан» функционалом и гораздо менее удобен.

Что вы думаете по поводу этого эксперимента? Может ли такая разница в скорости загрузки страниц помочь проектам на фреймворках занимать более высокие позиции в поиске? Мне очень хочется создать контентный сайт на YII и посмотреть, сможет ли проект попасть на более высокие позиции.

Комментариев: 4
  1. Александр

    WordPress более удобный и функциональный, но это лично мое мнение.

  2. andi

    Главная проблема WordPress — фильтры. Их сотни. И это же его главная сила. Благодаря фильтрам на движке можно сотворить всё, что угодно. Достаточно залезть в репозитарий, где представлено невероятное множество плагинов. Появилась какая-то новая разметка — и через несколько недель, а то и дней, уже есть соответствующий плагин.

    В своём движке не так (работу с фреймворком тоже рассмотрим с этой стороны, ибо тот же Yii — базис, на который накатывается необходимая функциональность и создаётся CMS в идеале). Нужна новая разметка? Пили сам. Хочешь изменить тему? Пили. Добавить защищённости? Опять пили. И всё приходится делать самому. Одно дело если это за деньги, и совсем другое для своего небольшого хобби.

    Ну и оптимизация. WP можно-таки оптимизировать. Достаточно посмотреть на сайт проекта. Его посещаемость явно не тысяча уников в сутки smile

    1. Александр

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

      1. Михаил (автор)

        Все готовое и достаточно качественное — вот в чем выигрывает wordpress. Лично мне он надоел. Конечно, если его изучать неспешно продолжительное время, можно достичь уровня wp-kamы + сделать админку-конфетку. Также на wordpress, кажется, не сделать загрузку страницы быстрее чем за 3 секунды (первый визит). Возможно, я многого не знаю и ошибаюсь. По идее, и 3-4 секунды отличный показатель, но перфекционисту понятно, что не максимальный.

Добавить комментарий