Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

Делаем магазин, стал вопрос о двух языках (укр. и рус.) установили 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 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.