Какие из этих 3-х перезаписей лучше SEO-дружественных URL?

11

Представьте себе мой текущий веб-сайт без CMS с URL-адресом http://example.com/en/tomato.

Это, конечно, очень бессмысленно и может быть чем-то действительно из томатного супа , томатной музыкальной группы , томатного фильма или, что еще более невероятно, но все же ... только из помидоров !

Итак, я хочу сделать его более конкретным как для реальных людей, так и для поисковых систем. Дано: и код языка, и код короткого имени файла имеют важное значение и не могут быть заменены, поэтому где-то там должно быть enи tomatoуказание / следование тому или иному разделителю, как /для .htaccess, чтобы делать правильные невидимые перенаправления на /tomato.php?language=en.

У меня возникли некоторые варианты добавленных слов в URL:

A   example.com/en/tomato/just-about-tomatos
B   example.com/en/tomato/just-about-tomatos.htm
C   example.com/just-about-tomatos/en/tomato
D   example.com/en/tomato_just_about_tomatos
E   example.com/en/tomato-just-about-tomatos

Вопрос 1: Какой из них является лучшим для людей, а также поисковых систем?

Вопрос 2: Какое изящное правило должно сделать это в .htaccess ?

Спасибо за ваши предложения и ответы! Очень признателен.

Сэм
источник

Ответы:

6

Я думаю, что вы могли выбрать лучший ответ преждевременно?

Вопрос 1:
Мой выбор будет example.com/en/tomato/just-about-tomatos- мое обоснование таково:

  • /en/является основной языковой папкой, которая включает в себя весь контент, поэтому она лучше всего подходит для отображения сразу после домена и является лучшим выбором для многоязычной реализации после а) нового домена и б) субдомена.
  • /just-about-tomatosэто страница - так должно находиться в конце. Нет необходимости писать .htmв конце, так как вы переписываете URL, а пользователи не заботятся о том, какой язык / платформу вы используете.

Вопрос 2:
Чтобы добавить just-about-tomatosдеталь в ваш URL, вам, вероятно, придется взглянуть на создание системы отображения, поскольку эта фаза не отображается в вашем существующем URL.

Майк Хадсон
источник
действительно, пересмотрел ваше предложение как лучший ответ! Последний вопрос: было бы хорошо, чтобы последняя часть (которая на самом деле могла быть чем угодно) содержала текстовые слова с пробелами? <a href="/webmasters//en/tomato/just about tomatos">....</a> или следует избегать абсолютно пустых мест и заменять их тире -?
Сэм
2
Пробелы не могут являться частью веб-имени файла / URL-адреса (если они не закодированы) и не считаются оптимальной практикой (поскольку пробел указывает на конец URL-адреса), и по крайней мере (если вы должны их использовать) должны быть закодированы с помощью %20. Я бы определенно использовал дефисы (тире) каждый раз.
Майк Хадсон
+1 за это маленькое разъяснение. Помимо тире, -какие еще есть варианты? А +лучше , чем черточки? Кажется, что функция PHP по умолчанию использует urlencode ... что вы рекомендуете в этом вопросе? Большое спасибо
Сэм
+в большинстве ситуаций будет так же хорошо, однако, похоже, что Google (и большинство других издателей, включая SE) выбрал дефисную
Майк Хадсон
1
@ Сэм - я не вижу в этом ничего плохого - это может показаться спамом, когда вы начинаете повторять слова без необходимости.
Майк Хадсон
4

Просто хочу уточнить, что пишет Эрик Волд о параметре ( ?lang=en)

Оказывается, что Google не рекомендует использовать этот тип параметра, так как это сбивает с толку посетителей (и другие факторы).

Лучшим вариантом из вашего списка будет A, как предложено seriocomic, но даже лучше, если вы скажете так:

en.example.com/tomato/just-about-tomatos

Аджи
источник
@aji, +1 за чтение моих мыслей на этом lang.website.com/etc, НО я не записал эту опцию, так как я не знаю, как сделать это возможным через htaccess / мою учетную запись pesk с общим хостингом ... Хотя это Вопрос только в том, какой метод будет наилучшим, было бы здорово, если бы вы предложили, как это сделать. В любом случае спасибо за ваше предложение!
Сэм
3

URL должен быть как можно более описательным и соответствовать контексту отображаемого содержимого. Я также много работаю над SEO-URL и считаю, что вариант B хорош.

B   example.com/en/tomato/just-about-tomatos.htm
inkovic
источник
Исходя из вашего обоснования, все 4 предложения, сделанные спрашивающим, подходят?
Майк Хадсон
2
Мне кажется странным, что вы выбрали бы один с расширением файла.
UpTheCreek
1

Использование дефисов хорошо для SEO, а этот метод - для написания URL-адресов типа SEO. Мы используем разные типы URL, но они не поддерживаются для SEO.

user28787
источник
-1

.htmхороша тем , что позволяет пользователям узнать , какой тип файла эта страница. Я бы не советовал использовать /en/в URL, потому что вы хотите, чтобы все пользователи приходили / ссылались на одну и ту же страницу независимо от языка, и просто изменили язык с помощью параметра строки URL-запроса.

Поэтому я бы предложил:

website.com/tomato/just-about-tomatos.htm?lang=en

erikvold
источник
1
Это довольно странно - 1) зачем нужна строка запроса, если вы можете переписать ее более дружественным образом? (Он уже переписывает URL-адрес!) 2) Почему пользователю важно, какой тип файла у этой страницы?
UpTheCreek