Joomla - налаштування Фiльтру Язiку - велiка

Іноді зустрічаються вебсайти де клик на прапорці мови перекладу несподівано переносить відвідувача, наприклад, на головну сторінку, або залишає на поточній. Ймовірно потрібна сторінка відсутня, а веб-дизайнер просто не подбав повідомити про це. Сучасна Joomla володіє широкими можливостями підтримки багатомовності в подібних випадках, але є нюанс.

Атрибут "hreflang"

Припустимо описатель меню виглядає наступним чином:

JustOneLangSupported
Ви показуєте або приховуєте Модуль Перемикача Мови на відповідних сторінках і, налаштувавши плагін Фільтри Мови, наприклад, як на малюнку на початку статті, отримуєте в подарунок автоматичне поліпшення SEO, тому що Joomla атоматічно додасть відповідну інформацію в заголовок сторінки:

hreflang OK
Однак, цього не відбувається в згаданому вище випадку відсутності сторінок перекладу, навіть не залежно від того, дозволяєте ви в налаштуваннях Фільтри Мови додавання тега "x-default", або показ прапора Активної Мови в модулі Перемикача Мови  (версія Joomla 3.9.1):

hreflang absent
Ймовірно розробники припускали, що повинні бути присутніми переклади для всіх оголошених мов, або на худий кінець, порожні сторінки зі стандартними вибаченнями. Але, якщо документів багато, то ви витратите чимало часу на призначення асоціацій і т.д. Я не став розширювати відповідний системний плагін за стандартною методикою, а просто додав два рядки в функцію 'onAfterDispatch ()' файлу '/plugins/system/languagefilter/languagefilter.php' (см.код, починаючи з рядка 826):

PatchCode
Тепер все у порядку:

hreflang restored

Редирект 301

Намагайтеся уникати лінків з багатомовних сторінок на сторінки, які не мають перекладу. На наступному скріншоті результатів роботи програми ScreamingFrog ви бачите приклад редиректів 301, породжуваних таким посиланням:

Redirect 301
Скоро Joomla! буде оновлюватися і може бути у версії 4.0 ця проблема буде вирішена. Пошуковики не вітають редіректи 301 і ви можете або видалити подібні посилання, або запастися терпінням і повторити наступні кроки для кожної сторінки:

  • Створити Категорію статті і призначити мовні асоціації
  • Створити статтю і призначити мовні асоціації
  • Створити пункт меню, підключити до нього статтю
  • Відзначити показ модуля 'Language Switcher' для даної статті
  • Дозволити показ головного меню (Top) при показі даної статті
  • Створити Модуль Меню (бічний) для вибору з групи статей даної Категорії
  • Підключити статтю до Модуля і призначити мовні асоціації
  • Скорегувати лінки на цю статтю

Примітка: не забувайте примусово сканувати Категорії і Меню після поновлення (натисніть копку Build). З власного дуже давнього негативного досвіду припускаю, що ця кнопка додана тому, що Joomla! зберігає важливі настройки в JSON-структурах полів типу 'mediumtext' Бази Даних.

На наступній картинці представлена ​​сторінка оголошення відсутнього перекладу матеріалу:

Sorry page

Перевіримо результат наших праць:

StillErr

Список редиректів дещо змінився, але вони не зникли! Заборонимо видалення коду Мови по-замовчуванню з URL:

LanguageFilterPlugin

Непередбачені дублікати Ключових Слів

Загальновідомо, що пошукові машини дуже не люблять дублювання ключових слів. Якщо у вас багатомовний сайт, то уникайте заповнення поля Site Meta Keywords в діалозі 'System - Global Configuration' (Joomla v3.9.3):

Joomla Site Meta Keywords
На наступному скріншоті представлений результат роботи програми ScreamingFrog (дивиться стрiчки 'featured articles' - apoffice.in.ua/uk/, apoffice.in.ua/ru/, i apoffice.in.ua/en/):

Joomla Keywors Problem
Якщо ви залишите це поле порожнім, то дублікати в звіті ScreamingFrog перекочують в список Missing Meta Keywords, що все ж краще.

Сподіваюся вищевикладений матеріал стане вам у пригоді.