Есть одностраничный сайт site.com, при первом посещении отределяется язык браузера, записывается в куки и подключается файл перевода.
Есть ссылки для смены языка, для английского site.com/en/, русского site.com/ru/. При переходе на них куки переписываются и при последующем заходе на site.com отображается страница на ранее на выбранном языке.
В ссылках приписан hreflang, в теге
<html>
прописан атрибут lang
Внутри
<head>
:
<link rel="alternate" hreflang="x-default" href="http://site.com/" />
<link rel="alternate" hreflang="ru" href="http://site.com/ru/" />
<link rel="alternate" hreflang="en" href="http://site.com/ua/" />
На сколько это правильно с точки зрения поисковых систем, прописывать ли "canonical" на site.com/ru site.com/en, если да то как?