Nik

Мультиязычный сайт

Recommended Posts

Здравствуйте.

Присматриваюсь к вашей cms. Есть вопросы по корректности работы мультиязычной функции в связке с SEO.

1. При добавлении контента, есть ли возможность прописать url/title/description для разных языков?

2. Если просматривать объявление на русском, а затем переключить язык - идёт переход на главную страницу. Не лучше бы было оставаться на той же.

3. Страницы на разных языках имеют адреса .../arenda-kvartir/2-komn/realty33815/?_lang=ru и .../arenda-kvartir/2-komn/realty33815/?_lang=en Но в индексе и, соответственно, в поиске будет только страница .../arenda-kvartir/2-komn/realty33815 (т.к. она указана в sitemap). Поисковик проиндексирует только основной язык и переходов с английских (как пример) запросов не будет. Можно с этим что-то сделать?

Спасибо.

 

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


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

1. url будет один, для остального есть возможность

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

3. а смысл? В любом случае поисковик учтет заголовки, описание и meta ...

У вас сайт будет рассчитан на местную (российскую) аудиторию или будет шарашить по всему миру? На продвижение денег хватит? :) 

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


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

1.Т.е. на одном урле будут разные заголовки и описания. А как к этому поисковики отнесутся? Не воспримут ли как подмену контента для человека и бота?

2. Логично. Но если я пришёл из поиска на конкретную квартиру (допустим на английском) и тут вижу, что есть русский, то переключив я попаду на главную. И тем самым потеряю нужное объявление.

3. Уточнение в первом пункте.

В том то и дело, что будет "шарашить по всему миру" и "основных" языков будет минимум 4. А ещё вспомогательные (где будет переводиться только часть контента). 

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


Ссылка на сообщение
Поделиться на других сайтах
В 09.11.2016 в 07:38, Nik сказал:

1.Т.е. на одном урле будут разные заголовки и описания. А как к этому поисковики отнесутся? Не воспримут ли как подмену контента для человека и бота?

Да. Бот всегда будет видеть дефолтный язык. Человек же, переключая язык, может запросить страницу на другом, недефолтном языке. Для сео этот вариант не подходит, так как бот не узнает про другие языки. В этом случае следует использовать систему поддоменов вида en.site.ru, fr.site.ru и т.д., которые будут ссылаться на один и тот же сайт, но, в зависимости от поддомена, будет включаться нужный язык. Тогда и роботы оценят наличие мультиязыка и людям будет понятно. Но с таким подходом будет проблемой вынести на поддомены еще что-то, например отдельны страницы локаций или других объектов.

В 09.11.2016 в 07:38, Nik сказал:

2. Логично. Но если я пришёл из поиска на конкретную квартиру (допустим на английском) и тут вижу, что есть русский, то переключив я попаду на главную. И тем самым потеряю нужное объявление.

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

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


Ссылка на сообщение
Поделиться на других сайтах
В 08.01.2018 в 17:33, abushyk сказал:

Да. Бот всегда будет видеть дефолтный язык. Человек же, переключая язык, может запросить страницу на другом, недефолтном языке. Для сео этот вариант не подходит, так как бот не узнает про другие языки. В этом случае следует использовать систему поддоменов вида en.site.ru, fr.site.ru и т.д., которые будут ссылаться на один и тот же сайт, но, в зависимости от поддомена, будет включаться нужный язык. Тогда и роботы оценят наличие мультиязыка и людям будет понятно. Но с таким подходом будет проблемой вынести на поддомены еще что-то, например отдельны страницы локаций или других объектов.

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

Подскажите пожалуйста ,

Открою например поддомены en.site.ru, fr.site.ru ,  что в них прописать чтобы показывался именно тот язык

И если есть поддомены например novostroy.site.ru , то как его тоже переключить на другой язык для сео

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


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

Подскажите пожалуйста ,

Открою например поддомены en.site.ru, fr.site.ru ,  что в них прописать чтобы показывался именно тот язык

И если есть поддомены например novostroy.site.ru , то как его тоже переключить на другой язык для сео

В /index.php

Тут

if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'ru';
    }
}

вместо ru, пропишите свой язык.

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


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

В /index.php

Тут


if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'ru';
    }
}

вместо ru, пропишите свой язык.

так можно

<?php
header("HTTP/1.1 301 Moved Permanently");
if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'en';
    }
}
exit();
header("Content-type: text/html; charset=UTF-8");
@ini_set('arg_separator.output', '&amp;');
@ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src');
?>

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


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

так можно

<?php
header("HTTP/1.1 301 Moved Permanently");
if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'en';
    }
}
exit();
header("Content-type: text/html; charset=UTF-8");
@ini_set('arg_separator.output', '&amp;');
@ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src');
?>

Вообще бессмысленный код.

Первая строчка у вас делает редирект непонятно куда.

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


Ссылка на сообщение
Поделиться на других сайтах
41 минуту назад, rumantic сказал:

Вообще бессмысленный код.

Первая строчка у вас делает редирект непонятно куда.

А так?

<?php
if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'en';
    }
}
exit();
header("Content-type: text/html; charset=UTF-8");
@ini_set('arg_separator.output', '&amp;');
@ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src');
?>

Или правильный можно в студию?

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


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

А так?

<?php
if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'en';
    }
}
exit();
header("Content-type: text/html; charset=UTF-8");
@ini_set('arg_separator.output', '&amp;');
@ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src');
?>

Или правильный можно в студию?

Этот вариант вообще не будет работать.

Вы что хотите сделать?

Напишите конечную цель.

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


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

Попутный вопрос:
Можно ли добавить кнопку для автоперевода в поле описания.
Например есть несколько полей "Описание" на разных языках.
Вводим в первое поле с описанием на русском, а в остальных полях например добавить кнопку - "Перевод на английский" , "автоперевод на немецкий" и т.д. ?

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


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

Этот вариант вообще не будет работать.

Вы что хотите сделать?

Напишите конечную цель.

Сео на другие языки

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


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

Сео на другие языки

А чуть более развернуто?

Формулировка ваша тоже не внесла никакой ясности.

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


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

Попутный вопрос:
Можно ли добавить кнопку для автоперевода в поле описания.
Например есть несколько полей "Описание" на разных языках.
Вводим в первое поле с описанием на русском, а в остальных полях например добавить кнопку - "Перевод на английский" , "автоперевод на немецкий" и т.д. ?

Да, сейчас тестируем функцию автоперевода через API гугла. Скоро сделаем документацию.

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


Ссылка на сообщение
Поделиться на других сайтах
28 минут назад, rumantic сказал:

А чуть более развернуто?

Формулировка ваша тоже не внесла никакой ясности.

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

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


Ссылка на сообщение
Поделиться на других сайтах
47 минут назад, Realtor сказал:

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

Тут не будет решения на две строчки кода.

Надо проектировать более сложный модуль.

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


Ссылка на сообщение
Поделиться на других сайтах
23 минуты назад, rumantic сказал:

Тут не будет решения на две строчки кода.

Надо проектировать более сложный модуль.

Хорошо. В ЛК напишите

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


Ссылка на сообщение
Поделиться на других сайтах
В 11.04.2018 в 08:37, rumantic сказал:

В /index.php

Тут


if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'ru';
    }
}

вместо ru, пропишите свой язык.

не работает. Показывает белый экран

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


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

 

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

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


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

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

Покажите ваш код полностью index.php

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


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

Покажите ваш код полностью index.php

<?php
error_reporting(E_ERROR | E_WARNING);
//error_reporting(E_ALL);
ini_set('display_errors','On');
if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'en';
    }
}
?>

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


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

<?php
error_reporting(E_ERROR | E_WARNING);
//error_reporting(E_ALL);
ini_set('display_errors','On');
if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'en';
    }
}
?>

:)

Ну это же понятно почему, у вас файл ведь ничего и не должен выводить.

Тут ни одной строчки из CMS Sitebill нет.

Думаю вам проще будет заказать доработку в разделе фриланса, а то ведь так придется вам всю архитектуру объяснять на пальцах.

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


Ссылка на сообщение
Поделиться на других сайтах
В 10.04.2018 в 18:29, Realtor сказал:

Подскажите пожалуйста ,

Открою например поддомены en.site.ru, fr.site.ru ,  что в них прописать чтобы показывался именно тот язык

 

В 11.04.2018 в 08:37, rumantic сказал:

В /index.php

Тут


if (isset($_REQUEST['_lang'])) {
    $_SESSION['_lang'] = $_REQUEST['_lang'];
} else {
    if (!isset($_SESSION['_lang'])) {
        $_SESSION['_lang'] = 'ru';
    }
}

вместо ru, пропишите свой язык.

Тогда не понял , для чего тогда эти строчки писали?)

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


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас