You should not use noindex on useful pages!
Noindex is for sensitive URLS and pages with no value. If your visits find the pages 'useful' then you should index them regardless if they are duplicate or not.
Tag pages, author pages, category pages and even pagination pages are useful and therefore should be indexed.
Canonical link to the rescue
If you're concerned about duplicate content then you are approaching this incorrectly, by using canonical links you can tell Google and Bing what the main pages are and therefore you will not be subject to any penalty.
How to add canonical link to WordPress?
The simple method is to install a SEO plugin, I personally recommend Yoast SEO as its light weight and pretty much does everything you need straight after installing it.
Alternatively if you prefer not to use a WP plugin then you can opt to use a in-house method that involves editing your header.php
file. I posted this awhile back on my blog:
SOURCE
Universal PHP Code for Canonical URLS
Below is the code that you need to add within the head of your theme
template:
<link rel="canonical" href="https://www.bybe.net<?php echo $_SERVER['REQUEST_URI'];?>">
Obviously you will need to replace bybe.net with your own domain.
Adding canonical Links in WordPress
Below are a few easy steps that will have you up and running with
WordPress canonical URLS in no time at all, and without a plugin.
- Login to WordPress
- Hover over Appearance
- Click Editor
- Find Theme Header (header.php)
- Add the Universal PHP Code for Canonical URLS found above within the HEAD section of your theme header file.
Canonical links does not stop WordPress duplicate titles or meta descriptions
You should be aware that by using canonical links it does not prevent 'duplicate titles or page descriptions' that are often reported by Google Search Console.
This occurs often on any pages that use pagination since (page 2 of 2) will have the same title and description as (Page 1 of 2), to get around this issue you will need to use a custom wp_title(), here is a simple example in action:
<title>
<?php
wp_title();
if ( $paged < 2 ) {
// DO NOTHING (PAGE 1)
}
else {
// ECHO PAGE NUMBER (PAGE 2 AND ABOVE)
echo ('Page'); echo ($paged);
}
?>
</title>
If you go the Yoast SEO route then this can be resolved by using Yoast's variables, for example I use this and place it as the 'blog' page title:
The %%sitename%% Blog about Web Design and SEO %%page%%
Which translates to:
- The BYBE Blog about Web Design and SEO Page 1 of 5
- The BYBE Blog about Web Design and SEO Page 2 of 5
- etc etc...