Как убрать уведомление об обновлении Yoast SEO Premium в админке WordPress
Верхняя часть админки WordPress — это ваш командный центр. Каждый раз, заходя в консоль, вы хотите видеть полезную информацию: новые комментарии, черновики, статистику. Но вместо этого вас встречает ярко-жёлтая полоса с требованием обновить Yoast SEO Premium. И ладно бы один раз — нет, она возвращается после каждого входа и каждого обновления страницы.
Ситуация знакомая: вы установили плагин Yoast SEO (возможно, шла премиум-версия в составе какого-нибудь набора или премиальной темы оформления от известного разработчика), ключ истёк, продлевать лицензию вы не планируете. Но уведомление никуда не девается. Давайте разберёмся, почему оно появляется и — главное — как избавиться от него раз и навсегда.
\u{201c}Yoast SEO Premium — отличный плагин, но его система уведомлений спроектирована так, чтобы максимально мотивировать пользователя оплатить подписку. И это ок, пока уведомление не начинает мешать работе.
Почему вообще появляется это уведомление
Всё дело в архитектуре плагина. Когда вы устанавливаете Yoast SEO Premium, в его состав входит компонент под названием License Manager — менеджер лицензий. Он находится в файле:
wp-content/plugins/wordpress-seo-premium/vendor/yoast/license-manager/class-license-manager.php[/codeblock]
При каждой загрузке админки этот файл проверяет статус вашего лицензионного ключа. Если ключ отсутствует или срок его действия истёк — вы видите то самое сообщение. Логика работы примерно такая:
- Плагин вызывает метод
license_is_valid() - Если метод возвращает
false— проверяется наличие ключа - Если ключ пустой — показывается сообщение «вы не установили лицензионный ключ»
- Если ключ есть, но невалидный — показывается сообщение «ваш ключ истёк или недействителен»
Кстати, интересный нюанс: даже если вы удалите премиум-версию и установите бесплатную, некоторые темы и сборки WordPress автоматически восстанавливают премиум-плагины при обновлении. Получается замкнутый круг.
Ещё один момент, о котором редко говорят: уведомление показывается не только владельцу сайта, но и всем пользователям админки — редакторам, контент-менеджерам, SEO-специалистам. Представьте: вы передали сайт клиенту, а его сотрудники каждый день видят сообщение «ваш ключ недействителен». Это подрывает доверие к вашей работе как разработчика. Поэтому убрать уведомление — вопрос не только комфорта, но и профессиональной репутации.
На практике встречаются два типа этого уведомления. Первый — жёлтая полоса в самом верху админки, прямо над основным контентом. Второй — баннер в разделе плагинов, в строке Yoast SEO Premium. Оба используют механизм WordPress-хуков admin_notices, поэтому большинство способов ниже отключают сразу оба варианта. Но некоторые методы работают точечно — об этом я скажу отдельно.
Способ 1: правка файла class-license-manager.php (самый радикальный)
Этот метод — прямое вмешательство в код плагина. Он работает безотказно, но есть нюанс: при обновлении Yoast SEO ваши правки будут затёрты. Придётся повторять процедуру заново.
Пошаговая инструкция
Первым делом заходите на сервер через FTP (FileZilla, WinSCP) или файловый менеджер хостинга. Я предпочитаю FTP — он даёт полный контроль и позволяет быстро скачать резервную копию.
Найдите файл по пути:
/wp-content/plugins/wordpress-seo-premium/vendor/yoast/license-manager/class-license-manager.php[/codeblock]
Внимание: скачайте этот файл на компьютер и сохраните оригинал где-нибудь в папке «backup». Если что-то пойдёт не так — вы всегда сможете вернуть исходную версию.
Откройте файл в любом текстовом редакторе. Я рекомендую Notepad++ — он бесплатный, подсвечивает синтаксис PHP и не добавляет скрытых символов в код.
В файле найдите следующий блок кода:
// show notice if license is invalid
if ( ! $this->license_is_valid() ) {
if ( $this->get_license_key() == '' ) {
$message = 'Warning! You didn't set your %s license key yet...';
} else {
$message = 'Warning! Your %s license key has been disabled...';
}
add_action( 'admin_notices', function() use ( $message, $product_name ) {
echo '' . sprintf( $message, $product_name ) . '
Самый простой способ — закомментировать вызов add_action. Добавьте два слеша перед строкой, начинающейся с add_action:
// show notice if license is invalid
if ( ! $this->license_is_valid() ) {
if ( $this->get_license_key() == '' ) {
$message = 'Warning! You didn't set your %s license key yet...';
} else {
$message = 'Warning! Your %s license key has been disabled...';
}
// add_action( 'admin_notices', function() use ( $message, $product_name ) {
// echo '' . sprintf( $message, $product_name ) . '
Сохраните файл и загрузите обратно на сервер с заменой. Обновите страницу админки — уведомление должно исчезнуть.
Есть и альтернативный, более жёсткий вариант: можно вернуть true в любом месте метода license_is_valid(). Тогда плагин будет считать, что лицензия всегда активна. Но этот подход может сломать другие проверки, так что я не рекомендую.
Способ 2: отключение проверок через functions.php (рекомендуемый)
Этот метод лучше, потому что ваши правки живут в теме, а не в файлах плагина. Обновления Yoast SEO их не затирают. Но есть требование: вы должны использовать дочернюю тему (child theme). Если править functions.php родительской темы, то при её обновлении код пропадёт.
Вариант А: отключение admin_notices через фильтр
Добавьте в functions.php вашей дочерней темы следующий код:
// Отключаем назойливые уведомления Yoast SEO Premium
function disable_yoast_premium_nag() {
if ( class_exists( 'Yoast_Notification_Center' ) ) {
remove_action( 'admin_notices', array( Yoast_Notification_Center::get(), 'display_notifications' ) );
}
}
add_action( 'admin_init', 'disable_yoast_premium_nag', 20 );[/codeblock]
Этот код срабатывает на хуке admin_init и убирает вывод уведомлений. Важно: он отключает все уведомления Yoast, не только про лицензию. Но на практике именно лицензионное сообщение — единственное, что действительно мешает.
Вариант Б: точечное отключение конкретного уведомления
Более деликатный подход: если вы хотите оставить другие уведомления Yoast (например, о проблемах с индексацией), а убрать только сообщение о лицензии, используйте такой код:
function remove_specific_yoast_notification( $notifications ) {
if ( isset( $notifications['license-expired'] ) ) {
unset( $notifications['license-expired'] );
}
if ( isset( $notifications['license-not-set'] ) ) {
unset( $notifications['license-not-set'] );
}
return $notifications;
}
add_filter( 'yoast_notifications', 'remove_specific_yoast_notification', 999 );[/codeblock]
Этот код использует внутренний фильтр Yoast и убирает только уведомления с идентификаторами license-expired и license-not-set. Остальные сообщения остаются нетронутыми.
add_notification в директории wordpress-seo-premium. Метод grep через FTP или SSH быстро найдёт нужные ключи.Способ 3: CSS-костыль (самый простой, но не идеальный)
Если вы не хотите лезть в PHP-код, можно просто скрыть уведомление через CSS. Да, оно физически остаётся в HTML-разметке страницы, но визуально исчезает. Этот метод особенно выручает, когда нужно быстро убрать надоедливый баннер у клиента, а доступа к FTP прямо сейчас нет — код вставляется через редактор темы в админке WordPress за 30 секунд. Добавьте этот код в functions.php:
function hide_yoast_notice_css() {
echo '';
}
add_action( 'admin_head', 'hide_yoast_notice_css' );[/codeblock]
Минусы этого подхода: уведомление всё ещё загружается, браузер его рендерит, просто не показывает. Это не влияет на производительность при одном-двух таких блоках, но сам факт «костыля» некоторым не нравится.
Плюсы: не затрагивает файлы плагина, не ломается при обновлениях, работает мгновенно. Для большинства пользователей этого достаточно.
Способ 4: отключение через must-use плагин
Must-use плагины (MU-plugins) — это особая папка WordPress: wp-content/mu-plugins/. Всё, что лежит в ней, автоматически загружается до обычных плагинов и не может быть отключено через админку. Это идеальное место для подобных «заплаток».
Создайте файл с любым именем, например disable-yoast-nag.php, в папке wp-content/mu-plugins/ (если папки нет — создайте её). Содержимое файла:
.notice-error:has(a[href*="yoast"]:contains("license")),
.notice-warning:has(a[href*="my.yoast.com"]),
[class*="yoast"][class*="notice"]:not(.yoast-wizard) {
display: none !important;
}
';
});
}
add_action( 'plugins_loaded', 'mu_disable_yoast_license_nag', 20 );[/codeblock]
Преимущество MU-плагина: он не зависит от активной темы. Если вы переключите тему — код останется работать. Идеально для продакшен-сайтов, где стабильность критична.
\u{201c}MU-плагины — это скрытое оружие опытного разработчика. Они загружаются раньше обычных плагинов и не видны клиентам в админке. Для любых низкоуровневых манипуляций с ядром WordPress я всегда использую именно их.
Способ 5: полный отказ от премиум-версии
Иногда лучший способ решить проблему — устранить её источник. Если вы не пользуетесь премиум-функциями Yoast SEO, зачем держать на сайте премиум-версию?
Бесплатная версия Yoast SEO покрывает 90% потребностей обычного блога:
- XML-карта сайта
- Мета-теги title и description
- Анализ контента на SEO-оптимизацию
- Хлебные крошки
- Open Graph разметка
- Canonical URL
- Robots.txt редактор
Алгоритм действий:
- Деактивируйте и удалите Yoast SEO Premium
- Установите бесплатную версию из репозитория WordPress
- Перенесите настройки (обычно они сохраняются автоматически)
- Проверьте, что SEO-данные на месте
Сравнение всех способов
Чтобы вы не запутались, давайте сведём все методы в одну таблицу:
| Способ | Сложность | Переживает обновления | Риск поломки | Кому подходит |
|---|---|---|---|---|
| Правка class-license-manager.php | Низкая | Нет | Низкий | Тем, кто редко обновляет плагины |
| Код в functions.php темы | Средняя | Да (при дочерней теме) | Низкий | Большинству пользователей |
| CSS-скрытие | Минимальная | Да | Отсутствует | Новичкам, кому нужно «вчера» |
| MU-плагин | Средняя | Да | Минимальный | Разработчикам и опытным пользователям |
| Переход на бесплатную версию | Низкая | Да | Средний (потеря премиум-функций) | Тем, кто не использует премиум-фичи |
Сравнение Yoast SEO с альтернативами
Кстати, если уведомление вас настолько достало, что вы задумались о смене SEO-плагина — вот краткое сравнение популярных решений:
| Плагин | Бесплатная версия | Уведомления о лицензии | Сильные стороны | Слабые стороны |
|---|---|---|---|---|
| Yoast SEO | Да (ограничена 1 ключевой фразой) | Да, в Premium | Анализ читаемости, хлебные крошки, schema.org | Назойливые уведомления, тяжёлый интерфейс |
| Rank Math | Да (множество функций) | Нет в бесплатной | 5 ключевых фраз бесплатно, 404-монитор, редиректы | Избыточный интерфейс для новичков |
| All in One SEO | Да | Минимальные | Простота, интеграция с WooCommerce | Меньше функций анализа контента |
| SEOPress | Да | Отсутствуют | Лёгкий, без рекламы, чистый код | Меньше обучающих материалов |
| The SEO Framework | Да | Отсутствуют | Автоматизация, минималистичный интерфейс | Меньше гибкости в настройках |
Лично я мигрировал несколько проектов с Yoast на Rank Math и SEOPress. Разница в производительности админки заметна сразу — особенно на сайтах с большим количеством плагинов. Но это тема для отдельной статьи.
Часто задаваемые вопросы
Безопасно ли править файлы плагина напрямую?
Безопасно, если вы делаете резервную копию и точно знаете, какие строки меняете. Главный риск: после обновления плагина правки исчезнут. Для долгосрочного решения лучше использовать код в functions.php дочерней темы или MU-плагин.
Исчезнут ли мои SEO-настройки после удаления Premium-версии?
Нет. Все SEO-данные (мета-теги, описания, ключевые фразы) хранятся в базе данных WordPress и не удаляются при деактивации плагина. При переходе на бесплатную версию или другой SEO-плагин эти данные сохранятся. Но некоторые премиум-функции (например, внутренние перелинковки или расширенный анализ) могут перестать работать.
Почему уведомление возвращается после обновления плагина?
Потому что обновление заменяет все файлы плагина на новые — включая тот самый class-license-manager.php. Ваши правки затираются. Именно поэтому более надёжный способ — использовать functions.php или MU-плагин, которые не затрагиваются обновлениями Yoast SEO.
Можно ли отключить только конкретное уведомление, оставив остальные?
Да. Используйте фильтр yoast_notifications и удаляйте из массива только нужные ключи: license-expired, license-not-set. Точные названия ключей можно найти в исходном коде плагина методом grep по строке add_notification.
Что делать, если ни один из способов не работает?
Проверьте, не кешируется ли админка вашим браузером или серверным кешем. Сделайте жёсткую перезагрузку страницы: Ctrl + Shift + R (Windows) или Cmd + Shift + R (Mac). Также проверьте, нет ли других плагинов, которые могут переопределять поведение Yoast SEO. Если ничего не помогает — временно переключитесь на стандартную тему WordPress и деактивируйте все плагины кроме Yoast, чтобы исключить конфликты.
Законно ли отключать уведомления о лицензии?
Да, это законно. Вы имеете полное право модифицировать код плагина на своём сайте. Лицензия GPL, под которой распространяется WordPress и большинство плагинов (включая Yoast SEO), явно разрешает модификацию исходного кода. Единственное ограничение: при распространении модифицированной версии вы обязаны сохранить лицензию GPL.
Можно ли использовать один лицензионный ключ на нескольких сайтах?
Нет. Лицензионный ключ Yoast SEO Premium привязан к одному домену. При попытке активировать его на втором сайте вы получите ошибку валидации. Это стандартная практика для коммерческих WordPress-плагинов. Для нескольких сайтов нужно приобретать соответствующее количество лицензий.
Стоит ли вообще обновляться до Premium-версии?
Это зависит от ваших задач. Premium даёт: анализ нескольких ключевых фраз в одной статье, подсказки по внутренней перелинковке, премиум-поддержку, управление редиректами. Для блога с 50-100 статьями и базовой SEO-стратегией бесплатной версии хватит с головой. Premium нужен крупным проектам, интернет-магазинам и SEO-специалистам, которые работают с десятками ключевых фраз на страницу.
Как проверить, что уведомление действительно отключено для всех пользователей?
Создайте тестового пользователя с ролью «Редактор» и войдите под ним в админку. Также проверьте админку в режиме инкогнито браузера. Если используете кеширующий плагин — сбросьте кеш. Убедитесь, что уведомление не появляется на разных страницах админки: записи, страницы, плагины, настройки.
Повлияет ли отключение уведомления на работу бесплатных функций Yoast?
Никак не повлияет. Отключение уведомления о лицензии — это чисто косметическая операция. Бесплатные функции плагина (анализ SEO, читаемость, карта сайта, мета-теги) продолжают работать в полном объёме. Вы просто перестаёте видеть раздражающее сообщение в верхней части админки.
Возможные проблемы и их решение
За годы работы с WordPress я видел немало ситуаций, когда «простое отключение уведомления» превращалось в головную боль. Вот самые частые грабли:
Проблема: белый экран после правки functions.php
Вы добавили код, сохранили — и админка превратилась в белый лист. Причина — синтаксическая ошибка в PHP. Решение: зайдите на сервер по FTP, откройте functions.php и уберите добавленный код. В следующий раз проверяйте синтаксис перед сохранением. PHP-линтер онлайн или локально — ваш друг.
Проблема: уведомление исчезло, но появилось другое
Такое бывает при использовании метода «закомментировать add_action». Yoast может проверять лицензию в нескольких местах. Поищите по файлам плагина строку license_is_valid — вы удивитесь, сколько раз она вызывается.
Проблема: уведомление скрыто, но в консоли ошибка JavaScript
CSS-скрытие убирает визуальный блок, но JavaScript плагина всё ещё пытается с ним взаимодействовать. Решение: добавьте не только CSS-правило, но и небольшой скрипт:
add_action( 'admin_footer', function() {
echo '';
});[/codeblock]
Этот код физически удаляет элемент из DOM, а не просто прячет его. Работает чище.
Как сделать так, чтобы уведомление никогда не возвращалось
Если вы настроены решительно, вот комбинированный подход, который я использую на клиентских сайтах. Он объединяет несколько методов и даёт почти 100% гарантию:
- Создайте MU-плагин с фильтром
yoast_notifications - Добавьте в
functions.phpдочерней темы CSS-правило для подстраховки - При каждом обновлении Yoast SEO Premium проверяйте, не появились ли новые типы уведомлений
- Настройте мониторинг: если в админке появляется уведомление — вы получаете email
Последний пункт звучит как оверхед для блога, но для коммерческого сайта с командой контент-менеджеров это экономит нервы и время.
wp-content/mu-plugins/admin-cleanup.php, в который складываю все хаки для очистки админки: отключение уведомлений, удаление ненужных виджетов, скрытие пунктов меню. За 5 лет ни разу не пожалел об этом решении.Итог: какой способ выбрать
Коротко для тех, кто не хочет читать всю статью:
- Вы обычный пользователь WordPress: используйте Способ 2 (код в functions.php дочерней темы). Просто, надёжно, не ломается.
- Вам нужно быстро и без погружения в код: Способ 3 (CSS). 30 секунд — и готово.
- Вы разработчик или продвинутый пользователь: Способ 4 (MU-плагин). Самый правильный и стабильный вариант.
- Вы не пользуетесь премиум-функциями: Способ 5. Удалите Premium, поставьте бесплатную версию.
И помните: любое назойливое уведомление в админке — это баг, а не фича. Хороший инструмент помогает работать, а не отвлекает. Если Yoast SEO переступил эту грань для вас — теперь вы знаете, что с этим делать. А если хотите полностью пересмотреть SEO-стратегию сайта, загляните в наше полное руководство по Yoast SEO — там разобраны все функции плагина от базовых до продвинутых.
Нажмите для реакции



