Как отключить Embed и iframe в WordPress для ускорения сайта

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

Что такое Embed и iframe в WordPress и почему их отключают

Под Embed понимается механизм, позволяющий автоматически встраивать контент из внешних источников — YouTube видео, Twitter-твиты, посты Instagram и многие другие. WordPress реализует это через oEmbed протокол, который преобразует ссылки в медиа-блоки.

Iframe — это HTML-тег для встраивания другого HTML-документа внутрь страницы. Часто iframe используется для вставки видео, карт, форм и стороннего контента.

Проблемы с Embed и iframe:

  • Подключение к сторонним серверам замедляет загрузку страниц.
  • Внешние скрипты и стили могут конфликтовать с темой или плагинами, вызывая задержки.
  • Увеличивается количество HTTP-запросов и общий размер страницы.
  • Снижается безопасность — iframe может содержать уязвимый код.

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

Как отключить oEmbed в WordPress стандартными средствами

WordPress предоставляет фильтры и функции для отключения oEmbed. Ниже пример кода, который можно добавить в functions.php темы или в свой плагин:

function wpspeed_disable_oembed() {
    // Отключаем автоматическую вставку oEmbed
    remove_action('wp_head', 'wp_oembed_add_discovery_links');
    remove_action('wp_head', 'wp_oembed_add_host_js');
    remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
    remove_action('rest_api_init', 'wp_oembed_register_route');
    add_filter('embed_oembed_discover', '__return_false');
    add_filter('tiny_mce_plugins', 'wpspeed_disable_tinymce_oembed');
    add_filter('rewrite_rules_array', 'wpspeed_remove_oembed_rewrites');
}
function wpspeed_disable_tinymce_oembed($plugins) {
    return array_diff($plugins, array('wpembed'));
}
function wpspeed_remove_oembed_rewrites($rules) {
    foreach($rules as $rule => $rewrite) {
        if(strpos($rewrite, 'embed=true') !== false) {
            unset($rules[$rule]);
        }
    }
    return $rules;
}
add_action('init', 'wpspeed_disable_oembed');

Этот код полностью отключит функционал oEmbed, включая поддержку REST API и TinyMCE. После добавления рекомендуется очистить кэш и проверить работу сайта.

Как ограничить или заблокировать использование iframe в контенте WordPress

В WordPress iframe можно вставлять напрямую в редактор. Чтобы запретить использование iframe, можно применять фильтр wp_kses_allowed_html. Пример кода для удаления тега iframe из разрешённых:

function wpspeed_disable_iframe_in_content($allowed_tags) {
    if(isset($allowed_tags['iframe'])) {
        unset($allowed_tags['iframe']);
    }
    return $allowed_tags;
}
add_filter('wp_kses_allowed_html', 'wpspeed_disable_iframe_in_content');

Данный код удалит поддержку iframe из разрешённых HTML-тегов, и при сохранении записи iframe будет удалён или экранирован. Это безопасный способ предотвратить внедрение iframe в контент.

Если нужно полностью запретить iframe, включая вставки через редактор Gutenberg, можно дополнительно заблокировать соответствующие блоки с помощью JavaScript в админке.

Пример блокировки iframe-блока в Gutenberg

function wpspeed_disable_gutenberg_iframe_block() {
    wp_enqueue_script('wpspeed-disable-iframe', get_template_directory_uri() . '/js/disable-iframe.js', array('wp-blocks', 'wp-dom-ready', 'wp-edit-post'), null, true);
}
add_action('enqueue_block_editor_assets', 'wpspeed_disable_gutenberg_iframe_block');

Файл disable-iframe.js должен содержать:

wp.domReady(() => {
    wp.blocks.unregisterBlockType('core/html'); // отключить блок HTML, где часто вставляют iframe
    // Можно дополнительно заблокировать конкретные блоки или добавить предупреждения
});

Плагины для управления Embed и iframe для ускорения WordPress

Если не хочется писать код, есть плагины, которые помогут быстро ограничить oEmbed и iframe:

  • Disable Embeds — популярный плагин, отключающий все oEmbed функции и REST API связанные с ними.
  • Clearfy Pro (https://wpshop.ru/clearfy-pro?utm_source=wpspeed.ru&utm_medium=article&utm_campaign=kak-otkljuchit-embed-iframe-wordpress-dlja-uskoreniya-sajta) — расширенный набор инструментов для оптимизации, включая отключение oEmbed и iframe.
  • WP Content Filter

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

Проверка результатов и отладка после отключения Embed и iframe

После внесения изменений важно проверить работу сайта:

  • Откройте страницы с видео и другими вставками — они должны либо не отображаться, либо показывать ссылку без встраивания.
  • Проверьте исходный код страницы — теги iframe должны отсутствовать, и не должно быть скриптов oEmbed.
  • Используйте инструменты типа Google PageSpeed Insights, GTmetrix, чтобы сравнить скорость загрузки до и после оптимизации.
  • Проверьте работу REST API — в случае отключения oEmbed запросы к /wp-json/oembed/ должны возвращать ошибку 404.

Если что-то работает некорректно, отключите кэш и плагины оптимизации на время дебага.

Заключение

Отключение и ограничение Embed и iframe — эффективный способ ускорить загрузку WordPress-сайта и повысить безопасность. Правильное применение фильтров и хуков позволяет сделать это без ущерба для удобства. Для простых сайтов достаточно добавить несколько строк кода, для сложных — использовать продвинутые плагины типа Clearfy Pro. В любом случае проверяйте результат и адаптируйте решения под свои задачи.

Как успешно оптимизировать базы данных WordPress для ускорения сайта
04.11.2025
Как отключить XML-RPC в WordPress для ускорения сайта и повышения безопасности
28.02.2026
WooCommerce: оптимизация обработки платежей при большом объеме заказов
29.04.2026
Как использовать Object Cache в WordPress для ускорения сайта
30.11.2025
Оптимизация отложенной загрузки шрифтов в WordPress
13.02.2026