Решение проблем с лицензионными ключами WooCommerce плагинов при миграции сайта

Почему лицензионные ключи перестают работать после миграции WooCommerce сайта?

При переносе WooCommerce сайта на новый домен или сервер часто возникают проблемы с активацией лицензий плагинов. Это связано с тем, что большинство систем лицензирования привязывают ключи к домену, IP или базе данных. Если эти параметры изменились, лицензия становится недействительной.

Основные причины:

  • Изменение доменного имени сайта;
  • Изменение IP адреса сервера;
  • Изменение структуры URL (например, добавление или удаление www);
  • Сброс или очистка базы данных, где хранились данные активации;
  • Кэширование и CDN, которые мешают корректной проверке лицензии.

Диагностика проблемы с лицензиями после миграции

Чтобы точно определить, почему лицензия не активируется:

  • Проверьте правильность настроек домена и URL в WooCommerce и WordPress (Settings > General).
  • Убедитесь, что лицензия поддерживает работу на новом домене (проверьте условия лицензирования плагина).
  • Проверьте логи ошибок плагина лицензирования (если есть). Обычно они находятся в папке wp-content/uploads/plugin-name/logs или доступны через панель администратора.
  • Проверьте ответ API лицензирования, если используется удалённый сервер активации.
  • Проверьте кэширование: отключите все кеширующие плагины и CDN временно.

Пошаговое решение: как исправить ошибки лицензий после миграции WooCommerce

1. Обновление домена в базе лицензий

Если у вас есть доступ к лицензионному серверу или панели управления лицензиями, обновите привязку лицензии на новый домен:

UPDATE wp_licenses SET domain = 'new-domain.ru' WHERE license_key = 'YOUR_LICENSE_KEY';

Если лицензия привязана к домену, такой запрос обновит привязку. Если у вас нет доступа к базе, обратитесь к разработчику плагина.

2. Очистка кэша и куки

Убедитесь, что на клиенте нет старых кэшей, которые могут блокировать активацию:

  • Очистите кэш браузера;
  • Отключите плагины кеширования: WP Super Cache, W3 Total Cache, LiteSpeed Cache и др.;
  • Отключите CDN (Cloudflare, BunnyCDN и т.п.) временно.

3. Принудительная повторная активация лицензии через код

Для некоторых плагинов можно добавить код для принудительной деактивации и повторной активации лицензии. Пример для WooCommerce плагина, использующего стандартную функцию:

function force_reactivate_license() {
    if ( ! class_exists('WC_Plugin_License_Manager') ) {
        return;
    }
    $license_manager = WC_Plugin_License_Manager::instance();
    $license_key = get_option('plugin_license_key');
    if ( $license_key ) {
        $license_manager->deactivate_license( $license_key );
        $license_manager->activate_license( $license_key );
    }
}
add_action('admin_init', 'force_reactivate_license');

Этот код деактивирует и активирует лицензию заново при заходе в админку. Обязательно удалите его после успешной активации.

4. Проверка конфигурации URL в WordPress

Убедитесь, что в Settings > General правильно указаны WordPress Address (URL) и Site Address (URL). Они должны совпадать с новым доменом без лишних пробелов или слэшей.

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

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

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

  • Ошибка «Лицензия недействительна для домена»: проверьте, что домен совпадает с тем, что указан в лицензии. Если нет — обновите привязку лицензии у разработчика или в панели управления.
  • Ошибка «Превышено количество активаций»: деактивируйте лицензию на старом сайте или обратитесь в поддержку для сброса активаций.
  • Ошибка соединения с лицензионным сервером: проверьте, не блокирует ли сервер доступ (firewall, IP restrictions), а также правильность URL API в настройках плагина.
  • Кеширование мешает активации: временно отключите все кеширующие механизмы и CDN.

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

  • Храните лицензионные ключи в зашифрованном виде, например, используя openssl_encrypt при сохранении и openssl_decrypt при использовании.
  • Минимизируйте количество запросов к лицензионному серверу, используя кэш ответа с помощью Transients API (set_transient, get_transient).
  • Ограничьте права доступа к страницам управления лицензиями только администраторам.
  • Для повышения безопасности используйте HTTPS для всех запросов к лицензионным серверам.

Сравнение способов решения проблем с лицензиями после миграции

МетодОписаниеПлюсыМинусы
Обновление домена в базе лицензийРучное изменение или обновление привязки лицензии к новому доменуГарантированное решение, если есть доступ к базеТребует доступа к лицензионному серверу/базе
Принудительная повторная активацияКод для деактивации и активации лицензии зановоАвтоматизирует процесс без доступа к базеМожет не сработать при ограничениях на количество активаций
Отключение кеширования и CDNВременное отключение механизмов, мешающих проверкеПростое действие, не требует прав доступаВременное снижение производительности сайта
Как установить ограничение на лицензию WordPress плагина по геолокации
20.04.2026
Как установить ограничение на количество активаций лицензии WordPress плагинов по ролям пользователей
12.04.2026
Как сделать автотестирование лицензий WordPress плагинов
05.01.2026
Как удалить неактивные лицензии WordPress плагинов из базы данных
24.03.2026
Как создать собственную систему активации лицензий для WordPress плагинов
11.12.2025