Автоматическое определение языка и перенаправление на стороне клиента в JS с помощью Akamai

У меня есть сайт, переведенный на 18 языков (с 18 переведенными доменами). Он также имеет динамический контент на основе языка, то есть различные продукты, некоторые из которых доступны только на определенных языках. Хотя есть селектор языка, и люди могут использовать его для переключения языка и, следовательно, сайта, шансы того, что парень найдет селектор языка на языке, который он не знает, не слишком высоки. Это жизненно важно решить, особенно с платным рекламным трафиком, который тратится впустую, если не обрабатывается.

Я использую Akamai в качестве CDN и хотел выполнять обнаружение и перенаправление в JS и, в идеале, на уровне пограничного сервера, чтобы это не был еще один вызов, который должен возвращаться на исходный сервер. После ознакомления со всей их документацией, параметрами конфигурации в их пользовательском интерфейсе и т. Д. Я не нашел способа сделать это.

Хотя я встречался со своим представителем Akamai и работал с одним из их инженеров, чтобы придумать решение, я не знаю, является ли оно лучшим, и открыт для других решений.


person Peter Oram    schedule 27.09.2012    source источник


Ответы (2)


У Akamai есть сервис под названием (последний раз я проверял) «Таргетинг на контент», ранее называвшийся «Edgescape». По краю, Edgescape добавляет заголовок уровня 7 (http) под названием «x-akamai-edgecape» к каждому входящему запросу и предоставляет многочисленные биты информации о конечном пользователе:

Город, штат, страна, почтовый индекс, код города, интернет-провайдер, пропускная способность интернет-провайдера (DSL, спутник) и многое другое.

После того, как вы добавили эту информацию в заголовок запроса, вы - исходный сервер - можете принимать решения на основе этой информации, например. если страна = ES, перенаправить на spanish.yourdomain.com. ИЛИ вы можете заставить Akamai принимать эти решения с помощью пограничной логики. Их серверы могут читать входящий HTTP-заголовок со значением страны и создавать перенаправление на границе. Они даже могут добавить значение cookie, указывающее, на какой сайт выполнять последующие запросы. Материал cookie просто зависит от ваших предпочтений и желаемого поведения приложения.

Если у вас есть доступ к клиентскому порталу Akamai, поищите документацию Edgescape и ACO (Advanced Cache Optimization - возможность читать заголовки / файлы cookie и принимать решения на их основе).

Удачи.

p.s. Edgescape и ACO - это дополнительные модули от Akamai, НО они могут уже быть у вас ИЛИ иметь возможность добавить их за небольшую плату или бесплатно в рамках продления контракта.

person fivedogit    schedule 27.09.2012

Хотя не в самом пользовательском интерфейсе, есть способ сделать это, который они настроили. Вы даете им сопоставление домена с заголовком accept-language (да, я действительно думаю, что лучше использовать accept-language, поскольку все, что я собираюсь изменить на сайте, - это настройки, зависящие от языка и языка), и инженер на их стороне настроит он автоматически перенаправляет на Edge в нужный домен на основе этого заголовка. Кроме того, они дадут парню куки, чтобы обнаружить, что они его перенаправили. Таким образом, если он использует селектор языка или переходит по ссылке, зависящей от другого языка, это не перенаправляет его автоматически снова, а теперь позволяет ему идти туда, куда он хочет - так что это не навязывает ему эту опцию.

По-видимому, единственный недостаток в том, что если мне нужно что-то изменить, мне придется пройти через все, чтобы исправить это, вместо того, чтобы делать это сам - если только я что-то не забываю.

person Peter Oram    schedule 27.09.2012