レールのwill_paginate gemによって作成されたリンクに「rel = nofollow」を追加する方法はありますか?私はPAGE_NUMBERをオーバーライドする仕事(とも文句を言わないあなたの次のと背中の世話をしていないことが判明rel = nofollowを追加してレールにリンクを投稿する
= will_paginate @users, :renderer => PaginationNoFollow
レールのwill_paginate gemによって作成されたリンクに「rel = nofollow」を追加する方法はありますか?私はPAGE_NUMBERをオーバーライドする仕事(とも文句を言わないあなたの次のと背中の世話をしていないことが判明rel = nofollowを追加してレールにリンクを投稿する
= will_paginate @users, :renderer => PaginationNoFollow
リンク)。代わりに、私はrel_valueを上書き:
require 'will_paginate/view_helpers/link_renderer'
class PaginationNoFollow < WillPaginate::ViewHelpers::LinkRenderer
def rel_value(page)
case page
when @collection.previous_page; 'prev nofollow' + (page == 1 ? ' start nofollow' : '')
when @collection.next_page; 'next nofollow'
when 1; 'start nofollow'
else
'nofollow'
end
end
end
のlibにこのクラスを追加し、あなたのビューで:
will_paginate 3ではwill_paginate @users, :renderer => PaginationNoFollow
:あなたはあなた自身のLinkRendererを作成し、それをあなたのビューで
require 'will_paginate/view_helpers/link_renderer'
class PaginationNoFollow < WillPaginate::ViewHelpers::LinkRenderer
def page_number(page)
unless page == current_page
link(page, page, :rel => 'nofollow')
else
link(page, page, :rel => 'nofollow', :class => 'on')
end
end
end
を使用する必要がある
とRails 3私はActionViewを上書きする必要がありました::このようなLinkRenderer:
require 'will_paginate/view_helpers/action_view'
class PaginationNoFollow < WillPaginate::ActionView::LinkRenderer
def rel_value(page)
[super, 'nofollow'].compact.join(' ')
end
end
あなたはまた、あなたのページの<head>
セクションに次のメタタグを配置することができます
<!-- Prevent webcrawlers to navigate paginations -->
<% if params[:page] %>
<meta name="robots" content="noindex">
<% end %>
will_paginate宝石への依存度を減らした方が良いアプローチだと分かりました。
どこにこのコードを挿入しますか?必要とする... – Gediminas