Удаление неиспользуемого JavaScript

Удалите неиспользуемый JavaScript‑код, чтобы ускорить загрузку страницы до 0.2 секунды, снизить нагрузку на браузер — особенно на мобильных устройствах и упростить работу разработчиков за счёт более чистого и понятного кода.

Результат (пример)

JS файл Сокращение размера Удалённые участки
https://example.com/wp-includes/js/jquery/jquery.min.js 85.50 КБ42.71 КБ
Код 314
https://example.com/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js 2.87 КБ2.33 КБ
Код 8
https://example.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js 9.41 КБ1.88 КБ
Код 13
https://example.com/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js 2.09 КБ902 Б
Код 9
https://example.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js 2.97 КБ698 Б
Код 6
https://example.com/wp-includes/js/jquery/jquery-migrate.min.js 13.26 КБ8.10 КБ
Код 43
https://example.com/wp-content/themes/storefront/assets/js/navigation.min.js 2.96 КБ1.25 КБ
Код 6
https://example.com/wp-content/themes/storefront/assets/js/woocommerce/header-cart.min.js 532 Б301 Б
Код 1
https://example.com/wp-content/themes/storefront/assets/js/footer.min.js 746 Б535 Б
Код 2
https://example.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js 1.80 КБ1.55 КБ
Код 5
Всего: 122.10 КБ60.20 КБ
Скачать архив, где лишний код закомментирован

Как пользоваться?

Статья инструкция.

Видеоинструкция: ВК видео, Youtube, Дзен, Rutube.

В общем виде порядок работы с инструментом состоит из 4 простых этапов:

  • Сканирование страниц сайта. Отключите функцию группировки файлов, если таковая имеется, и запустите сканирование страниц разных типов: категорию товаров, карточка товара, информационная страница, главная. Добавлять 2 разных карточки товара или 2 разных страницы категории товара — бессмысленно, так как используемые стили у них будут одинаковые.
  • Загрузка отчищенных файлов на тестовую площадку для разработки. Скопируйте файлы в корневую папку вашего сайта с заменой текущих файлов. Если у вас своя система управления JavaScript файлами или вы используйте нетиповое решение, то файлы нужно заменять вручную.
  • Тестирование и правка. Открывайте страницы, тестируйте их и проверьте консоль браузера на сообщения вида QSU_28, QSU_123. Это сработал маячок и означает, что была вызвана JavaScript функция помеченная сервисом, как неиспользуемая. Удалите маячок и раскомментируйте функцию, которая за ним следует. Повторяйте это действие пока страница не восстановит работоспособность. Займёт до 15 минут на типовую страницу.
  • Удаление маячков и закомментированных функций. После тестирования удалите оставшиеся закомментированные участки кода и вызовы функций вида console.log("QSU_28"). Они и есть неиспользуемый JavaScript код.
Эта функция, если она всё-таки используется, во время тестов выведет в консоль браузера сообщение «QSU_28».
Эта функция, если она всё-таки используется, во время тестов выведет в консоль браузера сообщение «QSU_28».

Советы:

  • Начинайте с основных файлов вашего шаблона, а потом переходите к плагинам и системным файлам.
  • Все манипуляции проводите на тестовой копии сайта.
  • Используйте систему контроля версий вроде git или SVN. Так, вы проконтролируйте изменение каждой строчки, и в случае чего сможете вернуть всё назад.

Как не удалить ничего лишнего?

Большая часть JavaScript кода страницы исполняется в ответ на действия пользователя. Например, если при клике на какой-то элемент выполняется функция, то она будет закомментирована. Так происходит потому, что наш инструмент не имитирует действия пользователя.

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

Существуют ли аналоги нашего инструмента?

Нет.

Вернуться
Мы используем cookie. Продолжая пользоваться сайтом, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности. Соглашаюсь