Как запретить вставку видео в WooCommerce для неавторизованных пользователей

Диагностика проблемы: почему необходимо ограничить вставку видео для гостей

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

Пошаговое решение: ограничение показа видео в WooCommerce для гостей

1. Определение, где именно вставляются видео

Чаще всего видео размещаются в описании товара (the_content), коротком описании (woocommerce_short_description), или в пользовательских полях.

2. Фильтрация контента с видео для гостей

Добавим фильтр, который проверяет, авторизован ли пользователь. Если нет — удаляем или заменяем видео-теги в описании товара.

function restrict_video_for_guests_in_product_description($content) {
    if (is_product() && !is_user_logged_in()) {
        // Удаляем iframe и video теги из описания
        $content = preg_replace('#<iframe.*?src=.*?</iframe>#is', '', $content);
        $content = preg_replace('#<video.*?>.*?</video>#is', '', $content);
        // Можно добавить сообщение вместо видео
        $content .= '<p><em>Видео доступно только для зарегистрированных пользователей.</em></p>';
    }
    return $content;
}
add_filter('the_content', 'restrict_video_for_guests_in_product_description');

3. Ограничение видео в коротком описании товара

function restrict_video_for_guests_in_short_description($content) {
    if (is_product() && !is_user_logged_in()) {
        $content = preg_replace('#<iframe.*?src=.*?</iframe>#is', '', $content);
        $content = preg_replace('#<video.*?>.*?</video>#is', '', $content);
    }
    return $content;
}
add_filter('woocommerce_short_description', 'restrict_video_for_guests_in_short_description');

4. Блокировка видео в отзывах WooCommerce

Отзывы могут содержать видео, вставленные через HTML. Для ограничения можно использовать фильтр comment_text:

function restrict_video_in_reviews_for_guests($comment_text) {
    if (!is_user_logged_in()) {
        $comment_text = preg_replace('#<iframe.*?src=.*?</iframe>#is', '', $comment_text);
        $comment_text = preg_replace('#<video.*?>.*?</video>#is', '', $comment_text);
    }
    return $comment_text;
}
add_filter('comment_text', 'restrict_video_in_reviews_for_guests');

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

  • Откройте страницу товара в режиме инкогнито или будучи неавторизованным — видео должны отсутствовать, а вместо них появляться предупреждение, если добавлено.
  • Авторизуйтесь под пользователем с покупкой или хотя бы зарегистрированным — видео должны отображаться.
  • Проверьте короткое описание и отзывы на предмет отсутствия видео для гостей.

Частые ошибки и как их исправить

  • Видео не скрываются в некоторых местах — возможно, видео вставлены через кастомные поля или сторонние плагины. Нужно определить, где именно выводится видео и добавить аналогичную фильтрацию.
  • Видео удаляются, но не появляется сообщение для гостей — добавьте вывод текстового уведомления в фильтр для the_content.
  • Фильтрация ломает верстку — используйте аккуратные регулярные выражения, тестируйте на разных видах видео вставок.
  • Видео появляются в кэшированных страницах — очистите кэш и, если используете кеширующие плагины, настройте исключения для страниц с ограничением видео.

Практические советы по безопасности и производительности

  • Используйте серверный рендеринг, а не JavaScript для блокировки видео — так проще защитить содержимое от обхода.
  • Минимизируйте использование тяжелых регулярных выражений в фильтрах, чтобы не замедлять загрузку страниц.
  • Если видео хранятся на вашем сервере, дополнительно ограничьте доступ к файлам через .htaccess или правила Nginx, позволяя загрузку только авторизованным.
  • Настройте кэширование с учётом авторизации, чтобы избежать показа видео гостям из кэша.

Сравнение методов ограничения видео в WooCommerce

МетодПлюсыМинусыКогда применять
Фильтрация контента через фильтры WordPress (the_content, woocommerce_short_description)Простота реализации, работает без сторонних плагиновНе защищает файлы напрямую, обход возможен при инъекции JSДля базовой защиты видео в описаниях
Ограничение доступа к видео на сервере (.htaccess, Nginx)Надёжная защита файловСложнее в настройке, требует доступа к серверуДля видео, хранящихся локально
Использование плагинов защиты контента (например, платные WooCommerce плагины)Многофункциональность, удобный интерфейсСтоимость, нагрузка на сайтДля комплексной защиты и контроля доступа
Как создать видео отзывы с авторизацией в WordPress
17.02.2026
Как запретить скачивание видео в WooCommerce для неавторизованных пользователей
06.07.2026
Оптимизация видео для WordPress: практические методы и плагины
11.11.2025
Как запретить вставку видео в WooCommerce для неавторизованных пользователей
02.07.2026
Как создать настраиваемый видео плейлист в WordPress
25.11.2025