Как отключить embeds в WordPress

Чтобы повысить производительность сайта, важно обращать внимание на каждую мелочь. Даже если оптимизация отдельного элемента сводится к сокращению веса ресурса всего на пару байтов, в сумме может получиться вполне приличный объем, способный заметно повлиять на скорость его загрузки. В той статье мы расскажем о том, как избавиться от еще одного незаметного «пожирателя» ресурсов сайта – автоматических внедрений в WordPress.

 

Что такое “встроить” и для чего это нужно

Функция oEmbed впервые стала доступна в WordPress 4.4. Суть ее проста: вы вставляете ссылку с внешним ресурса (к примеру, пост в Twitter или видео на YouTube), и WordPress показывает ее содержимое. То есть на сайте вместо ссылок вы можете видеть записи из соцсетей, ролики из YouTube и т. д., при этом никаких кодов предварительно не нужно. Если, например, вставить ссылку на композицию из SoundCloud в визуальном редакторе, то она сразу преобразится и будет выглядеть вот так:

Так выглядит преобразованная ссылка на композицию из SoundCloud в визуальном редакторе WordPress

Протокол oEmbed работает не только с популярными соцсетями. Полный список поддерживаемых ресурсов можно посмотреть тут .

Вроде бы полезная вещь, но многим она просто не нужна в силу специфики сайта. В таком случае автоматическое встраивание лучше отключить, так как оно создает дополнительный HTTP-запрос для загрузки файла wp-embed.min.js. Сам файл весит чуть меньше 2 кБ, но подгружается он на каждой странице. К тому же, зачастую больше проблем создает запрос на получение этого файла.

 

Как отключить “внедрение” в WordPress

Отключить внедрение в WordPress можно несколькими способами (в зависимости от ваших умений). Рассмотрим два самых основных:

  1. При помощи плагина.
  2. При помощи кода.

1. Отключаем вставить один кликом с помощью плагина

Встраивание в «Вордпресс» можно отключить одним кликом, если установить плагин Clearfy. Для этого откройте вкладку «Производительность» и активируйте опцию «отключить Embeds».

отключить embed в wordpress с помощью Clearfy

Это всего лишь одна из множества опций плагина. Clearfy – мощный бесплатный инструмент, позволяющий быстро и просто убирать лишний код, устранять ошибки, оптимизировать страницы и файлы для поисковых систем и мн. др. При правильном использовании плагин позволяет значительно повысить производительность без особых усилий. На данный момент Clearfy имеет более 40 тысяч установок и большое количество положительных отзывов пользователей из разных стран мира. Скачать его можно здесь .

 

2. Отключаем встроить самостоятельно – при помощи кода

Чтобы встраивание перестало досаждать, можно также отключить его с помощью кода в functions.php:

function disable_embeds_code_init() {

 // Remove the REST API endpoint.
 remove_action( 'rest_api_init', 'wp_oembed_register_route' );

 // Turn off oEmbed auto discovery.
 add_filter( 'embed_oembed_discover', '__return_false' );

 // Don't filter oEmbed results.
 remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );

 // Remove oEmbed discovery links.
 remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );

 // Remove oEmbed-specific JavaScript from the front-end and back-end.
 remove_action( 'wp_head', 'wp_oembed_add_host_js' );
 add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );

 // Remove all embeds rewrite rules.
 add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );

 // Remove filter of the oEmbed result before any HTTP requests are made.
 remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );
}

add_action( 'init', 'disable_embeds_code_init', 9999 );

function disable_embeds_tiny_mce_plugin($plugins) {
    return array_diff($plugins, array('wpembed'));
}

function disable_embeds_rewrites($rules) {
    foreach($rules as $rule => $rewrite) {
        if(false !== strpos($rewrite, 'embed=true')) {
            unset($rules[$rule]);
        }
    }
    return $rules;
}

Скопируйте этот код и вставьте в самый конец файла functions.php (он доступен в меню «Редактор» во вкладке «Внешний вид»).

Важно: Код на сайте нужно редактировать очень осторожно. Не забудьте сделать бекап перед тем, как сделать изменения. Если у вас совсем нет опыта и уверенности в своих силах, лучше прибегнуть к услугам или воспользоваться готовым решением в виде плагина (см. Пред. Параграф) .

 

Заключение

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