Чтобы повысить производительность сайта, важно обращать внимание на каждую мелочь. Даже если оптимизация отдельного элемента сводится к сокращению веса ресурса всего на пару байтов, в сумме может получиться вполне приличный объем, способный заметно повлиять на скорость его загрузки. В той статье мы расскажем о том, как избавиться от еще одного незаметного «пожирателя» ресурсов сайта – автоматических внедрений в WordPress.
Что такое “встроить” и для чего это нужно
Функция oEmbed впервые стала доступна в WordPress 4.4. Суть ее проста: вы вставляете ссылку с внешним ресурса (к примеру, пост в Twitter или видео на YouTube), и WordPress показывает ее содержимое. То есть на сайте вместо ссылок вы можете видеть записи из соцсетей, ролики из YouTube и т. д., при этом никаких кодов предварительно не нужно. Если, например, вставить ссылку на композицию из SoundCloud в визуальном редакторе, то она сразу преобразится и будет выглядеть вот так:
Протокол oEmbed работает не только с популярными соцсетями. Полный список поддерживаемых ресурсов можно посмотреть тут .
Вроде бы полезная вещь, но многим она просто не нужна в силу специфики сайта. В таком случае автоматическое встраивание лучше отключить, так как оно создает дополнительный HTTP-запрос для загрузки файла wp-embed.min.js. Сам файл весит чуть меньше 2 кБ, но подгружается он на каждой странице. К тому же, зачастую больше проблем создает запрос на получение этого файла.
Как отключить “внедрение” в WordPress
Отключить внедрение в WordPress можно несколькими способами (в зависимости от ваших умений). Рассмотрим два самых основных:
- При помощи плагина.
- При помощи кода.
1. Отключаем вставить один кликом с помощью плагина
Встраивание в «Вордпресс» можно отключить одним кликом, если установить плагин Clearfy. Для этого откройте вкладку «Производительность» и активируйте опцию «отключить Embeds».
Это всего лишь одна из множества опций плагина. 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. Он выполняет сразу несколько задач, и вам не придется скачивать отдельные плагины под каждую из них. В случае, если вы не хотите, чтобы отключить доступ к ним: эта возможность поможет не раз сэкономить время.