Диагностика проблемы с автообновлениями после смены домена
После переноса сайта на новый домен или смены URL магазина WooCommerce часто возникают проблемы с автоматическим обновлением плагинов, лицензии которых привязаны к домену. Основные симптомы:
- Обновления плагинов не доступны в админке WordPress.
- Ошибки в логах лицензий: «License invalid for this domain» или «Domain mismatch».
- Ручная проверка лицензии через REST API возвращает ошибку.
Для точной диагностики проверьте:
- Настроен ли лицензионный сервер плагина на прием запросов с нового домена.
- Передается ли в запросах правильный домен.
- Кэширование и CDN не блокируют запросы обновления.
- Корректно ли обновлены настройки URL в базе данных WordPress.
Как исправить проблемы с лицензиями и автообновлениями WooCommerce плагинов после смены домена
1. Обновление URL в базе данных WordPress
Для корректной работы WooCommerce и обновлений важно, чтобы в базе данных были обновлены все ссылки на старый домен. Самый надежный способ — использовать WP-CLI:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables --dry-runЕсли результат устраивает, выполните замену без --dry-run.
2. Очистка кэша и обновление лицензий
Если лицензия привязана к домену, необходимо обновить данные лицензии на лицензионном сервере. Для этого:
- Разлочите или деактивируйте лицензию с прежнего домена (если предусмотрено).
- Активируйте лицензию на новом домене через админ-панель плагина или REST API.
Пример REST API запроса активации лицензии с новым доменом:
POST https://license-server.com/api/activate_license
{
"license_key": "YOUR_LICENSE_KEY",
"domain": "new-domain.com"
}3. Принудительное обновление кеша обновлений в WordPress
Для того чтобы WordPress увидел новые данные о лицензии и обновлениях, очистите кеш обновлений:
function clear_update_cache_after_domain_change() {
delete_site_transient('update_plugins');
delete_site_transient('update_themes');
}
add_action('init', 'clear_update_cache_after_domain_change');Добавьте этот код временно в файл functions.php активной темы или в отдельный плагин, затем обновите админку.
Проверка результата после внедрения
- Перейдите в раздел «Обновления» в админке WordPress и проверьте доступность обновлений плагинов.
- Выполните ручную проверку лицензии, если плагин это позволяет.
- Проверьте логи сервера и лицензионного API на предмет ошибок.
- Убедитесь, что кеш обновлений очищен — обновления появились сразу, без задержек.
Частые ошибки и как их исправить
- Ошибка: Лицензия не активируется на новом домене.
Причина: Лицензионный сервер не разлочил старый домен или лимит активаций превышен.
Решение: Снять активацию с прежнего домена или связаться с поддержкой разработчика плагина. - Ошибка: Кеширование блокирует обновления.
Причина: Стратегия кеширования (облачные сервисы, плагин кеширования) не учитывает запросы к лицензионному API.
Решение: Добавить исключения для URL лицензий и REST API в кеш-плагинах и CDN. - Ошибка: Некорректные URL в базе.
Причина: Ручная замена URL через SQL без учета сериализованных данных.
Решение: Использовать WP-CLIsearch-replaceили специализированные инструменты для замены.
Практические советы по безопасности и производительности
- При обновлении лицензий по API используйте HTTPS и проверяйте SSL-сертификаты для безопасности передачи данных.
- Ограничьте количество активаций лицензий по IP и доменам, если плагин поддерживает такую настройку, чтобы снизить риск пиратства.
- Добавьте логирование запросов к лицензионному серверу для быстрого выявления проблем.
- Если сайт использует CDN или прокси, убедитесь, что IP клиента корректно передается и не влияет на активацию лицензий.
Сравнение способов обновления лицензий после смены домена
| Метод | Описание | Плюсы | Минусы |
|---|---|---|---|
| Ручная деактивация и активация | Через админку плагина или лицензионный кабинет | Просто, не требует кода | Зависит от интерфейса разработчика, не автоматизируемо |
| REST API обновление лицензий | Автоматизация через запросы к лицензионному серверу | Автоматизация, интеграция в процессы CI/CD | Требует программирования, настройка безопасности |
| Изменение домена в базе данных + очистка кеша | Обновление URL в WordPress и кеша обновлений | Обеспечивает корректную работу сайта и плагинов | Опасно без резервных копий, требует точности |