Как создать автоматический подбор тегов для записей в WordPress

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

Почему автоматический подбор тегов важен для WordPress

Теги помогают структурировать контент, объединять записи по тематикам и повышать видимость в поисковых системах. Однако ручное добавление тегов — трудоемкий и субъективный процесс. Автоматизация:

  • Экономит время редакторов и авторов.
  • Обеспечивает более последовательное и релевантное тегирование.
  • Улучшает внутреннюю перелинковку и SEO.
  • Повышает удобство навигации для посетителей.

Реализовать автоматический подбор тегов можно на основе анализа текста поста, ключевых слов или с использованием внешних API.

Обзор популярных плагинов для автоматического добавления тегов

Automatic Post Tagger

Один из самых популярных бесплатных плагинов для автоматического тегирования. Позволяет настроить список ключевых слов и соответствующих тегов. При публикации или обновлении записи плагин ищет ключевые слова и автоматически добавляет теги.

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

Tag Machine

Плагин с расширенными функциями, поддерживает импорт ключевых слов, условное добавление тегов и интеграцию с WP-CLI. Подходит для крупных проектов с большим количеством контента.

Подробнее и скачать можно на Automatic Post Tagger на WPShop.ru.

Реализация автоматического подбора тегов через код в functions.php

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

Пример простого алгоритма на PHP

В этом примере мы определим набор ключевых слов и соответствующих тегов. При сохранении записи будет запускаться функция, которая ищет ключевые слова в тексте и добавляет теги.

function wpnote_add_auto_tags($post_id) {
    // Проверяем, чтобы это была запись
    if (get_post_type($post_id) !== 'post') {
        return;
    }

    // Получаем содержимое записи
    $post = get_post($post_id);
    $content = strtolower($post->post_content);

    // Определяем ключевые слова и теги
    $tags_map = [
        'seo' => 'SEO',
        'wordpress' => 'WordPress',
        'плагин' => 'Плагины',
        'хук' => 'Хуки',
        'api' => 'API',
    ];

    $tags_to_add = [];
    foreach ($tags_map as $keyword => $tag) {
        if (strpos($content, $keyword) !== false) {
            $tags_to_add[] = $tag;
        }
    }

    if (!empty($tags_to_add)) {
        wp_set_post_tags($post_id, $tags_to_add, true); // true - добавлять к существующим
    }
}
add_action('save_post', 'wpnote_add_auto_tags');

Этот код проверяет содержимое записи на наличие ключевых слов и добавляет соответствующие теги. Вы можете расширить список и усложнить логику, например, использовать регулярные выражения или анализировать категории.

Улучшение алгоритма с использованием внешних сервисов

Для более точного подбора можно интегрировать API сервисов анализа текста, например, OpenAI, TextRazor или Aylien. Они позволяют извлекать ключевые слова и темы из текста.

Пример интеграции с OpenAI GPT для получения ключевых слов (упрощённый):

function wpnote_get_keywords_from_openai($text) {
    $api_key = 'ВАШ_API_КЛЮЧ';
    $endpoint = 'https://api.openai.com/v1/chat/completions';

    $data = [
        'model' => 'gpt-4',
        'messages' => [
            ['role' => 'system', 'content' => 'Выдели ключевые слова из текста.'],
            ['role' => 'user', 'content' => $text],
        ],
        'max_tokens' => 60,
        'temperature' => 0.3,
    ];

    $response = wp_remote_post($endpoint, [
        'headers' => [
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . $api_key,
        ],
        'body' => json_encode($data),
    ]);

    if (is_wp_error($response)) {
        return [];
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);
    if (isset($body['choices'][0]['message']['content'])) {
        $keywords = explode(',', $body['choices'][0]['message']['content']);
        return array_map('trim', $keywords);
    }

    return [];
}

Далее полученные ключевые слова можно использовать для назначения тегов через wp_set_post_tags().

Как избежать ошибок и не перегрузить сайт при автоматическом тегировании

Автоматизация должна работать аккуратно, чтобы не создавать лишней нагрузки или ошибок:

  • Кэширование результатов. Если тегирование занимает время, кэшируйте результаты, чтобы не запускать парсинг при каждом сохранении.
  • Обработка ошибок. При использовании внешних API учитывайте возможные ошибки и таймауты.
  • Ограничение частоты запусков. Для больших сайтов лучше запускать скрипты на автоматическую обработку через WP-Cron или внешние cron-задачи.
  • Тестирование на черновиках. Не запускайте автоматическое тегирование на черновиках или незавершённых записях.

Заключение по теме автоматического подбора тегов

Автоматический подбор тегов — мощный инструмент для оптимизации работы с контентом на WordPress. Используя плагин Automatic Post Tagger или собственные решения на PHP, вы сможете значительно упростить процесс наполнения сайта и улучшить SEO.

Не бойтесь экспериментировать с алгоритмами и инструментами, чтобы найти оптимальный подход именно для вашего проекта. Внедрение автоматического тегирования при правильной настройке повысит качество сайта и сэкономит время.

Как создать собственный виджет в WordPress: практическое руководство
10.11.2025
Как добавить адаптивные изображения в WordPress с помощью srcset
21.12.2025
Как использовать хуки в WordPress для расширения функциональности
17.11.2025
Как удалить кеш в WordPress: практические способы и примеры
21.11.2025
WooCommerce: автоматическое изменение стоимости товара при выборе вариантов
25.05.2026