{"id":41219,"date":"2014-06-24T21:39:42","date_gmt":"2014-06-24T16:09:42","guid":{"rendered":"https:\/\/www.quickonlinetips.com\/archives\/?p=41219"},"modified":"2026-10-08T19:13:18","modified_gmt":"2026-10-08T13:43:18","slug":"wordpress-comments-on-new-page","status":"publish","type":"post","link":"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/","title":{"rendered":"WordPress Comments on New Page: Show Them Separately in 3 Easy Steps"},"content":{"rendered":"<p>Posts with hundreds of comments can become very long and slow. One solution is to show WordPress comments on a new page, separate from the post content, with a button like &#8220;Read 120 comments&#8221; that opens them on their own URL. We ran this WordPress comments on new page setup on our own blog for a while. The original method relied on WordPress&#8217;s old pop-up comments script, which has since been removed, so here&#8217;s the updated way to do it in 3 easy steps, plus simpler alternatives.<\/p>\n<p><strong>Quick answer:<\/strong> Register a <code>\/comments\/<\/code> endpoint for posts with <code>add_rewrite_endpoint()<\/code>, load a small <code>single-comments.php<\/code> template when that endpoint is visited, then remove <code>comments_template()<\/code> from <code>single.php<\/code> and add a link to <code>get_permalink() . 'comments\/'<\/code>. Save your permalinks once to activate it.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6ad816ee93ee5\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #1a202c;color:#1a202c\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #1a202c;color:#1a202c\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6ad816ee93ee5\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Why_show_WordPress_comments_on_new_page_URLs\" >Why show WordPress comments on new page URLs?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Step_1_Remove_comments_from_the_post_template\" >Step 1: Remove comments from the post template<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Step_2_Add_a_link_to_the_comments_page\" >Step 2: Add a link to the comments page<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Step_3_Create_the_comments_page\" >Step 3: Create the comments page<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#SEO_considerations\" >SEO considerations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Simpler_alternatives\" >Simpler alternatives<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Frequently_asked_questions\" >Frequently asked questions<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Will_the_comment_form_still_work_on_the_new_page\" >Will the comment form still work on the new page?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Why_does_the_comments_URL_show_a_404\" >Why does the \/comments\/ URL show a 404?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-comments-on-new-page\/#Does_this_work_with_block_themes\" >Does this work with block themes?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Why_show_WordPress_comments_on_new_page_URLs\"><\/span>Why show WordPress comments on new page URLs?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img decoding=\"async\" class=\"border alignnone wp-image-41223 size-full\" src=\"https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/new-comments-page.png\" alt=\"WordPress comments on new page\" width=\"400\" height=\"401\" srcset=\"https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/new-comments-page.png 400w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/new-comments-page-150x150.png 150w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/new-comments-page-300x300.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/p>\n<ul>\n<li><strong>Faster posts:<\/strong> the article loads without hundreds of comments and avatars.<\/li>\n<li><strong>Focused content:<\/strong> readers and search engines see the article first, without a long tail of short or off-topic comments.<\/li>\n<li><strong>Still accessible:<\/strong> anyone who wants the discussion is one click away.<\/li>\n<\/ul>\n<p>We first tried <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/add-popup-comments-in-wordpress-posts\/\">pop-up comments<\/a>, then moved to this separate-page approach.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step_1_Remove_comments_from_the_post_template\"><\/span>Step 1: Remove comments from the post template<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In your <strong>child theme&#8217;s<\/strong> <code>single.php<\/code> (or the template part your theme uses), find and remove the line that loads comments:<\/p>\n<pre><code>&lt;?php comments_template(); ?&gt;<\/code><\/pre>\n<p>This avoids showing the comments twice.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step_2_Add_a_link_to_the_comments_page\"><\/span>Step 2: Add a link to the comments page<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In the same place, add a button that links to the new comments URL and shows the comment count:<\/p>\n<pre><code>&lt;a href=\"&lt;?php echo esc_url( trailingslashit( get_permalink() ) . 'comments\/' ); ?&gt;\" class=\"btn btn-primary\"&gt;\r\n  &lt;?php comments_number( 'Post a comment', 'Read 1 comment', 'Read % comments' ); ?&gt;\r\n&lt;\/a&gt;<\/code><\/pre>\n<p>The three text options cover no comments, one comment, and many comments; change them to suit your site. We styled ours as a <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2013\/07\/twitter-bootstrap\/\">Bootstrap<\/a> button.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step_3_Create_the_comments_page\"><\/span>Step 3: Create the comments page<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Add this to your child theme&#8217;s <code>functions.php<\/code> to create a <code>\/comments\/<\/code> endpoint on every post and load a special template for it:<\/p>\n<pre><code>add_action( 'init', function () {\r\n    add_rewrite_endpoint( 'comments', EP_PERMALINK );\r\n} );\r\n\r\nadd_filter( 'template_include', function ( $template ) {\r\n    global $wp_query;\r\n    if ( is_singular( 'post' ) &amp;&amp; isset( $wp_query-&gt;query_vars['comments'] ) ) {\r\n        $custom = locate_template( 'single-comments.php' );\r\n        if ( $custom ) {\r\n            return $custom;\r\n        }\r\n    }\r\n    return $template;\r\n} );<\/code><\/pre>\n<p>Then create <code>single-comments.php<\/code> in your child theme (you can even <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/wordpress-theme-files-without-ftp\/\">create theme files without FTP<\/a>):<\/p>\n<pre><code>&lt;?php get_header(); ?&gt;\r\n&lt;?php while ( have_posts() ) : the_post(); ?&gt;\r\n  &lt;h1&gt;Comments on: &lt;a href=\"&lt;?php the_permalink(); ?&gt;\"&gt;&lt;?php the_title(); ?&gt;&lt;\/a&gt;&lt;\/h1&gt;\r\n  &lt;?php comments_template(); ?&gt;\r\n&lt;?php endwhile; ?&gt;\r\n&lt;?php get_footer(); ?&gt;<\/code><\/pre>\n<p>Finally, go to <strong>Settings &gt; Permalinks<\/strong> and click <strong>Save Changes<\/strong> to refresh the rewrite rules. Now every post has a comments page at <code>yourpost\/comments\/<\/code>, styled like the rest of your theme.<\/p>\n<p>The original 2014 version of this tutorial adapted WordPress&#8217;s <code>comments-popup.php<\/code> file. WordPress removed the pop-up comments feature in version 4.5, so use the endpoint method above instead.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"SEO_considerations\"><\/span>SEO considerations<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Comments can add useful long-tail keywords to a post, so moving them affects SEO both ways. Separating them was one of the ideas we tried to <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/06\/separate-wordpress-comments-to-fix-google-panda-penalty\/\">keep thin user-generated content separate from posts<\/a>. If you&#8217;d rather Google not index the comment pages, add a <code>noindex<\/code> robots tag to <code>single-comments.php<\/code> pages with your SEO plugin or the <code>wp_robots<\/code> filter.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Simpler_alternatives\"><\/span>Simpler alternatives<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Paginate comments:<\/strong> in <strong>Settings &gt; Discussion<\/strong>, tick <strong>Break comments into pages<\/strong>. No code needed.<\/li>\n<li><strong>Lazy load comments:<\/strong> load them only when the reader scrolls down. See how to <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2021\/01\/lazy-load-comments-in-wordpress-blogs\/\">lazy load comments in WordPress<\/a>.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Frequently_asked_questions\"><\/span>Frequently asked questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Will_the_comment_form_still_work_on_the_new_page\"><\/span>Will the comment form still work on the new page?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yes. <code>comments_template()<\/code> loads the normal comment list and form, and new comments are saved to the same post.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Why_does_the_comments_URL_show_a_404\"><\/span>Why does the \/comments\/ URL show a 404?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Rewrite rules need refreshing. Visit <strong>Settings &gt; Permalinks<\/strong> and click Save Changes.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Does_this_work_with_block_themes\"><\/span>Does this work with block themes?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Block themes use HTML templates, so use a hybrid approach: keep the PHP template above, or use comment pagination or lazy loading instead.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Posts with hundreds of comments can become very long and slow. One solution is to show WordPress comments on a&#8230;<\/p>\n","protected":false},"author":4,"featured_media":41223,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"default","_kad_post_title":"default","_kad_post_layout":"default","_kad_post_sidebar_id":"","_kad_post_content_style":"default","_kad_post_vertical_padding":"default","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[6],"tags":[49,17],"class_list":["post-41219","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogging","tag-tutorials","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts\/41219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/comments?post=41219"}],"version-history":[{"count":3,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts\/41219\/revisions"}],"predecessor-version":[{"id":63666,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/posts\/41219\/revisions\/63666"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media\/41223"}],"wp:attachment":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media?parent=41219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/categories?post=41219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/tags?post=41219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}