
Вы только что обнаружили, что пропали iframe с видео VK в WordPress, и теперь вместо роликов — пустота? Поздравляем, вы не одиноки! Эта напасть сваливается на владельцев сайтов внезапно, как налоговая проверка на малый бизнес. То ли Гутенберг решил «почистить» ваш код, то ли сам ВКонтакте тайно обновил API, а может, плагины безопасности устроили заговор против вас. В любом случае — паника неуместна. Мы разберёмся, кто виноват и, главное, как вернуть украденные видео!
Представьте: вчера ваш блог радовал читателей классным контентом, а сегодня половина записей выглядит так, будто их лишили главного — видео. HTML-блоки пусты, редактор молчит, а вы уже мысленно прощаетесь с трафиком. Но прежде чем в отчаянии переходить на YouTube, давайте выясним, можно ли спасти ситуацию. Спойлер: да, и иногда это проще, чем кажется!
Глава 1. Преступление
Вы спокойно пили утренний кофе, проверяли статистику сайта, как вдруг… ВАШИ ВИДЕО ИСЧЕЗЛИ.
Точнее, не сами видео, а их iframe-коды. Вчера ещё работало, а сегодня — пустота. Гутенберг демонстративно показывает вам пустой HTML-блок, словно насмехаясь: «А что, разве тут что-то должно быть?».
Вы в панике проверяете записи. Десятки, сотни роликов VK — испарились. Без предупреждения. Без объяснений.
Кто виноват? Гугл? Хостинг? Сам Цукерберг? Давайте разберёмся.
Глава 2. Подозреваемые
1. Гутенберг — «добрый» редактор, который «заботится» о вашей безопасности
Он может решить, что iframe — это «опасно» (потому что кто-то где-то когда-то что-то сломал). И просто вычищает ваш код, как заботливая бабушка выкидывает «эти твои странные скрипты».
Как проверить:
- Попробуйте вставить iframe в новую запись.
- Если через час он исчез — Гутенберг виновен.
2. Плагины-«чистильщики»
Wordfence, Anti-Spam, кешеры — все они любят «оптимизировать» ваш код. Иногда слишком рьяно.
Эксперимент:
- Отключите все плагины.
- Обновите запись.
- Если видео вернулось — вина плагинов доказана.
3. VK — коварный изменщик правил
Возможно, ВКонтакте передумал разрешать iframe с вашего домена. Или просто обновил API, а вы об этом не знали.
Проверка:
- Вставьте iframe в обычный HTML-файл.
- Если не работает — это проделки VK.
Глава 3. Спасательная операция
Способ 1. Откат через бекапы (если вы, конечно, их делали)
Заходите в UpdraftPlus или бекапы хостинга и откатываетесь на момент, когда iframe ещё были живы. Если бекапов нет… Ну, что ж, теперь вы знаете, почему их надо делать.
Способ 2. Рытьё в истории Гутенберга
Открываете запись → ⋮ → История изменений → ищете версию, где iframe ещё был. Если истории нет… Ну, хотя бы попытались.
Способ 3. Вторжение в базу данных (для смелых)
- Заходите в phpMyAdmin.
- Ищете таблицу wp_posts.
- Роетесь в post_content в поисках пропавшего iframe.
Если не нашли… Что ж, хотя бы почувствовали себя хакером.
Если в базе данных (wp_posts) ваш iframe-код на месте, но на сайте его не видно — значит, WordPress или какой-то плагин намеренно его удаляет при выводе. Это как если бы вы положили деньги в кошелёк, а потом обнаружили, что кто-то их вытащил, когда вы пытались расплатиться.
Почему это происходит?
Гутенберг или тема «фильтруют» HTML:
- Некоторые темы «чистят» iframe из соображений безопасности.
- Гутенберг может удалять «неразрешённые» теги при сохранении.
Плагины безопасности или оптимизации:
- Плагины вроде Wordfence, CleanTalk или Autoptimize часто вырезают iframe, считая их угрозой.
- Кеширующие плагины (WP Rocket, W3 Total Cache) могут сохранить «очищенную» версию страницы.
Фильтры WordPress:
- Функции типа wp_kses_post() автоматически удаляют «опасные» теги (включая iframe).
Как исправить?
1. Разрешить iframe в WordPress:
Добавьте в файл functions.php вашей темы код:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// Разрешить iframe в HTML-контенте function allow_iframe_tags($allowed_tags) { $allowed_tags['iframe'] = array( 'src' => true, 'width' => true, 'height' => true, 'frameborder' => true, 'allowfullscreen' => true, 'loading' => true, ); return $allowed_tags; } add_filter('wp_kses_allowed_html', 'allow_iframe_tags'); |
Это скажет WordPress: «Не трогай мои iframe, это не баг, а фича!».
2. Отключить «очистку» в плагинах:
- Для Wordfence:
Wordfence → Firewall → Advanced Firewall Options → Отключите «Filter iframes». - Для Autoptimize:
Autoptimize → Настройки → Снимите галочку с «Optimize HTML code».
3. Использовать шорткод (обходной путь):
Если код выше не сработал, создайте шорткод для iframe (об этом чуть ниже). Плагины реже трогают шорткоды, чем «голый» HTML.
4. Проверить кеш:
Очистите кеш плагинов (и браузера!). Иногда проблема — в закэшированной «урезанной» версии страницы.
Ничего не помогло? Временное решение: Вставьте видео через плагин (EmbedPress, Iframe Shortcode). Радикальное: смените тему на Hello Elementor или GeneratePress — они реже конфликтуют с iframe.
Вывод: Если iframe есть в базе, но нет на сайте — виноваты «санитары» WordPress. Ваша задача — либо урезонить их, либо найти обходной путь!
Глава 4. Как вставлять iframe VK, чтобы они не исчезали?
1. Используйте плагины
- EmbedPress — вставляет iframe без лишних вопросов.
- Iframe Shortcode — превращает код в шорткод, который сложнее «потерять».
2. Шорткод — ваш друг
Добавьте в functions.php:
1 2 3 4 |
function vk_video_shortcode($atts) { return '<iframe src="' . esc_url($atts['url']) . '" width="640" height="360" allowfullscreen></iframe>'; } add_shortcode('vk_video', 'vk_video_shortcode'); |
И вставляйте так:
1 |
[vk_video url="https://vk.com/video-12345678_456239017"] |
Теперь даже Гутенберг не посмеет его тронуть!
3. Альтернатива: YouTube (если VK вас окончательно достал)
Да, это капитуляция. Но иногда проще переехать, чем чинить сломанный дом.
Вывод: Враг побеждён?
Если видео вернулись — вы герой. Если нет — пора задуматься о YouTube.
А главное — делайте бекапы. Потому что интернет — это джунгли, а ваш сайт — хрупкий островок порядка в этом хаосе.
