В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и насколько они точны. Также, кроме уточнения самой доли рынка хотелось получить статистику по используемым версиям Joomla.
Ну и весомым фактором было желание попробовать сделать с Joomla что-то новое, выходящее за рамки обычной рабочей рутины - сделать собственное исследование ?
Существующие источники данных и методология
Joomla stats API
Начиная с Joomla 3.5.0 в составе ядра появился плагин сбора статистики. Joomla 3.5.0 вышла 21 марта 2016 года. После каждой новой установки Joomla при входе в панель администратора мы видим предложение делиться анонимной статистикой со стат-сервером Joomla. Плагин может отправлять следующие типы данных:
версию установленной CMS,
версию PHP
тип и версию базы данных
ОС сервера
Плагин может отправлять данные один раз после установки или же регулярно. Таким образом, если Вы обновили свой сайт или подняли версию PHP - joomla.org об этом узнает.
Зачем это нужно? Любой грамотный проект должен быть "data-driven" - быть основанным на данных. Для этого собирают разного рода статистику. Для международного сообщества разработчиков Joomla эта статистика позволяет адекватно планировать развитие движка. Так же эти данные нужны и разработчикам сторонних расширений для Joomla. На странице публичной статистики Joomla можно увидеть данные "за всю историю" и "недавние".
Недавние данные - это данные, отправленные сайтами за последние 180 дней. Так мы можем увидеть процентное соотношение по версиям Joomla, но без точного количества.
"Недавняя" статистика сообщает, что больше половины сайтов обновились на Joomla 4+, 20,06% уже работают на Joomla 5+.
W3Techs
На сайте W3Techs в разделе Usage statistics and market shares of content management systems представлена статистика использования CMS (их можно развернуть на собственном сервере) и сервисов для создания сайтов (сайт по сути принадлежит сервису). Joomla долгое время занимает 2 строчку в этом отчете среди наиболее популярных движков в мире.
На странице Technologies Overview описывается методика и принципы анализа данных, среди которых нужно выделить следующие:
учитываются только релевантные сайты. По сайтам ходит краулер, который определяет сначала релевантность сайта на основе анализа значимости содержания или функциональности.
исключаются сайты, не имеющие полезного контента. Например сайты, на которых отображается только страница веб-сервера по умолчанию или они являются копиями, зеркалами других сайтов.
если на любой из страниц обнаружены признаки какого-либо движка, то считается, что она используется всем сайтом. Это может привести к не совсем корректным результатам, так как подразделы сайта могут быть реализованы на технологиях, отличных от основного: например, основной сайт на Joomla, а раздел с обучающими курсами - на Moodle. Если отталкиваться от описания методики, робот, попавший на подраздел с Moodle будет считать, что весь сайт сделан на Moodle, хотя на самом деле нет.
поддомены не считаются отдельными сайтами. Например,
sub1.example.com
иsub2.example.com
считаются принадлежащими тому же сайту, что иexample.com
. Это означает, например, что все поддоменыwix.com
,wordpress.com
и подобных сайтов считаются одним сайтом.не учитываются редиректы. Если домен редиректит на другой - то домен-цель не учитывается.
Серая полоска - это процент от всех сайтов в мире. Зелёная полоска - процент от сайтов использующих CMS и сервисы создания сайтов. Серая полоска вызывает больше доверия, так как нет спорного фактора "а что засчитывать за сайт работающий на CMS".
На странице W3Techs указано, что CMS - это "Content management systems are applications for creating and managing the content of a website". А под это определение попадает огромное количество решений. Поэтому ориентируемся на цифру в 1,7% от числа релевантных сайтов по версии W3Techs на конец марта 2024 года.
Рейтинг 2ip.ru
На странице статистика использования CMS по всему интернету Joomla занимает 5-е место с 2,33%. Сервис проверил 260,000,000 доменов во всех доменных зонах и опираясь на эти данные выстроил следующий рейтинг.
Методология подробно не описывается, поэтому к цифрам можно относится с некоторой долей недоверия. Тем более, что, например, WooCommerce - это плагин для WordPress, отдельно он не работает. Входит ли 6,81% WooCommerce в 62,01% WordPress или нет? И так далее. Если убрать сервисы (Shopify и Wix, а так же WooCommerce как часть WordPress), то Joomla будет на 2-м месте.
itrack.ru: исследование популярности CMS за 2024 год
Исследование проводилось в январе 2024 года, а на глаза попалось только сейчас, в процессе написания статьи.
Всего было опрошено 5 465 652 доменов зоны RU. 56,2% опрошенных доменов ответили в течение 30 секунд, а CMS обнаружена на 23,2% доменов. Доля платных тиражных CMS составляет примерно 17,9% от общей доли обнаруженных CMS, а доля узкоспециализированных* — 4,1%.
Также описана методология сбора и анализа данных: в ходе исследования были проанализированы все домены второго уровня в зоне ru
. На каждом домене робот-краулер пытался обнаружить CMS по уникальным для них признакам.
Опрос осуществляется по следующему алгоритму:
Подготавливается свежий список доменов зоны ru.
Отпечатки CMS упорядочиваются в соответствии с адресом страницы таким образом, чтобы более популярные системы определялись на первых итерациях сканирования.
Осуществляется поэтапное сканирование сайтов: робот «обходит» все домены, проверяя отпечаток, а затем переходит к следующему отпечатку, получается более 40 проходов.
Домен считается ответившим ошибкой, если при первом проходе (главной страницы) было обнаружено, что домен не делегирован, домен не отвечает или таймаут ответа составил более 30 секунд. При последующих проходах возникающие ошибки не приводят к завершению сканирования домена.
В случае, если домен отвечает перенаправлением на такой же домен, но с адресом www., робот переходит на новый адрес и продолжат сканирование. Перенаправления на остальные домены обрабатываются как ошибка. Внутренние редиректы не обрабатываются, в этом случае робот просто продолжает сканирование.
По итогам исследования Joomla заняла 4-е место с 7,13%.
В рейтинге бесплатных CMS Joomla заняла 12,6%.
При этом, чуть ниже дан рейтинг бесплатных CMS, где указаны точные цифры. В январе 2024 года среди 5 465 652 доменов зоны RU нашлось 90 400 сайтов. 90400 * 100 / 5 465 652 = 1,653965528723746%. Запомним эту цифру, так как любопытно будет увидеть динамику.
Собственное исследование
Методология в целом та же, что и iTrack: на Joomla был написан плагин-краулер. Из открытых источников был получен список доменов RU-зоны по состоянию на 21 февраля 2024 года, коих оказалось 5 521 123. Далее паук обходил домены в несколько потоков.
Для точного определения Joomla ли это и если Joomla, то какая именно нужно сделать от 1 до 4 запросов. Ограничений по таймаутам не было. Редиректы учитывались все. Поскольку столкнулся с исследованием iTrack уже после проведения своего - с методологией исследователей знаком не был, но учет редиректов, описанный у iTrack на мой взгляд является более разумным, чем у меня. Возьму на карандаш на будущее.
Результаты: сколько Joomla-сайтов в ru-зоне в 2024 году?
Всего доменов - 5 521 123.
Joomla сайтов - 95831 - это округлённо 1,74%.
Расклад по версиям Joomla
Joomla 1.x - 1331 сайтов ~ 1,39%. Сюда входят все версии Joomla 1.x, включая RE - Russian Edition.
Joomla 1.5.x - 9507 сайтов ~ 9,92%. Сюда входят все версии Joomla от 1.5.0 до 1.5.9. Причем на последней версии линейки - 1.5.9 - 792 сайта.
Joomla 1.6.x - 169 сайтов ~ 0,18%. Сюда входят все версии Joomla от 1.6.0 до 1.6.6.
Joomla 1.7.x - 471 сайт ~ 0,49%. Сюда входят все версии Joomla от 1.7.0 до 1.7.5.
Joomla 2.5.x - 14014 сайтов ~ 14,62%. Сюда входят все версии Joomla от 2.5.0 до 2.5.28.
Joomla 3.x - 62428 сайтов ~ 65,14%. Сюда входят все версии Joomla от 3.0.0 до 3.10.12. Из них 19734 сайта на версиях 3.9.х, 24987 сайтов на версии старше 3.10. 10561 сайтов на версиях до 3.6.5 включительно.
Joomla 4.x - 6848 сайтов ~ 7,15%. Сюда входят все версии Joomla от 4.0.0 до 4.4.3.
Joomla 5.x - 992 сайтов ~ 1,04%. Сюда входят все версии Joomla от 5.0.0 до 5.0.3 (последний на момент написания статьи релиз).
Итого примерно у 99,93% удалось определить версию CMS.
76 non-Joomla сайтов имели признаки, похожие на Joomla и поэтому попали в статистику.
17 сайтов имеют alpha-версию CMS, хотя alpha релизы находятся на стадии активной разработки и устранения ошибок и не предназначены для использования на "боевых" сайтах. 12 сайтов используют beta-версию (от 3.7.0 до 5.1.0). На 86 сайтах установлены RC-релизы (Release candidate).
Интерпретация результатов
Теперь самое интересное и, одновременно, сложное - как оценить полученные данные? Попробуем взглянуть с 2-х сторон - положительной и отрицательной.
Интерпретация в негативном ключе
В целом статистика распределения версий Joomla по сайтам указывает на несколько вещей:
Пик популярности CMS Joomla как массового решения для создания сайтов пришёлся на 1-ю половину 2010-х годов. Затем рынок в web стал меняться (например, уход немалой доли продаж в соц.сети и маркетплейсы) и многие сайты остались в заброшенном состоянии. Также на пути развития Joomla как продукта были случаи, когда ломалась обратная совместимость, что приводило к немалой потере аудитории.
Многие клиенты и/или их веб-разработчики в принципе не заботятся о безопасности сайта и его "здоровье", не обновляют версии движка и расширений. Тем самым не закрываются найденные и уже исправленные командой Joomla уязвимости. Процитирую здесь один из своих комментариев к публикации на тему безопасности, где вскользь упоминался взлом Joomla.
"Joomla - дырявое ведро", "код Joomla - это треш, код - г***но, ужас" и некоторые другие подобные выражения в определенной среде были на уровне мемов. Но виновата ли в этом сама Joomla? Развивая предыдущую мысль представим, что в 2024-м году условному PHP-шнику, который с Joomla никогда не встречался, пришла задача сделать хоть что-то с сайтом, который сделан на 2.5.x или на 3.4.x. Чаще всего человек не будет вдаваться в подробности: а какая современная версия? обновлён ли сайт? и т.д. Он будет искать наикратчайший путь решения своей задачи, будь то создание некоего функционала для сайта или внешняя интеграция. Работу он сделает, но "осадочек останется" и молва разнесётся и дальше по профессиональной среде.
Речь здесь нужно вести, наверное, о цифровой культуре владельцев сайтов, которые должны понимать, что сайт - это не просто "вещь", а "процесс". И основа этого процесса - движок - должен обслуживаться, обновляться, должны создаваться резервные копии и т.д. Однако, у многих, возможно, такого понимания нет. Цифры статистики говорят, отчасти, об этом. И второе - это культура и честь веб-мастера, веб-разработчика, который следит за сайтом, обновляет его, а также ведёт его так, чтобы другие разработчики после него не матерились, разгребая спагетти-код и понимая, что проще всё снести и создать заново.
В моей практике встречался сайт, созданный в 2022 году на версии 3.7.2 - 6-летней на тот момент давности.
Ну и использование нестабильных версий на "боевых" сайтах - это прям чуднО. Хоть и не массовое явление, но оно есть.
Интерпретация в позитивном ключе
Посмотрим на эти цифры с другой стороны [marketing specialist mode enable]
.
Cтолько не обновлённых сайтов - это ж сколько работы-то! Обновить не переобновить! До пенсии хватит, если доживём ?.
1,74% - это достаточно большая цифра на таких масштабах. В целом она совпадает с оценками W3Tech в мировом масштабе.
Часто сравнивают Joomla и Wordpress как ближайших конкурентов. Однако, у Joomla несколько другая ниша, чем у того же WordPress. Joomla в этом плане "сидит на двух стульях". С одной стороны это CMS и этим сильно понижается порог входа сайтами "без знания кода за 3 часа", к сожалению. А с другой стороны фрейм под капотом требует знания API, плюсов и минусов, принятых для ядра методов реализации и подходов, как и в любом другом фрейме. И этим сильно повышается порог входа для тех, кто перерастает уровень сайта "без кода за 3 часа". Особенно в Joomla 4 / Joomla 5 без профессиональных инструментов а-ля PHP Storm делать нечего. А на фрилансе мелькают в основном задачи за 3 копейки. Я бы сказал, что в каком то смысле это "порочит" репутацию Joomla.
Разительно меньшее количество сайтов на Joomla 4 и Joomla 5 можно понимать и так, что из аудитории Joomla "отсеиваются" те, кто расценивают её как полную замену сервисам прототипирования сайтов а-ля Wix, Tilda и т.д. Хотя и на Joomla подобные решения существуют. Таким образом Joomla двигается к нише более сложных и дорогих проектов. Буквально вчера состоялся разговор с Joomla-разработчиком, где эта тема тоже была затронута.
Любопытным моментом является то, что по случайному совпадению и я, и исследователи iTrack сканировали примерно один и тот же массив доменов - в зоне ru
. С января 2024 года по март 2024 количество Joomla-сайтов выросло с 90400 (1,65%) до 95831 (1,74%). За вычетом 76 случайно попавших non-Joomla сайтов число будет 95755 сайтов = 1,73%.
Вместо заключения
В исследованиях принято ставить цели в начале, а в заключении определять достигли ли мы своих целей (конечно достигли! Зря что ли мы всё это писали столько времени!). В данном случае цель "попробовать что-то новое, выходящее за рамки обычной рабочей рутины" была однозначно достигнута и одним из результатов её стала другая моя статья - Добавление своих команд для CLI в Joomla 4 и Joomla 5 с помощью плагина.
Другая цель - узнать долю рынка, которую занимает Joomla - тоже в целом была достигнута. Уникальность данного исследования в том, что дана информация о конкретных версиях движка. Также получена панорама по используемым версиям Joomla до 2016 года, когда в ядре появился плагин сбора статистики. Что с этим теперь делать? Понимать тренды, динамику, куда движется мир web-разрабтки и какие инструменты и как в нём остаются востребованными.
Полезные ресурсы Joomla
Ресурсы сообщества:
https://vc.ru/s/1146097-joomla - Сообщество Joomla на VC.
Telegram:
Вакансии и предложения работы по Joomla: фуллтайм, частичная занятость и разовые подработки. Размещение вакансий здесь.