diff --git a/app/helpers/posts_helper.rb b/app/helpers/posts_helper.rb
index 3c1f997f4..edb36dc00 100644
--- a/app/helpers/posts_helper.rb
+++ b/app/helpers/posts_helper.rb
@@ -1,4 +1,22 @@
module PostsHelper
+ def next_page_url
+ current_page = (params[:page] || 1).to_i
+ dup_params = params.dup
+ dup_params[:page] = current_page + 1
+ url_for(dup_params).html_safe
+ end
+
+ def prev_page_url
+ current_page = (params[:page] || 1).to_i
+ if current_page >= 2
+ dup_params = params.dup
+ dup_params[:page] = current_page - 1
+ url_for(dup_params).html_safe
+ else
+ nil
+ end
+ end
+
def missed_post_search_count_js
return nil unless Danbooru.config.enable_post_search_counts
diff --git a/app/views/posts/index.html.erb b/app/views/posts/index.html.erb
index c25df36f9..0fdff2cfa 100644
--- a/app/views/posts/index.html.erb
+++ b/app/views/posts/index.html.erb
@@ -63,7 +63,11 @@
<%= content_for(:html_header) do %>
- <%= content_tag(:link, nil, rel: "prefetch", href: posts_path(tags: params[:tags], page: (params[:page] || 1).to_i + 1), as: "html", crossorigin: "use-credentials") %>
+ <%= content_tag(:link, nil, rel: "prefetch", href: next_page_url, as: "html", crossorigin: "use-credentials") %>
+ <%= content_tag :link, nil, rel: "next", href: next_page_url %>
+ <% if prev_page_url %>
+ <%= content_tag :link, nil, rel: "prev", href: prev_page_url %>
+ <% end %>
<% if @post_set.has_wiki? %>
<% else %>