Убираем загрузку стандартного JQuery в WordPress

Статья будет о двух надоедливых вшитых скриптах в WordPress, которые тормозят загрузку страницы и являются абсолютно бесполезными для посетителей, особенно если у вас подключена своя более новая версия jQuery.

Но здесь вопрос даже не в самой версии скрипта, а в том, что он выводится в разделе HEAD. Мы имеем 2 лишних запроса к серверу и увеличение веса страницы почти на 200 кб. Все кто пытался ускорить блог с помощью PageSpeed Insights, с ними сталкивался.

Лежат эти скрипты здесь:
site.com/wp-includes/js/jquery/jquery.js
site.com/wp-includes/js/jquery/jquery-migrate.min.js

Но беда вся в том, что просто удалить их нельзя. Во-первых, они нужны для корректной работы админ панели, а во-вторых, при обновлении WordPress они снова появятся. Поэтому нам нужен способ, который бы позволил не выводить эти скрипты в HEAD для посетителей, и чтобы при этом админка оставалась работоспособной.

Решается это с помощью следующего скрипта, который нужно добавить в файл functions.php вашей темы (между уже установленными скриптами, либо в самый конец перед символами ?>), и на всякий случай сделайте резервную копию:

//отключаем jQuery
add_filter( 'wp_default_scripts', 'dequeue_jquery_migrate' );
function dequeue_jquery_migrate( &$scripts){
  if(!(is_admin_bar_showing())){
    $scripts->remove( 'jquery');
    //$scripts->add( 'jquery', false, array( 'jquery-core' ), '1.11.1? );
  }
}
//отключаем jQuery

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

Ну, вот как бы и все. Админка полностью работоспособная, а для посетителей эти скрипты не выводятся. Осталось только обновить кэш, в моем случае это W3 Total Cache, и снова проверить скорость загрузки.

Все, скрипты Google больше не мешают, остались только CSS-ки. Как видите, прирост скорости получился в 11%, что очень даже не плохо.