Автоматический подбор тегов — востребованная функция, которая помогает улучшить навигацию и 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.
Не бойтесь экспериментировать с алгоритмами и инструментами, чтобы найти оптимальный подход именно для вашего проекта. Внедрение автоматического тегирования при правильной настройке повысит качество сайта и сэкономит время.