2014-01-24 4 views
7

В моем приложении я локализованы URLs, которые выглядят примерно так:Canonical URL и локализация

Этот вопрос в основном для Facebook Любит, но Думаю, у меня будут проблемы с подобными проблемами, когда я начну думать о поисковых машинах.

Какой URL-адрес вы ожидаете в качестве канонического URL-адреса? Я не хочу использовать точный английский URL-адрес, потому что я хочу, чтобы люди, щелкнувшие ссылку, будут перенаправлены на их родной язык (настройка браузера/зависит от IP).

IP-поиск не является чем-то, что я хочу делать при каждом ударе по странице. Кроме того, мне нужно будет включить в мое приложение больше «состояния», потому что я должен проверить, пользователь ли уже перенаправлен в его собственную локаль, или специально просматривает английскую версию.

Я предполагаю, что это будет будет что-то вроде:

http://example.com/something/animals/elephant

или, может быть, без какого-либо языка идентификатору вообще:

http://example.com/animals/elephant

, но это немного сложнее реализовать, больше шансов на столкновение URL в будущем (в редком случае я получил бы категорию под названием ru или de).

Резюме

Какой URL вы бы ожидать в качестве канонического URL? Есть ли уже стандартный набор для этого?

+0

Когда вы используете термин «канонический», вы имеете в виду отношение «канонических» связей? – unor

+0

Да, извините, если я неправильно использую этот термин. Я имею в виду все страницы, на самом деле имеющие разные языки (и URL), но все они представляют одну и ту же страницу. Поэтому, когда что-то нравится страница Elephant, она делится между страницами Olifant и Elefant. –

ответ

-1

Конечно, нет «Стандартного», который должен быть URL-адресом. То, что вы, конечно, увидеть на многих сайтах Comercial именно то, что вы описали:

<protocol>://<server>/<language>/<more-path> 

Для «языкового тега» вы можете следовать RFCs, а также. Я предполагаю, что ваш 2-буквенный аббревр в порядке.

Я только не согласен с адресом <more-path>. Если я понимаю вас правильно, вы думаете о преобразовании каждой страницы в URL-адрес на локальном языке? Я бы этого не сделал. Возможно, я не являюсь стандартным пользователем, но мне лично нравится вручную обезьяна в URL-адресах, то есть, если отображаемый URL-адрес равен http://examle.com/de/tiere/elefant, но я не верю, что контент должен быть переведен хорошо. Я бы вручную попытался http://examle.com/en/tiere/elefant - и это не привело бы меня к ожидаемой странице. И так как мне также не нравятся эти URL-адреса http://ex.com/with-the-whole-title-in-the-url-so-the-page-will-be-keyworded-by-search-engines, моим фаворитом было бы просто обменять часть <language> и использовать общий английский (или любой другой язык) для <more-path>.Например:

Если ваш сайт что-то вроде Википедии, то я бы согласился вашей схеме перевода <more-part>, а также.

-1

Существует больше того языка, о котором вам нужно подумать.

Это типичный кортеж из 3 {region, language, property} Если у вас есть только один сайт, у вас есть только {region, language}.

Каждый фрагмент контента может быть различным в этом трехмерном пространстве или, по крайней мере, представлен по-разному. Но это один и тот же фрагмент контента, поэтому вы хотите централизовать управление редакционными сигналами, рекламными акциями, отслеживанием и т. Д. Подумайте о поисковых системах - вы хотите, чтобы ранг страницы объединялся во все экземпляры статьи, а не распространялся тонко вне.

Я думаю, что есть стандартное решение: Canonical URL

язык Put/регион в доменное имя

example.com 
uk.example.com 
fr.example.com 

Теперь у вас есть выбор, как вы приложите куки для субдомена (для языка/региона) или для домена (для отслеживания пользователей)!

На каждой странице HTML добавить ссылку к каноническому URL

<link rel="canonical" href="http://example.com/awesome-article.html" /> 

Теперь вы сделали.

-1

Возможно рекомендации этого Google может помочь с вопросом: https://support.google.com/webmasters/answer/189077?hl=en

Он говорит, что многие сайты предоставляют пользователям (по всему миру) с содержанием целевых пользователей в определенном регионе. Рекомендуется использовать атрибуты rel = "alternate" hreflang = "x", чтобы служить правильному языку или региональному URL в результатах поиска.

+0

Эта страница, похоже, вообще не упоминает канонический тег. – Eddie

0

Я нашел one resource, который рекомендует не использовать канонический тег с локализованными адресами. Однако Google's documentation не указывает и упоминает только поддомены в другом контексте.

Смежные вопросы