Как удалить скрипт отложенной загрузки в WordPress

Что такое отложенная загрузка скриптов и зачем её отключать

Отложенная загрузка (defer, async, lazy load) — это техника оптимизации загрузки страницы, при которой скрипты или ресурсы загружаются позже, после основного контента или в момент, когда они действительно нужны. В WordPress многие плагины и темы используют эту технологию, чтобы ускорить время загрузки и улучшить показатели Core Web Vitals.

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

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

Типы отложенной загрузки скриптов в WordPress и как их выявить

Атрибуты defer и async

Самый простой способ отложить загрузку скриптов — добавить к тегу <script> атрибуты defer или async. Например:

<script src="example.js" defer></script>

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

Lazy Load для изображений и iframe

Отложенная загрузка часто применяется к изображениям и iframe с помощью атрибута loading="lazy". Его также можно удалить программно при необходимости.

Плагины, которые реализуют отложенную загрузку

Популярные плагины для оптимизации, например, Clearfy Pro, Autoptimize, WP Rocket, часто внедряют отложенную загрузку. В таких случаях стоит проверить настройки плагина. Но если нужно убрать отложенную загрузку вручную, это возможно через код.

Как удалить отложенную загрузку скриптов через functions.php

Чтобы убрать атрибуты defer и async, добавленные через фильтр script_loader_tag, можно использовать следующий код:

function wppuzzle_remove_defer_async( $tag, $handle, $src ) {
    // Список скриптов, у которых нужно убрать defer или async
    $scripts_to_clean = array('example-script-handle', 'another-script');

    if ( in_array( $handle, $scripts_to_clean ) ) {
        // Удаляем атрибуты defer и async из тега
        $tag = str_replace( array(' defer', ' async'), '', $tag );
    }
    return $tag;
}
add_filter( 'script_loader_tag', 'wppuzzle_remove_defer_async', 10, 3 );

В этом примере замените example-script-handle на идентификаторы скриптов, которые хотите исправить. Чтобы узнать handle, посмотрите в код темы или используйте плагин Query Monitor.

Удаление lazy load у изображений и iframe

WordPress с версии 5.5 внедрил поддержку отложенной загрузки изображений и iframe по умолчанию. Если нужно убрать это поведение для всех изображений, добавьте в functions.php:

add_filter( 'wp_lazy_loading_enabled', '__return_false' );

Если хотите отключить lazy load только для определённых изображений, можно использовать фильтр с проверкой:

function wppuzzle_disable_lazy_for_specific_images( $default, $image, $context ) {
    // Например, отключаем lazy load для изображений с классом no-lazy
    if ( strpos( $image->get_attribute('class'), 'no-lazy' ) !== false ) {
        return false;
    }
    return $default;
}
add_filter( 'wp_lazy_loading_enabled', 'wppuzzle_disable_lazy_for_specific_images', 10, 3 );

Отключение отложенной загрузки в популярных плагинах (пример Clearfy Pro)

В Clearfy Pro и подобных плагинах отложенная загрузка часто включается в настройках. Чтобы полностью убрать её для скриптов:

  • Перейдите в настройки плагина Clearfy Pro.
  • Отключите опцию «Отложенная загрузка JavaScript» или «Defer JS».
  • Сохраните изменения и проверьте работу сайта.

Если отключить через настройки нельзя, то можно попробовать добавить фильтры или исключения в functions.php, как описано выше.

Пример полного решения — отключение defer для скриптов jQuery и lazy load для изображений

Иногда jQuery может конфликтовать с отложенной загрузкой. Чтобы убрать defer для jQuery и отключить lazy load у всех изображений, используйте:

function wppuzzle_fix_jquery_defer( $tag, $handle, $src ) {
    if ( 'jquery-core' === $handle || 'jquery' === $handle ) {
        $tag = str_replace( array(' defer', ' async'), '', $tag );
    }
    return $tag;
}
add_filter( 'script_loader_tag', 'wppuzzle_fix_jquery_defer', 10, 3 );

add_filter( 'wp_lazy_loading_enabled', '__return_false' );

Этот код поможет избежать типичных проблем с jQuery и изображениями при отложенной загрузке.

Советы по отладке и проверке результата

После внесения изменений рекомендую:

  • Очистить кэш сайта и браузера.
  • Проверить исходный код страницы — в тегах <script> не должно быть атрибутов defer/async там, где вы их отключили.
  • Использовать инструменты разработчика браузера для просмотра загрузки скриптов.
  • Проверить работоспособность функционала, связанного с этими скриптами.

Для анализа можно использовать плагин Query Monitor, чтобы увидеть, какие скрипты загружаются и с какими атрибутами.

Выводы

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

Используйте приведённые примеры кода и рекомендации, чтобы гибко управлять поведением загрузки скриптов на вашем сайте.

Подробнее о плагинах для оптимизации и управлении скриптами можно узнать на WPSHOP.ru.

Как отключить автопроигрывание видео в WordPress
01.02.2026
Оценка производительности WordPress сайта в реальных условиях
23.12.2025
Как удалить автоматические подписки на письмах WordPress и избежать спама
16.12.2025
Как добавить дополнительные поля в регистрацию WordPress
29.11.2025
Автоматическое удаление старых transient данных в WordPress
16.02.2026