Немного широкий вопрос, но я делаю следующие вещи для целей SEO в своем приложении Rails:
Slugs: Вы уже упоминали об этом.Я видел скриншоты о том, как сделать слаг, как my-cool-page-1, но лично я предпочитаю драгоценный камень Friendly ID.
Название: Название должно быть простым, япросто используйте поле заголовка в моей модели или что-то еще, что служит заголовком.Если вам нужно что-то отличное в теге заголовка от заголовка на странице (общий сценарий), я бы просто создал для него новый столбец / поле.
Ключевые слова: я используюДействует как Taggable На драгоценном камне, но не изначально для этой цели ... проект позволяет человеку использовать ключевые слова, разделенные запятыми, чтобы найти связанный контент, который является истинной целью этого драгоценного камня.Но я подумал, что ключевые слова также удвоятся для мета, поэтому я использую их и для этого в заголовке.
РЕДАКТИРОВАТЬ: Несколько способов сделать это в ваших макетах, но помощникипуть, которым я иду.В вашем application.html.erb (или любом другом документе макета) добавьте выход в тег заголовка ...
<title><%= yield(:pagetitle) %></title>
Затем в вашем app / helpers / application_helper.rb вы можете объявитьПомощник 'title' вот так ...
def title(page_title)
content_for(:pagetitle) { page_title }
end
Затем в вашем файле представления (например, show.html.erb) для любой модели, которую вы пытаетесь отобразить (скажем, "article"), вы можетесделайте что-то вроде этого вверху, а затем ...
<% title 'This is my title!' %>
В качестве альтернативы, вы можете подключить его к заголовку статьи базы данных, если используете подобное поле (<% title @ article.title%>).Если вам нужен более длинный заголовок с именем сайта («Это мой заголовок | Переполнение стека»), вы можете сделать что-то вроде («content_for (: pagetitle) {page_title + '| Переполнение стека'}") в этом помощнике.
Для других вещей, таких как ключевые слова и описание, вы также можете создавать помощники для них и определять их в файле представления, как указано выше.