С выходом новой версии WEBO Site SpeedUp (приложения для автоматического ускорения сайтов) — 1.3.0 — мы смогли, наконец, с уверенностью сказать: оно здесь. В смысле: идея автоматического ускорения сайтов реализована.
Напомню, что все начиналось полтора года назад, когда возникла идея собрать воедино все методы ускорения сайта, побороть особенности хостинга множества провайдеров и особенности браузеров, завернуть это все в красивый интерфейс и сделать максимально простым. Последний пункт оказался наиболее трудоемким по реализации (порядка полугода ушло у нас на осознание, проектирование и реализацию окончательной концепции).
В 2009 году, после появления проекта с открытым кодом Web Optimizer (да-да, исходные коды продукта полностью открыты до сих пор), вплоть до декабря месяца шло активное формирование ядра продукта, было очень много промежуточных версий, функционал менялся прямо на глазах. В июне 2009 у продукта появился первый вменяемый интерфейс (основные его идеи были затем использованы в Мастере настройки, и автор интерфейса, fade, теперь работает с нами на постоянной основе).
Основные сложности с продуктом (кроме того, что он вообще сложный :) заключались в необходимости его настройки для каждого конкретного сайта (потому что ситуаций — миллионы, и продукт изначально не создавался для автономного анализа конфигурации сайта и »умного« его ускорения). На основе руководства по установке и настройке была создана онлайн-документация (Wiki, в .pdf-виде занимает несколько десятков страниц), а затем — и видео-руководства по настройке.
Но все это нас не спасло, и осень 2009 года превратилось в полное фиаско. Мы пришли к «обычным» пользователям (которые, может быть, даже термина »клиентская оптимизация« не знали) и предложили наш продукт. А он оказался слишком сложным для них. Но мы не остановились и пошли дальше.
За два месяца был полностью переработан интерфейс, и уже в декабре 2009 продукт получил абсолютно новый интерфейс и расширенную функциональность по настройке, а официальный его релиз состоялся в феврале этого года. И Web Optimizer (доступный до сих пор вплоть до версии 0.6.7) был переименован в WEBO Site SpeedUp.
Кроме того, мы продолжили внутреннюю интеграцию с известными платформами (потому что внешнее приложение, не имея доступа к API системы, не может эффективно кэшировать на сервере HTML-страницы и более грамотно обрабатывать HTML-вывод). Кроме существующих на конец 2009 года интеграций с WordPress, Joomla!, Drupal и Bitrix были добавлены CS-Cart, Magento, Netcat (в ближайших планах — UMI.CMS, MODx и пара других популярных систем). Но и этого нам показалось мало.Контрольным выстрелом стала реализация концепции «умного» ускорения сайта на основе функционала продукта и анализа текущего серверного окружения, ситуации на сайте по производительности и клиентской составляющей — Мастер настройки. Теперь ускорение стало доступно буквально в 3 действия: установить продукт, перейти на страницу продукта и запустить Мастер настройки, включить подготовленную конфигурацию. Все.Что лежит под красивыми картинками с забавными человечками? Во-первых, мы выписали алгоритм настройки продукта, которым сами пользуемся для ускорения сайтов клиентов. Это просто последовательное применение тех настроек, что уже есть в продукте.
Дальше было сложнее. Если посчитать изменение в стилях сайта достаточно просто — ведь можно сравнить вычисленные стили для нескольких (десятков) базовых элементов, и по ним принять решение, все ли в порядке с оптимизацией CSS, — то для JavaScript все сильно хуже. Функциональные тесты провести нельзя, но базовые вещи (отслеживание ошибок на странице при объединении / минимизации файлов) — можно. Тут ждал первый подвох: корректно, в силу стечения многих обстоятельств, алгоритм обнаружения JS-ошибок работает только в Firefox и IE (в основном, потому что есть обработчик window.onerror
). В Opera / Webkit-браузерах такого добиться не удалось, поэтому в ряде случаев автоматика не срабатывает.
Дальше было еще пару сложностей (например, с определением корректности минимизации HTML или обнаружением известных шаблонов для отложенной загрузки), но они все были преодолены. Поэтому остальные части алгоритма (принятие решения о минимизации HTML, использовании data:URI / htaccess / отложенной загрузки JavaScript / множественных хостов) применяются совсем просто и тоже в автоматическом режиме. В ручную настройку мы вынесли пока только регулирование серверного кэширования (потому что понять логику работы сайта автоматически практически невозможно). Может быть, в будущем здесь появится еще пара-тройка вопросов.
В результате, Мастер настройки представляет из себя три шага:
Очевидно, что данный подход хорошо работает только для сайтов, не использующий различное оформление / клиентскую логику в разных разделах. Но в этом случае возможна только ручная настройка (или донастройка) продукта. В будущем мы планируем сделать оптимизацию еще более «умной», чтобы учитывать и такие случае самостоятельно, без дополнительных вопросов к пользователю.
По сравнению с версией 1.2.0
base
при разборе ресурсов.Как мы уже объявляли, теперь продукт для домашних пользователей доступен абсолютно бесплатно. Если вы используете его на коммерческом сайте (т.е. таком, который направлен на извлечение прибыли), то необходимо приобрести лицензию (можно облегченную, 1800 рублей разово). В полную лицензию теперь включена расширенная техническая поддержка, и мы также предлагаем ускорение сайта «под ключ» на базе продукта (для тех, кому нужен гарантированный результат). Естественно, мы работаем по схеме «гарантированное ускорение с оплатой за результат». Отправить заявку можно здесь.
Также доступна SaaS-версия продукта, в которой все расширенные возможности тарифицированы, и можно платить в любом удобном графике, ускорение сайта при этом стоит порядка 100-200 рублей в месяц.
Мы всегда открыты новым предложениям и пожеланиям по работе ускорителя сайтов, и судя по ежедневным письмам от восторженных пользователей, не зря :)
Наш сайт: www.webogroup.com
Раздел продукта: www.webogroup.com/home/site-speedup/
Страница загрузки: www.webogroup.com/home/download/
Онлайн-документация: code.google.com/p/web-optimizator/w/list
Или PDF: code.google.com/p/web-optimizator/downloads/detail?name=webo.site.speedup.userguide.ru.pdf
Наш блог (на английском): blog.webogroup.com/
И наш twitter (на английском): wboptimizer