Почему многоязычность важнее, чем кажется
Местный бизнес думает на одном языке. Бизнесу, который хочет международных клиентов — туризм, гостеприимство, профессиональные услуги, электронная коммерция, — нужно, чтобы его сайт существовал нативно на тех языках, на которых ищут его реальные клиенты. Не как позднее дополнение. Каждый клиент, для которого я делаю сайт и который хочет охвата за пределами своей страны, получает многоязычную маршрутизацию с первого дня: добавлять её позже на одноязычный сайт — значит переделывать метаданные, структуру URL и зачастую стратегию контента с нуля.
Почему обе очевидные лазейки не работают
Есть две лазейки, к которым все тянутся в первую очередь, и обе не работают для настоящего SEO. Первая — плавающий виджет перевода (встроенный Google Translate или подобный): он работает на стороне клиента, когда страница уже загружена на исходном языке, поэтому поисковые системы индексируют исходный текст — испаноязычные посетители, которые ищут по-испански, никогда не найдут страницу, которая для Google выглядит испанской. Вторая — один URL с параметром запроса, например ?lang=es. Поисковые системы ненадёжно воспринимают варианты с параметрами запроса как отдельные, самостоятельно ранжируемые страницы — их часто считают дублирующим контентом того же URL, поэтому ваш испанский контент конкурирует с английским, а не ранжируется самостоятельно по испанским запросам.
Решение: настоящие маршруты, по одному на язык
Каждый язык получает собственный индексируемый путь — /it/, /en/, /es/ — с серверным рендерингом, полностью переведённым контентом, собственным атрибутом <html lang> и собственными метаданными. В Next.js именно это из коробки даёт next-intl с localePrefix, установленным в «always»: вместо одной страницы, которая подменяет текст с помощью JavaScript, вы получаете по-настоящему отдельные страницы, которые поисковые системы могут сканировать, индексировать и ранжировать независимо, — каждая из них настоящая, полная страница на своём языке, а не переведённая оболочка поверх одного и того же контента.
Как это на самом деле устроено на этом сайте
Что это даёт на самом деле
Каждый языковой вариант ранжируется сам по себе: по итальянскому запросу выходит итальянская страница, по испанскому — испанская, и ни одна не конкурирует с другой и не размывает её в глазах Google. Не менее важно для конверсии: посетители попадают на страницу, которая читается как по-настоящему написанная на их языке, а не на страницу с заметным виджетом перевода в углу. Для ресторана, отеля или профессиональной услуги, которым нужно выглядеть убедительно для международной аудитории, эта разница часто и есть разница между уходом и клиентом.
Хотите, чтобы эта архитектура работала на вашем сайте?
Давайте поговорим →About
Патрик Чен — независимый разработчик и веб-дизайнер, создатель Sublimearts.io. Именно эта схема маршрутизации — next-intl, localePrefix always, метаданные для каждого языка — отрисовывает страницу, которую вы читаете прямо сейчас, на том из 9 языков, на котором вы её просматриваете.