В современных многоязычных сайтах на WordPress важным аспектом является не только перевод основного контента, но и метаданных постов — таких как custom fields, SEO описание, теги и другие данные, которые напрямую влияют на качество и полноту перевода. В этой статье мы разберём, как автоматически переводить метаданные постов в WordPress, чтобы обеспечить полноценно локализованный контент без лишних усилий.
Почему важно переводить метаданные WordPress
Метаданные — это данные о данных, которые не отображаются напрямую в теле статьи, но активно используются плагинами и темами для улучшения функциональности сайта и SEO. Например, SEO-плагины, такие как Yoast SEO или Rank Math, используют метаданные для формирования сниппетов. Если метаданные не переведены, то многоязычный сайт теряет в качестве и релевантности для пользователей и поисковых систем.
Кроме того, custom fields могут содержать важную информацию, например, характеристики товара, дополнительные описания или инструкции, которые пользователи должны видеть на своём языке.
Отсутствие перевода таких данных приводит к неполной локализации и ухудшению пользовательского опыта.
Обзор популярных плагинов для перевода метаданных
Для перевода метаданных в WordPress можно использовать несколько подходов и плагинов:
- WPGPT — плагин, который интегрируется с OpenAI и поддерживает автоматический перевод не только контента, но и метаданных, включая custom fields. Благодаря API можно настроить вызовы к GPT-модели для перевода нужных полей.
- WPML — один из самых популярных плагинов для многоязычности, который поддерживает перевод пользовательских полей и метаданных. Однако требует ручной настройки и перевода.
- Polylang Pro — поддерживает перевод метаданных, но автоматизация ограничена и требует дополнительных расширений.
- Clearfy Pro — оптимизационный плагин, который совместим с переводчиками и помогает управлять структурой метаданных.
Для автоматизации лучше всего подходит связка WordPress + WPGPT, которая позволяет настроить процесс перевода с минимальным участием человека.
Как запрограммировать автоматический перевод метаданных на примере WPGPT
Рассмотрим практический пример автоматического перевода метаданных постов с помощью плагина WPGPT и собственного кода. Предположим, у нас есть метаполе _custom_description, которое нужно перевести при сохранении поста.
Для начала подключаем хук сохранения поста:
add_action('save_post', 'wplangs_translate_post_meta', 20, 3);Далее реализуем функцию перевода:
function wplangs_translate_post_meta($post_id, $post, $update) {
// Проверяем, что это не автосохранение
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
// Проверяем права пользователя
if (!current_user_can('edit_post', $post_id)) {
return;
}
// Получаем метаданные для перевода
$original_text = get_post_meta($post_id, '_custom_description', true);
if (empty($original_text)) {
return;
}
// Определяем целевой язык, например 'en'
$target_lang = 'en';
// Вызываем API WPGPT для перевода
$translated_text = wplangs_translate_text_with_wpgpt($original_text, $target_lang);
if ($translated_text) {
// Сохраняем переведённое значение в отдельное метаполе
update_post_meta($post_id, '_custom_description_' . $target_lang, $translated_text);
}
}
function wplangs_translate_text_with_wpgpt($text, $target_lang) {
// Здесь должен быть вызов к API WPGPT с передачей текста и языка
// Для примера вернём просто текст с пометкой
return '[Перевод на ' . $target_lang . ']: ' . $text;
}В реальной реализации вызов API WPGPT должен содержать авторизацию, обработку ошибок и корректное формирование запроса. Такой подход позволяет автоматически создавать переводы метаданных при каждом сохранении поста.
Перевод метаданных SEO-плагинов
Многие SEO-плагины, такие как Yoast SEO, используют собственные метаполя для заголовков, описаний и ключевых слов. Для их автоматического перевода можно использовать похожий подход, расширяя функцию для обработки специфичных полей, например:
_yoast_wpseo_title_yoast_wpseo_metadesc
Важно учитывать, что эти данные влияют на SEO, поэтому перевод должен быть качественным. Для этого можно настроить дополнительную проверку или использовать ручное подтверждение перевода в админке.
Советы по оптимизации и интеграции
Чтобы автоматический перевод метаданных работал эффективно, рекомендуем:
- Использовать отдельные метаполя для каждого языка, чтобы не перезаписывать оригинальный текст.
- Добавлять фильтры и хуки для вызова перевода только при необходимости, например, при первом сохранении или изменении контента.
- Настраивать очередь заданий (cron) или отложенную обработку, если перевод занимает много времени.
- Использовать кэширование результатов перевода для ускорения загрузки страниц.
- Интегрировать с плагинами, такими как Clearfy Pro, для оптимизации базы данных и предотвращения дублирования метаданных.
Заключение
Автоматический перевод метаданных постов — важный шаг к полноценной многоязычности WordPress-сайта. Используя правильные инструменты и подходы, например, интеграцию с WPGPT, можно значительно упростить локализацию и повысить качество контента для разных языков. Рассмотренный пример кода — базовый шаблон, который легко адаптируется под ваши задачи и расширяется для поддержки любых метаданных.
Подробнее о плагине WPGPT и его возможностях можно узнать на официальной странице WPGPT на WPSHOP.