Kaminari:页面上的多个分页,索引和规范

时间:2017-02-09 17:31:22

标签: ruby-on-rails pagination seo kaminari canonical-link

在我的ruby on rails应用程序中,我在一个页面上显示多个分页项目。对于单个项目分页,我知道如何使用分页和rel='prev''next'属性和规范。但在我的情况下,页面可能有多个排列和组合,这让我感到困惑。从用户的角度来看,他/她很乐意在单个页面和分页上看到有关对象的不同类型的信息。但是,从搜索引擎的角度来看,它并不友好,可能会导致部分重复的内容。我的目的是获得索引页面和谷歌的排名,以查找索引和分页页面中的内容。其中一些项目可以从其他页面访问,也可以在单独的页面上的不同列表中访问。我还打算制作一个sitemap.xml文件。

所以我有以下选项:

  1. 仅在索引中保留索引页,并使用 robots 元标记在noindex中创建其余的分页页面。

  2. 使用请求网址中的规范网址,不要使用rel ='prev'和'next',否则如果每个项目有10个分页,则会导致10x10 = 100个页面变体。< / p>

  3. 对其中一个分页项使用规范网址和rel ='next'和'prev',忽略其余网址或对其余网址使用noindex元标记。我倾向于这个解决方案。因此,它会有效地在我的页面上进行一次分页,其余的URL不会干扰它。
  4. 或者我应该只使用一个page参数,并使用对所有其他分页模型进行分页。当其中一个项目没有更多页面时,我应该显示该项目的最后一页的内容并分页其他项目。但我不知道如何使用Kaminari做到这一点?截至目前,我正在使用三个不同的page_param来分页这些模型。我认为这将是首选和更好的解决方案。
  5. 这是我目前的代码:

    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
    

    城市页面有两个分页项目,来自该城市的活动和新闻文章。 我正在使用标签显示这三个分页项目。

1 个答案:

答案 0 :(得分:0)

为什么不为每种类型的记录创建一些简单的索引页面,并将它们提供给搜索引擎?

采取的步骤:

  • 消除robots.txt
  • 中不同分页值的组合
  • 为每条记录(州,城市,事件等)创建索引(可能是分页)页面
  • 将这些页面隐藏给用户,但允许robots.txt访问

这消除了处理分页和索引的一些复杂性。

作为参考,我只是用三种不同的分页参数做了这个精确的解决方案,我计划从SEO的角度来处理它。