The WordPress SEO Tutorial Paginated Comments article is part of a series of SEO tutorials to support the Stallion WordPress SEO Plugin and the Stallion Responsive WordPress SEO Theme.
This WordPress SEO tutorial covers the Stallion WordPress SEO Plugin – WordPress Paged Comments on Posts and Pages options and some Stallion Responsive Theme features related to Paginated Comments.
Return to the main Stallion WordPress SEO Plugin Documentation article.
Stallion WordPress SEO Plugin WordPress Paginated Comments Tutorial
Under the Stallion WordPress SEO Plugin Options : Not Index Options Tab – WordPress Paged Comments on Posts and Pages.
There are two options.
- Index All Paged Comments
- Index Main Post/Page Only : Block Paged Comments 2,3,4…
This option only has an impact if your WordPress site has Posts/Pages with a lot of comments AND you’ve set Paginated Comments via “Settings” >> “Discussion” : “Break comments into pages with….” which breaks Posts with a lot of comments into multiple pages (Paged Comments).
If you haven’t ticked “Break comments into pages with….” the following Stallion WordPress SEO Plugin option does nothing. See WordPress SEO Tutorial below for reasons to set this option.
Index All Paged Comments – It’s the default WordPress behavior, if you are in any doubt about not indexing paginated comments, use this option.
When this option is set the Stallion WordPress SEO Plugin does nothing to paginated comments pages on WordPress Posts and Static Pages.
Index Main Post/Page Only : Block Paged Comments 2,3,4… – This is safe SEO wise for most WordPress sites, if you do NOT use the Stallion Responsive Theme this is the best option, if you do use the Stallion Responsive theme this might not be the best option : there’s a Stallion Responsive feature which uses the paginated comments for SEO gain (see WordPress SEO Tutorial below).
When this option is set the Stallion WordPress SEO Plugin adds a canonical URL to the Main Post/Page on all paginated comments pages.
The Yoast WordPress SEO Plugin includes a warning upon activation of paginated comments is enabled:
“Paging comments is enabled. This is not needed in 999 out of 1000 cases, so we recommend to disable it.
Simply uncheck the box before “Break comments into pages…” on the Comment settings page.”
In earlier versions of Yoast SEO this used to be a Big RED warning:
This is terrible performance SEO advice for any WordPress sites with popular Posts with a lot of comments (see WordPress SEO Tutorial below).
WordPress SEO Tutorial
If you have a WordPress site with a lot of comments for performance SEO reasons you should set Paginated Comments via “Settings” >> “Discussion” : “Break comments into pages with….” which breaks Posts with a lot of comments into multiple pages (Paged Comments).
I strongly recommend using this WordPress core setting on ALL WordPress sites, having WordPress Posts with even 50 comments loading at one time can have a significant negative impact on performance (heavily commented Posts load much slower).
Every comment loaded requires connecting to the WordPress database to grab the comments content, even if it where as simple as just 1 database query per comment (there’s also all the Gravatars from gravatar.com that has to be downloaded), that’s 50 additional database queries every page load for a modestly commented Post.
The Post you are reading now at the time of publication resulted in 43 database queries to load the content, widgets etc… (almost every feature added to a WordPress site requires database queries). Since it’s a new Post there’s no comments, so there’s no additional database queries for loading comments.
If you want to see the database queries like you see above (it’s output below the footer area for logged in users of the Stallion Responsive theme: on this site, I see it, you don’t) add this near the bottom of your themes footer.php file, add it just above the closing </body> tag.
<?php if (is_user_logged_in()) { ?>
<p style="text-align:center;">
<?php echo get_num_queries(); ?> queries in
<?php timer_stop(1); ?> seconds
<?php if (function_exists('memory_get_usage')) {
echo '(Memory Usage ' . number_format(memory_get_usage() / 1024 / 1024, 2) . 'MB)';
} ?>
</p>
<?php } ?>
On other WordPress Posts there’s a fair number of comments, this isn’t my most heavily commented site (4,000 odd comments), I have WordPress sites with tens of thousand of comments including one site with Posts with thousands of comments EACH!
The Stallion Responsive Theme Post with over 90 comments is a good example.
Main Post
https://stallion-theme.co.uk/stallion-responsive-theme/
11 comments loaded results in 57 database queries
Paged Comments Examples
https://stallion-theme.co.uk/stallion-responsive-theme/comment-page-5/
13 comments loaded results in 52 database queries
https://stallion-theme.co.uk/stallion-responsive-theme/comment-page-6/
10 comments loaded results in 51 database queries
The remaining comment pages are in the low to mid 50 database queries, this won’t cause any performance issues.
If I followed the Yoast WordPress SEO advice to disable paginated comments all 90+ comments would load on the Main Post at https://stallion-theme.co.uk/stallion-responsive-theme/ and this would push the database queries to way above 100 queries (higher the number, harder the hit on your database server).
Databases connections tend to be a bottleneck point for server performance, anything you can do to reduce the database load is a plus performance SEO wise: as I build a plugin or theme feature I check it’s impact on performance, if it’s cost is high it’s either fixed or removed (for example most Related Posts Plugins are awful performance wise, they can add hundreds of database queries to a page!!). Remember Google takes pagespeed (how quickly a webpage loads: see the Google PageSpeed Insights Tool) into account and lots of database queries will slow loading down.
On this Post https://stallion-theme.co.uk/stallion-responsive-theme-recent-comments/ I’ve added a comments widget (Stallion Responsive includes a feature to add widgets inside Posts) which loads the latest 50 comments. Requires 99 database queries, loading comments is quite costly, don’t load countless comments on one page if you can help it.
Look at the impact of having 185 comments on one WordPress Post on the Yoast WordPress SEO Plugin developers website. This Post https://yoast.com/opinion-on-sliders/ (BTW interesting article on using image sliders, don’t use image slider) has 185 comments and it’s Google PageSpeed Insights Tool Mobile Results are atrocious.
Mobile and Desktop is in the red, not good! 41/100 for mobile, that’s awful! This is the URL to the live Google Page Speed Insights Tool Test: https://developers.google.com/speed/pagespeed/insights/?url=yoast.com%2Fopinion-on-sliders%2F
I suspect Yoast turns off comments on posts after a while due to performance issues. Imagine what it would be like with 500 comments!!! I have sites with Posts with thousands of comments each (and counting, the comments are still open) and they perform as well (when run through the Google PageSpeed Insights Tool) as a Post with 20 comments.
Gravatars are a Major Performance SEO Issue
Then there’s the comment Gravatars. If your theme includes Gravatar support (most do) each Gravatar image has to be downloaded almost every page load: this is very important performance SEO wise, gravatar.com images (the Gravatars are images) are effectively NOT cached when a visitor accesses your comments because gravatar.com has the image set to expire after just 5 minutes!!!
Check the Yoast Google Page Speed Insights Tool Test I linked above: https://developers.google.com/speed/pagespeed/insights/?url=yoast.com%2Fopinion-on-sliders%2F and under the Leverage browser caching warnings note how many go to gravatar.com (127 of them, one for each unique gravatar image)!
What this means is, if a visitor loads the Yoast Post with the 185 comments they have to download all 127 unique Gravatar images from gravatar.com, the visitors browser has to connect to gravatar.com 127 times to access the gravatar images. If the visitor has their browser set to cache webpages (most do), the browser downloads a cached HTML version of the Yoast Post and downloads all the images loaded and saves it locally on their PC or mobile device.
If the visitor revisits the same Yoast Post a few hours later, rather than download everything again the browser checks if the Yoast Post has updated (comments are closed, so probably won’t be updated for days/weeks/maybe months) and if it hasn’t changed the visitor sees the locally cached HTML webpage on their PC/mobile device (this saves bandwidth, sites load much faster etc…). However, since the Gravatar images expire after just 5 minutes, the 127 Gravatar images have to be downloaded again from gravatar.com and this is a massive waste of resources (bandwidth), especially on mobile devices on slow connections.
If Yoast.com had the “Break comments into pages with….” option set, those 185 comments might be spread over half a dozen or so paginated comments pages and the load caused by the Gravatars would be spread over those paged comments. For example if each paginated comments page averaged 30 comments each, that might be 20-25 unique Gravatar images from gravatar.com: much less of a performance hit: the Google PageSpeeds Insight Tool would be much happier :-).
SEO Tip: All because a WordPress developer like Joost de Valk creates a theme/plugin they call a WordPress SEO plugin or WordPress SEO theme, it does not mean they actually understand SEO: the Yoast plugin developers are talented PHP programmers (much better PHP programmers than I am), but I’m afraid they aren’t very good at performance SEO. There’s loads of quite basic SEO mistakes like this one on the yoast.com domain, many of which can be easily fixed.
Gravatar.com Expires Images After 5 Minutes!
The problem is gravatar.com has set their images to expire after just 5 minutes, (webmasters have no control over the image expire time at gravatar.com) so in our Yoast Post example above the visitor has to re-download all 127 Gravatar images again from gravatar.com. And this occurs over and over again, if a visitor revisits the Yoast Post 10 times in a day (with as little as a 6 minute gap between revisits) they have to download those 127 Gravatar images 10 times because gravatar.com has a stupidly short expire time (should be at least 7 days**).
** I think the reason it’s not 7 days (or even a short 24 hours) is because when Gravatar users upload a new Gravatar image they don’t understand image caching. They upload a new Gravatar image, check to see if it’s working on their website immediately and find it’s not changed: they still see the old Gravatar image!!!! Maybe they’ll go back to gravatar.com and check the image is there, it is, they start to look for Gravatar support options (who to complain to) by which time 5 minutes pass by. They check their website again before contacting Gravatar support to find the Gravatar image has updated (they are happy and no longer need Gravatar support: Gravatar support are happy).
On the other hand, if the gravatar.com image expire time was set to even 60 minutes, it’s going to generate support requests from it’s users in the form of “I uploaded a new Gravatar image and it’s not working, why, is your system broken?”
The Gravatar support response would always be the same, “You have to wait 60 minutes for the cache to expire….”.
Poor webmasters looking to improve performance SEO on their WordPress sites have to have stupidly short image expire times (5 mins), so gravatar.com doesn’t have to deal with clueless users support requests. Well I don’t, the Stallion Responsive Theme has a Gravatar caching feature which downloads the Gravatar images to the websites servers so the server can set the expire time: problem solved.
Hmm, must find the time to contact gravatar.com and suggest they at least change the expire time on the computer generated Gravatars. The computer generated Gravatars are randomly generated, no one will create a support request if those didn’t change when a website setting changed. It’s only the user generated Gravatars (uploaded by gravatar.com users like me) that would generate support requests if the expire time was increased to 7 days.
It’s one of the reasons why the Yoast Post about sliders has such a rubbish Google PageSpeed Insights Tool result, it’s those 127 connections to gravatar.com because the Yoast domain doesn’t use a WordPress SEO theme like Stallion Responsive :-)
If you don’t want to use Stallion Responsive, but still want the WordPress Gravatar feature at least set the Paginated Comments option via “Settings” >> “Discussion” : “Break comments into pages with….” which breaks Posts with a lot of comments into multiple pages (Paged Comments, see earlier discussion). This will reduce the number of Gravatar images per loaded page to something more reasonable (tends to be under 20 on my sites, depends on the settings and your commenters). If you aren’t a Stallion Responsive Theme user set the Stallion WordPress SEO Plugin option to “Index Main Post/Page Only : Block Paged Comments 2,3,4…” to avoid duplicate content issues (pages 2,3,4 etc… are too similar to the Main Post content) – this options adds a canonical URL back to the Main Post from all Paged Comments (only the Main Post is indexed).
Note: If you do have Paginated Comments Pages (as I recommend), but don’t use the Stallion WordPress SEO Plugin to Block Paged Comments 2,3,4… Google IS smart enough to understand the paginated pages 2,3,4… are pretty much the same as the Main Post and will combine the webpages into one in 999/1000 cases (will treat a paginated comments set as one webpage). It’s 2016, Google is pretty smart and understands millions of websites run under WordPress with this setup and understands highly similar content is available on WordPress site: your site won’t be banned, penalized or downgraded for this.
The Stallion Responsive Theme Paginated Comments SEO Features
This site has the “Break comments into pages with….” WordPress core setting. View a Post on this site with a lot of comments and you can see the links to the Paged Comments. For example the main Stallion WordPress SEO Plugin article has a fair number of comments and you can see they are spread over multiple paginated pages.
In October 2016 there were 60+ comments spread over 5 Paginated Comment Pages with these 6 URLs-
Main Post
https://seo-gold.com/stallion-wordpress-seo-plugin/
Paged Comment 1
https://seo-gold.com/stallion-wordpress-seo-plugin/comment-page-1/
Paged Comment 2
https://seo-gold.com/stallion-wordpress-seo-plugin/comment-page-2/
Paged Comment 3
https://seo-gold.com/stallion-wordpress-seo-plugin/comment-page-3/
Paged Comment 4
https://seo-gold.com/stallion-wordpress-seo-plugin/comment-page-4/
Paged Comment 5
https://seo-gold.com/stallion-wordpress-seo-plugin/comment-page-5/
This website runs the Stallion Responsive Theme which includes a feature to use the Main Posts excerpt on Paged Comments, so Pages 1, 2, 3, 4 and 5 above have a short excerpt of the Main Post and a unique set of comments (makes each Paged Comments content unique for Google to index).
I’ve looked at a lot of WordPress themes over the years, I haven’t seen another theme with this Post excerpt on Paginated Comments Pages SEO feature.
Stallion Responsive also includes an advanced SEO feature to give each of the Paged Comments Pages a unique Title Tag which is very, very important SEO wise (not much point having 6 Pages with the same Title Tag indexed).
The 5 paginated comment pages are all indexed in Google with unique title tags, see Google search screenshot (only shows the 5 comment pages) and note they all have different title tags.
On this website I want all of the Paginated Comments Pages indexed and ranked in Google (each can generate a different set of SERPs), so I use the theme equivalent (the Stallion Responsive Theme has all the Stallion WordPress SEO Plugin Options built in) “Index All Paged Comments” setting.
Stallion Responsive SEO features are so advanced, I don’t think any other theme/plugin results in Paginated Comments Pages having unique title tags and content, so I’m afraid you can’t take advantage of the Paginated Comments Pages like this site does. For most sites set “Index Main Post/Page Only : Block Paged Comments 2,3,4…” to avoid duplicate content issues – this options adds a canonical URL back to the Main Post from all Paged Comments (only the Main Post is indexed).
Note: I plan to try to add the above Stallion Responsive Theme features to an SEO plugin, so it will work with other themes.
WordPress SEO Tip : If you have a heavily commented site consider using the Stallion Responsive Theme, I run WordPress sites with thousands of comments each and using advanced Stallion Responsive SEO features results in extra Google entry points to my content including user comments.
David Law