Многоезичност в WordPress

Ефективни решения за многоезичност в WordPress

Искате да имате многоезичен сайт в WordPress? Тогава тази публикация ще ви даде всичко най-необходимо като информация!

Но преди това нека да разгледаме многоезичността в общия случай за всеки сайт, без значение дали е направен на WordPress или по друг начин. Това означава, че трябва да се спрем и над изискванията за целите на SEO.

Каква трябва да бъде URL структурата на един многоезичен сайт?

За да бъде един сайт индексиран максимално добре и съответно класиран на максимално по-високи позиции, той следва да има SEO-Friendly URL структура, която да съдържа в себе си: бранда, поддомейна (като част от URL-а) и адресът на самата страница с релевантни ключови думи.

Това правило се прилага на 100% и за многоезичността, като в случая URL структурата на един многоезичен сайт следва да изглежда по подобен начин:

http://primeren-domain.com/en/poddomain/primerna-stranitsa/

Посоченият пример би бил идеален за една англоезична страница в многоезичен сайт.

Как да постъпим със SEO On-Page мета елементите?

За всяка страница следва да имате SEO On-Page мета елементи на съответния език. Описанията (meta description  и og:description) също следва да бъдат уникални и в допустимия брой символи – около 156. Преведете и title таговете и преценете дали е удачно да добавите уникални изображения за всяка страница. Принципно, ако на картинките има текст, то е съвсем логично те да бъдат преведени и качени наново.

Моята препоръка е дори и на пръв поглед да няма нужда от повторно качване на картинки, да го направите като преведете и файловите имена и алтернативните текстове. В краен случай можете да използвате едни и същи картинки (ако е приложимо), но поне преведете ръчно алтернативния текст на съответния език.

А относно Sitemap и Robots.txt?

За всеки език следва да имате отделен Sitemap. В Robots.txt следва да поставите връзки към всички налични карти на сайта и съответно да ги добавите и в Search Console (бившият Webmaster Tools).

Всеки sitemap следва да бъде достъпен по следния начин в края на Robots.txt:

Sitemap: http://primeren-domain.com/en/sitemap.xml – за целия домейн на английски език

Sitemap: http://primeren-domain.com/bg/sitemap.xml – за целия домейн на български език

А как е по-удачно – да се настрои страница по подразбиране, на която да попадне посетителят или да се направи така, че да бъде разпознат езикът му и той да бъде пренасочен към съответното съдържание?

Принципно е добра идея да зададете страница по подразбиране. Определете я в зависимост от главната ви целева група и езикът, на който тя говори. Винаги всеки посетител ще може да смени езика, ако сте му предоставили тази възможност. За целта предвидете видимо решение, което да бъде на разположение в хедъра и футъра. Предвидете комбинация от флаг и езиков код.

Ако сте 100% убедени, че целевата ви група използва браузъри на своя собствен език, тогава можете да зададете опция за директно пренасочване към него. Тук обаче съм длъжен да спомена, че не всеки прави това. В България (примерно) много потребители имат браузър на английски език, което ще направи така, че те да бъдат пренасочени към английската версия на сайта ви.

Това бяха принципните изисквания за многоезичност за всеки един сайт. Нека сега да разгледаме как стоят нещата при WordPress.

Не е тайна, че многоезичността е проблем на WordPress. Има различни решения, които могат да предоставят тази функционалност, но винаги може да се случи така, че да се загуби нещо в базата данни. Въпреки това има три опции за изграждане на многоезичен WordPress сайт, които са се доказали през годините.

Вариант 1: WPML

WPML - може би най-добрият плъгин за многоезичност при WordPress

Този плъгин е може би най-доброто решение за многоезичност при WordPress. WPML е платен, но за сметка на това получавате реално качество, съчетано с отлична поддръжка. Освен това е съвместим с популярните плъгини за SEO. Също така чрез допълнителния плъгин Widget Logic ще можете да зададете и кои widgets да бъдат показани на даден език и кои не. За целта следва само да инсталирате този плъгин и за всеки widget ще се появи едно поле, в което следва да въведете следния код:

ICL_LANGUAGE_CODE == ‘en’

Сами се досещате, че това ще предизвика widget-а да бъде показан на всички английски страници и съответно да бъде скрит на останалите. Просто променете езиковия код за всеки език при употребата на Widget Logic в комбинация с WPML.

Плъгинът се предлага в различни пакети:

  • Multilingual Blog – най-базовото решение, което е повече от достатъчно за един блог или малък сайт. Чрез него ще можете да създадете SEO User-Friendly структура, да превеждате всяко стандартно WordPress съдържание (публикации, страници, custom types, менюта, тагове, категории, custom таксономия) и също така това решение поддържа детекция от страна на браузъра за езика на който следва автоматично да се зареди сайта. Реално погледнато чрез това решение можете да поддържате и по-големи и сложни многоезични сайтове, но ще ви се наложи да превеждате темите и плъгините ръчно, а това може да стане чрез Poedit.
  • Multilingual CMS – този вариант на WPML дава много повече опции (в това число поддръжка за многоезичност при онлайн магазини) и същевременно има по-дълъг период на поддръжка.
  • Multilingual CMS Lifetime – плащате веднъж и получавате цялата мощ на WPML. Отделно поддръжката е доживотна, както и обновяванията на този плъгин.

Вариант 2: qTranslate X

qTranslateX - Плъгин за многоезичност за WordPress

Този плъгин е безплатен и предлага функционалност сходна на WPML. Разликата тук е, че всяка страница не се създава наново в базата данни, а по-скоро за всяка налична страница/статия имате възможност да добавяте различни преводи, които после се използват за визуализация на съответния език. Този плъгин също ви позволява да създадете SEO User-Friendly структура. За съжаление може да имате проблем при употребата му с различни page builder-и, но за един стандартен WordPress сайт това безплатно решение ще ви бъде от полза. Предлагат се и допълнителни плъгини за съвместимост с най-популярните SEO решения за WordPress.

Вариант 3: Няколко инсталации на WordPress под формата на поддомейни

ОК – този вариант е тромав, труден за управление (без допълнителни решения) и според някои колеги дори би могъл да бъде наречен абсурден. Въпреки това работи безотказно. Препоръчвам употребата на решение за управление на WordPress Multisite.

Създайте няколко поддиректории в директорията на домейна. Техният брой следва да бъде определен от броя на езиците, които искате да поддържа вашия сайт. Кръстете всяка от тях с кода на съответния език: bg, de, en, ru и т.н. След това направете инсталации във всяка една от тях отново на съответния език. Следващото нещо е да създадете еднакъв дизайн, така че посетителите да не усещат, че дефакто преминават от един сайт на друг и започнете да създавате вашето съдържание. Отново ще имате няколко карти на сайта, които следва да добавите в генералния Robots.txt за целия домейн. Разбира се тук ще трябва да поддържате няколко сайта за целите на многоезичността. Не е най-доброто решение, но определено може да ви бъде от полза в краен случай.

UPDATE: Вариант 4:  Polylang – един плъгин, който определено си заслужава вниманието, когато става въпрос за многоезичност при WordPress.

Polylang е чудесен плъгин за многоезичност при WordPress

Изтеглете и инсталирайте Polylang от официалната страница в wordpress.org (кликнете тук) или използвайте системата за търсене и инсталиране на разширения във вашия WordPress сайт. Този плъгин е подходящ както при изграждане на чисто нови сайтове на два или повече езика, така и при мигриране от WordPress инсталации, използващи WPML.

Polylang има и платена PRO версия, която отключва много повече възможности. Въпреки това безплатният вариант би могъл да е повече от достатъчен за сайт на малък бизнес или индивидуален блог. С Polylang ще можете да преведете и поддържате безпроблемно съдържанието на вашия сайт.

Това е, което мога да споделя с вас относно многоезичността при различните сайтове и в частност при WordPress. Ще се радвам да прочета вашите коментари и мнения.

До нови срещи, приятели!