Какие символы в поисковом запросе Google игнорирует (по сравнению с обработкой их как пробелов?) - PullRequest
1 голос
/ 14 июня 2011

Я хочу предоставить своим страницам удобочитаемые слагы, но встроенный в Rails метод parameterize не оптимизирован для SEO. Например, если у меня есть пост под названием «Notorious B.I.G. is best», parameterize даст мне следующий путь:

/posts/notorious-b-i-g-is-the-best

, что является неоптимальным, поскольку Google интерпретирует запрос "Notorious B.I.G." как «Notorious BIG» вместо «Notorious B I G» (то есть точки удаляются, а не рассматриваются как пробелы)

Аналогично, "любимая пицца Тома" преобразуется в "tom-s-fave-pizza", когда она должна быть "toms-fave-pizza" (поскольку Google также игнорирует апостроф)

Чтобы создать лучший parameterize, мне нужно знать, какие символы Google удаляет из запросов (чтобы я мог удалить их из своих URL-адресов), а какие символы Google рассматривает как пробелы (чтобы я мог преобразовать их в тире в своих URL-адресах) .

Еще лучше, существует ли такой parameterize метод?

(Кроме stringex , который, как мне кажется, пытается быть слишком умным. 2 типичных проблемных случая:

[Dev]> "Notorious B.I.G. is the best".to_url
=> "notorious-b-dot-i-g-is-the-best"
[Dev]> "No, Curren$y is the best".to_url
=> "no-curren$y-is-the-best"

Ответы [ 3 ]

2 голосов
/ 14 июня 2011

Я бы попробовал использовать драгоценный камень, который был разработан для генерации слизней.Они часто принимают правильные проектные решения, и у них есть способ обновить код для изменения передового опыта.В этом документе представлены рекомендации Google по дизайну URL .

. Вот список лучших драгоценных камней для решения этой проблемы .Они отсортированы по рангу, который вычисляется на основе активности разработки и того, сколько людей «наблюдают» за изменениями в исходном коде гемов.

На данный момент лучшим является frendly_id , и похоже, что он будет генерировать хорошие слизни для вашего использования в SEO.Вот ссылка на особенности драгоценного камня .Вы также можете настроить его, и, похоже, он идеально подходит для ваших нужд.

0 голосов
/ 14 июня 2011

Используйте тег заголовка и метатег описания, чтобы сообщить Google, как называется страница: они имеют больший вес, чем URL. Поэтому оставьте свой URL-адрес как /posts/notorious-b-i-g-is-the-best, но в теге заголовка укажите «Notorious B.I.G.

0 голосов
/ 14 июня 2011

Похоже, что у Google хорошие результаты как для "большого", так и для "большого" в слагах URL.

Что касается рельсов, то есть метод параметризации.

"Notorious B.I.G. is the best".parameterize
=> "notorious-b-i-g-is-the-best"

Я думаю, что вы можете создать URL-адреса самостоятельно ... что-то вроде

class Album
  before_create :set_permalink

  def set_permalink
    self.permalink = name.parameterize
  end

  def to_params
    "#{id}-#{permalink}"
  end
end

Это создаст структуру URL:

/albums/3453-notorious-b-i-g-is-the-best

Вы можете удалить раздел id в to_params, еслиты хочешь.

...