Ведение блога или сайта на WordPress часто требует правильной категоризации контента для удобства навигации и улучшения SEO. Но ручное назначение категорий каждому посту занимает время и не всегда удобно, особенно при большом объёме публикаций. В этой статье мы подробно разберём, как создать автоматический подбор категорий для постов на основе их содержимого с помощью кода и готовых плагинов, а также рассмотрим практические примеры и советы по улучшению качества результата.
Зачем нужен автоматический подбор категорий в WordPress
Автоматизация категоризации позволяет:
- Сократить время на обработку и публикацию контента.
- Обеспечить единообразие в присвоении категорий.
- Повысить релевантность категорий, что улучшает внутреннюю структуру сайта и SEO.
- Избежать ошибок и пропусков при ручном назначении.
Особенно это актуально для сайтов с большим объёмом новостей, обзоров, статей и других материалов.
Методы автоматического определения категорий
Существует несколько подходов для реализации автоматического подбора категорий:
- Словарный метод — поиск ключевых слов в тексте и сопоставление с категориями.
- Машинное обучение и NLP — использование моделей для анализа текста и классификации.
- Использование плагинов с готовыми решениями — например, Clearfy Pro, который содержит функции улучшения SEO и автоматизации.
Пример реализации автоматического выбора категории на основе ключевых слов
Рассмотрим простой пример функции, которая будет анализировать содержание поста и автоматически назначать категорию при сохранении записи. Для этого используем хук save_post.
function wpdigest_auto_set_category($post_id) {
// Проверяем, что это не автосохранение
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
// Проверяем права
if (!current_user_can('edit_post', $post_id)) return;
$post = get_post($post_id);
if ($post->post_type != 'post') return;
$content = strtolower($post->post_content);
// Словарь ключевых слов и категорий
$categories_map = array(
'wordpress' => 'WordPress',
'seo' => 'SEO',
'plugin' => 'Плагины',
'theme' => 'Темы',
'security' => 'Безопасность'
);
$assigned_categories = array();
foreach ($categories_map as $keyword => $category_name) {
if (strpos($content, $keyword) !== false) {
$category = get_category_by_slug(sanitize_title($category_name));
if ($category) {
$assigned_categories[] = $category->term_id;
}
}
}
if (!empty($assigned_categories)) {
wp_set_post_categories($post_id, $assigned_categories);
}
}
add_action('save_post', 'wpdigest_auto_set_category');
В этом коде при сохранении поста скрипт проверяет наличие ключевых слов и ставит соответствующие категории. Для корректной работы нужно заранее создать категории с подходящими слагами.
Улучшение качества автоматической категоризации с помощью плагинов
Если хочется более точного и интеллектуального подхода, можно использовать плагины с поддержкой машинного обучения или интеграцией внешних сервисов:
- WPGPT — плагин на базе GPT-модели, который может анализировать текст и генерировать релевантные категории и теги. Подробнее — ссылка.
- Auto Tagger — автоматическая генерация тегов и категорий на основе анализа текста.
Использование таких решений позволяет значительно повысить точность и снизить необходимость ручного вмешательства.
Тонкости и рекомендации при автоматическом подборе категорий
Правильный выбор ключевых слов и категорий
Работая с ключевыми словами, стоит тщательно подбирать набор слов, которые точно отражают тематику категории. Избегайте пересечений и неоднозначностей, иначе посты могут попасть в неправильные категории.
Обработка исключений и ручная корректировка
Автоматизация — это помощь, а не замена человека. Рекомендуется предусмотреть механизм уведомления редактора о предложенных категориях для подтверждения или исправления.
Оптимизация производительности
Если автоматическая категоризация запускается при каждом сохранении поста, стоит оптимизировать код и ограничить количество проверок, чтобы не замедлять работу сайта.
Пример расширения: автоматический подбор категории при импорте постов
Часто контент импортируется с других ресурсов. В таком случае можно использовать WordPress REST API или WP CLI для массовой автоматической категоризации. Вот пример функции для WP CLI:
function wpdigest_cli_auto_categorize() {
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'post_status' => 'publish',
);
$posts = get_posts($args);
foreach ($posts as $post) {
// Аналогичная логика подбора категорий, как в функции автосохранения
wpdigest_auto_set_category($post->ID);
}
}
if (defined('WP_CLI') && WP_CLI) {
WP_CLI::add_command('wpdigest auto-categorize', 'wpdigest_cli_auto_categorize');
}
Запуск команды wp digest auto-categorize обработает все опубликованные записи, присвоив им категории автоматически.
Выводы и практические советы
Автоматический подбор категорий — мощный инструмент для оптимизации работы с контентом на WordPress. В зависимости от задач можно выбрать простой словарный метод или интегрировать продвинутые решения на базе ИИ. Не забывайте тестировать и корректировать работу алгоритмов, чтобы обеспечить точность и качество категоризации.
Для расширения возможностей рекомендуем ознакомиться с плагином Clearfy Pro, который содержит полезные инструменты для SEO и автоматизации, а также с WPGPT для интеллектуального анализа текста на базе GPT.