Перейти к содержанию
AlexanderShef

Индексация сайта на двух языках и автоматическое определение языка

Рекомендуемые сообщения

Добрый вечер, хочу разобраться в вопросе индексации сайта поисковыми системами при двух и более языках. 

Делаем магазин, стал вопрос о двух языках (укр. и рус.) установили ocStore 2.1, как в нем обстоят дела с индексацией страниц?

Читал некоторые статьи, пишут что в Opencart индексируются страницы, только языка по умолчанию, но в основном эти статьи 2010-15 годов. 

Возможно есть какие нибудь модули или требуются доработки?

Буду благодарен за консультацию в данном вопросе!

 

Также хотелось бы грамотно реализовать определение языка по языку браузера. Нашел вот такой код, подскажите пожалуйста, возможно его внедрять или есть более грамотное решение?

 

if (!isset($this->session->data['language_change'])) {    
    $this->session->data['language_change'] = '0'; } if ($this->session->data['language_change']=='0') {
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $this->session->data['language_change']='1'; if ($lang=='ru' || $lang=='uk' || $lang=='be' || $lang=='ky' || $lang=='am' || $lang=='ab'){ 
        $_SESSION['language'] = 'ru';
        $this->session->data['language']='ru';
        $this->session->data['language_code']='ru'; } else { 
        $_SESSION['language'] = 'en'; 
        $this->session->data['language']='en';
        $this->session->data['language_code']='en'; }
    $this->response->redirect($_SERVER['REQUEST_URI']); }

 

Изменено пользователем AlexanderShef

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В помощь
Тот код что вы привели - грабли и костыли

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

либо как вариант через алиасы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, markimax сказал:

Тот код что вы привели - грабли и костыли

100%

 

Не надо давать системе распознавать ваш язык..
Это не цель магазина, удобства это не принесет.
Вы должны определиться с основным контингентом сайта, проанализировать языковые предпочтения ЦА, выбрать язык по умолчанию.

 

Но если вы уж задались целью, то может вы бы посмотрели в код ОС, приведу на всякий случай

		// Language Detection
		if (!empty($this->request->server['HTTP_ACCEPT_LANGUAGE']) && !array_key_exists($code, $languages)) {
			$detect = '';
			
			$browser_languages = explode(',', $this->request->server['HTTP_ACCEPT_LANGUAGE']);
			
			// Try using local to detect the language
			foreach ($browser_languages as $browser_language) {
				foreach ($languages as $key => $value) {
					if ($value['status']) {
						$locale = explode(',', $value['locale']);
						
						if (in_array($browser_language, $locale)) {
							$detect = $key;
							break 2;
						}
					}
				}	
			}			
			
			if (!$detect) { 
				// Try using language folder to detect the language
				foreach ($browser_languages as $browser_language) {
					if (array_key_exists(strtolower($browser_language), $languages)) {
						$detect = strtolower($browser_language);
						
						break;
					}
				}
			}
			
			$code = $detect ? $detect : '';
		}

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, chukcha сказал:

100%

 

Не надо давать системе распознавать ваш язык..

 

 

100%
Это запутает ПС ботов, раз. Да и у многих язык браузера отличается от языка на котором говорят или к примеру заходят по поиску с поисковика (они то лучше знают что ищут и на каком языке) и т п
Вообще с точки зрения юзабилити пользователей бесит когда за них что то "выбирают"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×