Раньше я колебался использовать машинные переводы с моего сайта. Мне бы хотелось, чтобы переводчики по всему миру помогали переводить мой сайт для разных аудиторий, но я не могу окупить эти затраты.
Однако я замечаю, что контент моего сайта широко распространен по всему миру, и многие люди используют Google Translate, чтобы читать мой контент на своем родном языке. Это вселяет во меня оптимизм, поскольку теперь, когда Google продолжает совершенствоваться с помощью машинного обучения и искусственного интеллекта, перевод может быть достаточно хорошим.
Имея это в виду, я хотел добавить плагин, который предлагает перевод с помощью Google Translate, но мне хотелось чего-то более комплексного, чем раскрывающееся меню, которое переводит веб-сайт. Я хочу, чтобы поисковые системы действительно видели и индексировали мой контент на международном уровне, для чего требуется несколько функций:
- Метаданные – когда поисковые системы сканируют мой сайт, я хочу
hreflang
теги в моем заголовке, чтобы предоставить поисковым системам разные пути URL-адресов для каждого языка. - URL – В WordPress я хочу, чтобы постоянные ссылки включали язык перевода.
Конечно, я надеюсь, что это откроет мой сайт для гораздо более широкой аудитории и принесет большую отдачу от инвестиций, поскольку я смогу увеличить свои партнерские и рекламные доходы без ручного перевода.
Плагин GTranslate для WordPress
Плагин GTranslate и сопровождающий его сервис включают в себя все эти и многие другие функции:
- Приборная доска — Комплексная сервисная панель для настройки и отчетности.
- Машинный перевод — Мгновенный автоматический перевод Google и Bing.
- Индексация поисковыми системами — Поисковые системы будут индексировать переведенные страницы. В результате люди могут найти продукт, который вы продаете, используя поиск на своем родном языке.
- Удобные URL-адреса для поисковых систем – Например, каждый язык имеет отдельный URL-адрес или субдомен.
- перевод URL – URL-адрес вашего сайта можно перевести, что очень важно для многоязычного SEO. Вы сможете изменить переведенные URL-адреса. Вы можете использовать платформу GTranslate для идентификации переведенного URL-адреса.
- Редактирование перевода — Редактируйте переводы вручную с помощью встроенного редактора GTranslate непосредственно из контекста. Это необходимо по нескольким причинам… например, я бы не хотел, чтобы название моей компании переводилось как Хайбридж.
- Оперативное редактирование – Вы также можете использовать синтаксис в своей статье для замены ссылок или изображений на основе языка.
<a href=" data-gt-href-fr="
Синтаксис изображения аналогичен:
<img src=" data-gt-src-ru="russian.jpg" data-gt-src-es="spanish.jpg" />
А если вы не хотите, чтобы раздел переводился, вы можете добавить класс без перевода.
<span class="notranslate">Do not translate this!</span>
- Статистика использования — Вы можете увидеть свой трафик переводов и количество переводов на панели управления.
- Субдомены – Вы можете выбрать поддомен для каждого языка. Я выбрал этот путь вместо URL-адреса, поскольку он меньше нагружал мой веб-сервер. Метод субдомена невероятно быстр и просто указывает непосредственно на переведенную страницу, кэшированную Gtranslate.
- Домен – Каждый язык может иметь отдельный домен. Например, если вы используете домен верхнего уровня .fr (tld), ваш веб-сайт может занять более высокие позиции в результатах поисковых систем во Франции.
- Соавторы — Если вы хотите, чтобы люди помогали с переводом вручную, они могут иметь доступ к GTranslate и вносить исправления вручную.
- Редактировать историю — Просматривайте и редактируйте историю ручного редактирования.
- Регулярные обновления — Нет необходимости проверять наличие обновлений программного обеспечения и устанавливать их. Мы заботимся о дальнейших обновлениях. Вы наслаждаетесь новейшими услугами каждый день
- Языки — африкаанс, албанский, амхарский, арабский, армянский, азербайджанский, баскский, белорусский, бенгальский, боснийский, болгарский, каталанский, кебуанский, чичеве, китайский (упрощенный), китайский (традиционный), корсиканский, хорватский, чешский, датский, голландский, английский , эсперанто, эстонский, филиппинский, финский, французский, фризский, галисийский, грузинский, немецкий, греческий, гуджаратский, гаитянский, хауса, гавайский, иврит, хинди, хмонг, венгерский, исландский, игбо, индонезийский, ирландский, итальянский, японский, яванский , каннада, казахский, кхмерский, корейский, курдский, кыргызский, лаосский, латинский, латышский, литовский, люксембургский, македонский, малагасийский, малаялам, малайский, мальтийский, маори, маратхи, монгольский, мьянманский (бирманский), непальский, норвежский, пушту, Персидский, польский, португальский, пенджабский, румынский, русский, сербский, шона, сесото, синдхи, сингальский, словацкий, словенский, самоанский, шотландский гэльский, сомалийский, испанский, сунданский, суахили, шведский, таджикский, тамильский, телугу, тайский, турецкий , украинский, урду, узбекский, вьетнамский, валлийский, коса, идиш, йоруба, зулу
Подпишитесь на 15-дневную пробную версию GTranslate.
GTranslate и разрешения на заголовок
Если вы решили настроить GTranslate с использованием поддоменов, ваш сайт может некорректно загружать такие ресурсы, как шрифты. Чтобы это исправить, вам понадобится плагин, в котором вы можете обновить заголовки HTTP, чтобы разрешить Allow-Control-Allow-Origin для совместного использования ресурсов.
// Add a policy for allowing assets to each of the subdomains.
function add_cors_http_header() {
$allowed_subdomains = array(
"en", "af", "sq", "am", "ar", "hy", "az", "eu", "be", "bn", "bs", "bg", "ca", "ny", "zh-CN", "zh-TW", "co", "hr", "cs", "da", "nl", "eo", "et", "tl", "fi", "fr", "fy", "gl", "ka", "de", "el", "gu", "ht", "ha", "he", "hi", "hu", "is", "ig", "id", "ga", "it", "ja", "jv", "kn", "kk", "km", "ko", "ku", "ky", "lo", "la", "lv", "lt", "lb", "mk", "mg", "ml", "ms", "mt", "mi", "mr", "mn", "my", "ne", "no", "ps", "fa", "pl", "pt", "pa", "ro", "ru", "sr", "sn", "st", "sd", "si", "sk", "sl", "sm", "gd", "so", "es", "su", "sw", "sv", "tg", "ta", "te", "th", "tr", "uk", "ur", "uz", "vi", "cy", "xh", "yi", "yo", "zu"
);
$allowed_origins = array_map(function ($subdomain) {
return "
}, $allowed_subdomains);
// Construct the CORS header with the allowed subdomains
$allowed_origins_string = implode(' ', $allowed_origins);
header("Access-Control-Allow-Origin: " . $allowed_origins_string);
header("Access-Control-Allow-Methods: GET");
header("Cache-Control: max-age=604800, public"); // One-week caching
$expires = gmdate('D, d M Y H:i:s', time() + 604800) . ' GMT'; // One-week expiration
header("Expires: $expires");
header("Vary: Accept-Encoding");
}
add_action('init', 'add_cors_http_header');