В моем приложении ruby on rails я показываю несколько разбитых на страницы элементов на одной странице. Для одиночной разбивки на страницы я знаю, как использовать разбиение на страницы и rel='prev'
и 'next'
атрибуты и канонические. Но в моем случае может быть несколько перестановок и комбинаций страницы, и это меня смущает. С точки зрения пользователя в моем случае он будет рад видеть различные типы информации об объекте на одной странице и разбиения на страницы. Но, с точки зрения поисковой системы, это не так уж дружелюбно и может привести к частичному дублированному контенту. Мое намерение состоит в том, чтобы получить рейтинг для индексной страницы и google, чтобы найти контент с индексов и страниц с разбивкой на страницы. Некоторые из этих элементов доступны с других страниц, а также в разных списках на отдельной странице. И я также намерен создать файл sitemap.xml.Kaminari: несколько страниц на странице, индексирование и канонические
Поэтому у меня есть следующие варианты:
Хранить только индексной страницы в индексе и сделать остальные нумерованных страниц метатег noindex с использованием роботов мета тегов.
Используйте канонические URL-адреса с URL-адреса запроса и не используйте rel = 'prev' и 'next', потому что в противном случае это приведет к появлению 10x10 = 100 вариантов страницы, если каждый элемент имеет 10 страниц с разбивкой по страницам.
- Используйте канонические URL-адреса и rel = 'next' и 'prev' для одного из разбитых на страницы элементов и игнорируйте остальные URL-адреса или используйте метатег noindex для остальной части URL-адресов. Я склоняюсь к этому решению. Таким образом, это эффективно сделает одну разбивку на страницы на моей странице, и остальные URL-адреса не будут мешать ей.
- Или я должен использовать только один параметр
page
и использовать это для разбивки на страницы всех остальных разбитых на страницы моделей, а также. И когда у одного из элементов больше нет страниц, я должен показывать содержимое с последней страницы для этого элемента и разбивать страницы на другие элементы. Но я не знаю, как я могу это сделать с помощью Каминари? На данный момент я использую три разных page_param для разбивки на страницы этих моделей. Я думаю, что это будет предпочтительным и лучшим решением.
Вот мой текущий код:
def show
@state = State.published.friendly.find(params[:id])
@cities = @state.cities.published.sorted.page(params[:page]).per(10)
@events = @state.events.published.sorted.page(params[:cities_page]).includes(:cities).per(10)
@articles = @state.articles.published.sorted.includes(:user).page(params[:articles_page]).per(10)
add_breadcrumb 'States', states_url
add_breadcrumb @state.name, @state
end
И страница города имеет два разбитых на страницах предметов, событие и новости статьи из этого города. Я показываю эти три разбитых на страницы элемента с помощью вкладок.