Я хочу предоставить своим страницам удобочитаемые слагы, но встроенный в 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"