Устаревшие affiliate ссылки могут снижать эффективность вашего сайта, вести к битым страницам и ухудшать пользовательский опыт. В этой статье рассмотрим, как автоматизировать процесс удаления таких ссылок в WordPress, используя как готовые плагины, так и собственные решения на PHP. Это поможет поддерживать актуальность вашего контента и улучшить SEO.
Почему важно удалять старые affiliate ссылки
Affiliate ссылки часто меняются: партнерские программы могут закрываться, продукты сниматься с продажи или ссылки переставать работать. Если на сайте остаются такие ссылки, посетители сталкиваются с ошибками 404 или перенаправлениями на неактуальные страницы. Это негативно влияет на пользовательский опыт и позиции сайта в поисковой выдаче.
Также поисковые системы учитывают качество ссылок и содержимого. Чем меньше битых или устаревших ссылок, тем лучше оценивается ресурс. Поэтому регулярная проверка и удаление таких ссылок — важная задача для владельцев affiliate сайтов на WordPress.
Автоматизация удаления старых affiliate ссылок с помощью плагинов
Плагин Clearfy Pro для управления ссылками
Clearfy Pro — мощный инструмент для оптимизации WordPress, включая управление ссылками. Он позволяет автоматически находить битые ссылки и удалять или заменять их. Для affiliate сайтов это значит, что можно настроить регулярную проверку и очистку базы ссылок без участия пользователя.
Чтобы использовать Clearfy Pro для удаления устаревших affiliate ссылок, выполните следующие шаги:
- Установите и активируйте Clearfy Pro с сайта wpshop.ru.
- В панели настроек включите модуль проверки битых ссылок.
- Настройте расписание автоматической проверки ссылок.
- Выберите действие при обнаружении битых affiliate ссылок: удаление, замена или уведомление.
Преимущество плагина — простота настройки и интеграция с другими инструментами оптимизации Clearfy.
Использование WPRemark для мониторинга ссылок
Плагин WPRemark позволяет добавлять отзывы и рейтинги, но также умеет отслеживать состояние affiliate ссылок в отзывах. В связке с Clearfy можно контролировать активность ссылок и удалять устаревшие прямо из админки.
Пример кода для автоматического удаления устаревших affiliate ссылок в WordPress
Если вы предпочитаете собственное решение, можно написать функцию, которая будет запускаться по расписанию и удалять записи с устаревшими ссылками. Рассмотрим пример, как это сделать с помощью WP Cron и пользовательской проверки ссылки.
function wpaffiliate_check_and_delete_old_affiliate_links() {
// Получаем посты с affiliate ссылками (например, кастомный тип 'affiliate_product')
$args = array(
'post_type' => 'affiliate_product',
'posts_per_page' => -1
);
$posts = get_posts($args);
foreach ($posts as $post) {
$url = get_post_meta($post->ID, 'affiliate_url', true);
if (!$url) continue;
// Проверяем доступность ссылки
$response = wpaffiliate_remote_head_check($url);
if (!$response) {
// Если ссылка недоступна, удаляем пост
wp_delete_post($post->ID, true);
}
}
}
function wpaffiliate_remote_head_check($url) {
$response = wp_remote_head($url, array('timeout' => 5));
if (is_wp_error($response)) return false;
$code = wp_remote_retrieve_response_code($response);
return ($code >= 200 && $code < 400);
}
// Регистрируем крон задачу
if (!wp_next_scheduled('wpaffiliate_daily_check')) {
wp_schedule_event(time(), 'daily', 'wpaffiliate_daily_check');
}
add_action('wpaffiliate_daily_check', 'wpaffiliate_check_and_delete_old_affiliate_links');В этом коде мы получаем все записи типа affiliate_product (вы можете заменить на ваш тип), проверяем URL в мета-поле affiliate_url запросом HEAD, и если ссылка недоступна, удаляем запись без возможности восстановления.
Такой подход позволит держать базу affiliate ссылок чистой и актуальной без ручной проверки.
Как избежать удаления важных данных и минимизировать риски
При автоматическом удалении важно не потерять нужный контент. Рекомендуется:
- Создавать резервные копии базы данных перед запуском автоматических задач.
- Добавлять условие для исключения важных записей, например, по определенной категории или метке.
- Вместо удаления делать черновую отметку или переносить в отдельный статус для ручной проверки.
Например, можно заменить удаление на перевод поста в статус draft:
wp_update_post(array('ID' => $post->ID, 'post_status' => 'draft'));Это позволит сначала проверить, действительно ли ссылка устарела и только потом удалять окончательно.
Применение REST API для массового обновления или удаления affiliate ссылок
Если ваши affiliate ссылки хранятся в виде данных, доступных через REST API, можно использовать автоматические скрипты на стороне сервера, которые будут по расписанию делать запросы к API, выявлять устаревшие ссылки и удалять их.
Пример запроса на получение affiliate продуктов через REST API:
GET /wp-json/wp/v2/affiliate_product?per_page=100После получения данных можно программно проверить ссылки и отправить запросы на удаление:
DELETE /wp-json/wp/v2/affiliate_product/{id}Для работы с REST API удобно использовать WP-CLI или внешние скрипты на PHP или Python, которые запускаются по расписанию на сервере.
Безопасность и права доступа
При работе с REST API убедитесь, что используете авторизацию и проверяете права пользователя, чтобы избежать несанкционированного удаления данных.
Итоговые рекомендации по автоматическому удалению устаревших affiliate ссылок
- Используйте проверенные плагины, например Clearfy Pro для автоматизации.
- Если нужно тонко настроить процесс — пишите собственные функции с wp_remote_head и WP Cron.
- Всегда создавайте резервные копии перед массовыми изменениями.
- Рассмотрите возможность перевода постов в черновики вместо немедленного удаления.
- Используйте REST API для интеграции с внешними сервисами и массового управления.
Такой подход позволит держать affiliate сайт на WordPress в актуальном состоянии, избавит от битых ссылок и улучшит поведенческие факторы.