Владельцы сайтов на WordPress часто сталкиваются с проблемой контроля качества публикуемого контента. Особенно это актуально для больших порталов с несколькими авторами, где важно поддерживать единые стандарты текста: отсутствие орфографических ошибок, соблюдение минимальной длины, проверка уникальности и других параметров. В этой статье разберём, как автоматизировать такие проверки непосредственно при создании и редактировании записи.
Почему важны автоматические проверки качества контента
Ручная проверка каждого материала занимает много времени и не всегда гарантирует идеальный результат. Автоматизация процесса помогает:
- Сократить время модерации;
- Уменьшить количество ошибок в публикациях;
- Повысить качество сайта и уровень доверия посетителей;
- Облегчить работу авторам, направляя их на исправление ошибок еще до публикации.
Реализовать такую систему можно с помощью плагинов или собственных решений, используя хуки WordPress и сторонние API.
Использование плагинов для проверки контента в WordPress
Существуют готовые инструменты, которые помогают проводить базовый анализ текста:
- Jetpack — модуль «Proofreading» включает проверку орфографии и грамматики;
- After the Deadline — плагин с проверкой грамматики, стиля и орфографии;
- Yoast SEO — хотя основной функционал связан с SEO, плагин оценивает читаемость текста, что полезно для качества контента.
Однако, для более гибких и кастомных проверок чаще всего лучше создавать собственные решения, которые учитывают специфику вашего проекта.
Как создать собственные автоматические проверки качества контента в WordPress
Добавление проверки минимальной длины текста
Например, можно запретить публикацию записи, если в содержании меньше 300 символов. Для этого используем хук save_post и функцию проверки.
function wpto_check_content_length($post_id) {
// Проверяем, что это не автосохранение
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
$post = get_post($post_id);
if ($post->post_type !== 'post') return;
$content = strip_tags($post->post_content);
if (strlen($content) < 300) {
// Отклоняем обновление, возвращаем ошибку
wp_die('Ошибка: текст записи должен содержать не менее 300 символов.');
}
}
add_action('save_post', 'wpto_check_content_length');
Этот простой код не позволит сохранить запись, если содержимое слишком короткое.
Интеграция с API проверки орфографии
Для более глубокой проверки можно использовать внешние сервисы, например, API Яндекса или LanguageTool. Ниже пример вызова LanguageTool API для проверки орфографии и грамматики.
function wpto_check_spelling_grammar($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
$post = get_post($post_id);
if ($post->post_type !== 'post') return;
$text = $post->post_content;
$response = wp_remote_post('https://api.languagetool.org/v2/check', [
'body' => [
'text' => $text,
'language' => 'ru',
],
]);
if (is_wp_error($response)) {
// Ошибка запроса, пропускаем проверку
return;
}
$body = wp_remote_retrieve_body($response);
$result = json_decode($body, true);
if (!empty($result['matches'])) {
$errors = array_map(function($match) {
return $match['message'];
}, $result['matches']);
wp_die('Обнаружены ошибки в тексте: ' . implode('; ', $errors));
}
}
add_action('save_post', 'wpto_check_spelling_grammar');
При попытке сохранить запись с ошибками, публикация будет остановлена с уведомлением.
Проверка уникальности контента
Проверка уникальности — более сложная задача, так как требует обращения к внешним сервисам. Можно использовать API таких сервисов, как Text.ru или Advego. Пример ниже демонстрирует общий подход (псевдокод, адаптируйте под конкретный API):
function wpto_check_uniqueness($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
$post = get_post($post_id);
if ($post->post_type !== 'post') return;
$text = $post->post_content;
// Подготовка запроса к API уникальности
$api_key = 'ВАШ_API_КЛЮЧ';
$response = wp_remote_post('https://api.text.ru/post', [
'body' => [
'text' => $text,
'key' => $api_key,
],
]);
if (is_wp_error($response)) return;
$body = wp_remote_retrieve_body($response);
$result = json_decode($body, true);
if ($result['unique'] < 80) { // порог уникальности 80%
wp_die('Текст слишком неуникален. Пожалуйста, отредактируйте содержание.');
}
}
add_action('save_post', 'wpto_check_uniqueness');
Обратите внимание, что для работы с таким API нужен ключ и учетная запись на сервисе.
Реализация комплексного решения с уведомлениями и подсказками авторам
Часто бывает удобно не просто блокировать публикацию, а показывать предупреждения в редакторе. Для этого можно использовать AJAX-запросы и JavaScript, чтобы проверять контент в реальном времени. Например, интегрировать проверку длины и орфографии прямо в Gutenberg или классический редактор.
Пример AJAX проверки длины текста
add_action('wp_ajax_wpto_check_length', function() {
$content = $_POST['content'] ?? '';
$length = strlen(strip_tags($content));
if ($length < 300) {
wp_send_json_error('Длина текста меньше 300 символов');
} else {
wp_send_json_success('Текст достаточной длины');
}
});
На стороне клиента можно сделать простой скрипт, который отправляет содержимое на сервер и показывает сообщение под полем ввода.
Полезные плагины из WPShop для улучшения качества контента
Если вы хотите расширить функционал сайта без глубокой разработки, обратите внимание на следующие решения из WPShop:
- Clearfy Pro — оптимизация и очистка WordPress, помогает повысить скорость и безопасность;
- Expert Review — позволяет организовать экспертную оценку контента, что улучшает качество;
- WPRemark — автоматизация обработки форм, помогает собирать отзывы и предложения на сайте;
- Quizle — создание интерактивных опросов и тестов, которые можно использовать для повышения вовлечённости и проверки знаний авторов.
Эти инструменты можно комбинировать с собственными проверками для создания мощной системы контроля качества.
Выводы и рекомендации
Автоматизация проверки качества контента — важный шаг к профессиональному сайту на WordPress. Простые проверки длины и орфографии можно реализовать самостоятельно, интегрируя внешние сервисы для расширенного анализа. Не забывайте о удобстве для авторов: показывайте ошибки и предупреждения сразу в редакторе. А для комплексного улучшения качества контента используйте проверенные плагины, например из WPShop.
Таким образом, вы сможете значительно повысить качество материалов, снизить нагрузку на модераторов и улучшить пользовательский опыт на сайте.