Любые идеи для развития мультиязычного сайта - SEO, php, mysql - PullRequest
3 голосов
/ 12 марта 2011

Я только что закончил веб-сайт клиента, и теперь они хотят иметь разные языки.

На данный момент содержимое сайтов хранится в таблицах в базе данных MySQL:

  • страниц : seotitle , seodesc , smallHtml , fullHtml

  • продукты : ID , seotitle , seodesc , smallHtml , fullHtml

Я подумал, что хорошим способом сделать это было бы иметь дополнительную таблицу:

  • languages ​​: ID, LanguageCode , language

Затем измените таблицу страниц и продуктов на:

  • страницы: slug , seotitle , seodesc , smallHtml , fullHtml , languageCode
  • продукты : ID , slug , seotitle , seodesc , smallHtml , fullHtml , languageCode

Так что я буду использовать запрос типа

SELECT * FROM pages WHERE slug = '$slug' AND language='$language'

Должен ли я установить $language в качестве файла cookie или сеанса?

Кроме того, я застрял в том, что делать, насколько SEO идет,На данный момент структура URL сайта /pages.php?slug=page-slug.Это переписывается mod_rewrite на /pages/page-slug.

Так что я думал о том, чтобы /pages.php?slug=page-slug&code=languagecode переписать на /pages/page-slug/languagecode.То же самое для продуктов.

Это будет хороший метод, или вы можете увидеть, что он как-то не работает?

Если у кого-то есть какие-нибудь лучшие методы или ссылки на ресурсы, которые я мог бы упустить, это было бы очень признательно.

Спасибо за чтение.

РЕДАКТИРОВАТЬ /////

Если бы мне пришлось использовать этот метод http://en.kioskea.net/faq/596-change-the-language-of-your-website и изменить язык за кулисами, безКак изменить структуру URL?

Ответы [ 2 ]

5 голосов
/ 13 марта 2011

Google и другие поисковые системы не пытаются угадать язык, проверяя URL, это содержание, которое имеет значение :

Google использует содержимое страницы дляопределить его язык, но сам URL предоставляет пользователям полезные подсказки о содержимом страницы.

Вот почему вы должны правильно объявить язык контента : в HTTP использовать Content-Language , чтобы указать язык документа по умолчанию и использовать атрибут lang для языка, измененного в документе.

Наличие многоязычного веб-сайтавам также следует подумать о проведении какого-либо согласования языка (см. также мой ответ на Определение языка браузера в PHP );но также учитывайте нюансы, которые с ним связаны (см. Типичные проблемы реализации HTTP ).

Но все же выбор подходящей структуры URI также важен -даже если только для пользователей.Это означает, что URI должен отражать выбранный язык (если вы не хотите предоставить независимую от языка точку входа для согласования языка).

Но какой дизайн URI вы выберете, зависит от вас.Сделайте это с точки зрения пользователя.

3 голосов
/ 12 марта 2011

Основы, каждая таблица должна иметь идентификатор, похоже, что Страницы пропустили бы его, если бы вы изменили его в соответствии с предложением.

Многие основные веб-сайты (включая Википедию) имеют префикс языка в качестве субдомена с использованием 2 цифр.Аббревиатура ISO для языков, например, английский = en и т. Д., Из-за которых ваши URL-адреса будут выглядеть примерно так: ru.websitename.com .Имейте в виду, что большинство мультиязычных веб-сайтов не имеют языка по умолчанию, указанного в URL-адресе, поэтому если по умолчанию используется английский, тогда английский будет www.websitename.com , а французский будет fr.websitename.com .Это кажется общепринятым подходом, а также помогает URL-адресам выглядеть чище при просмотре подстраниц.Структура URL вашей другой страницы выглядит SEO-дружественной, не считая языкового бита.

Вам нужно будет подумать о том, как посетитель впервые вводит ваш домен, будь то главная страница или дополнительная страница (с помощью поискадвигатели в основном).После этого вы должны попытаться перенаправить пользователя на язык из своего веб-браузера (см. здесь , чтобы узнать, как это сделать).Хотя также неплохо, если контент, на который собирался пользователь (при первом посещении), отличается от языка браузера, тогда для удобства использования было бы полезно предложить удобный способ доступа к обеим версиям, который вы затем запомнили бы черезcookie / session.

Другие советы по SEO: см. здесь для ознакомления с основами.

...