Subscribe via

SEO No Duplicate WordPress Plugin

A lot of SergiosToday I would like to announce the release of ‘SEO No Duplicate’ WordPress Plugin, a plugin that helps tell search engine bots the preferred version of a post page by specifying the canonical properly within your head tag.

Why would you do such a thing? Simply because many black-hat SEO consultants abuse duplicate content to gain search ranking and search engines try really hard to detect and penalize them. The last thing you want to do is present yourself as an SEO spammer to search engines.

This plugin is based on my previous post on how to automatically deal with duplicate content. Please feel free to use the comments section for bug reports, feature requests, and suggestions.


This plugin improves your site’s search engine optimization by helping you manage your search engine duplicate content, by setting your post page’s canonical to the permalink.


  • Helps you get rid of search engine duplicate content problem.
  • Easy implementation. Just activate and go.



  1. Upload the plugin to your plugins folder: ‘wp-content/plugins/’
  2. Activate the ‘SEO No Duplicate’ plugin from the Plugins admin panel.


  • readme.txt

31 Responses to “SEO No Duplicate WordPress Plugin”

[go to last comment]
  1. redwall_hp

    You mean like this: ? 😀

    Joost de Valk is a few steps ahead of you. 🙂

    Now if you add the ability to set a custom field with a different URL from the posts page, you could one-up him…

  2. Ty Bone

    Darn that Joost! I must've missed that post from him.

    Thanks for the tip. I'll add that feature soon.

  3. Joost de Valk

    I don’t mind a bit of competition 🙂 i,ve seen your previous post, and it’s not as simple as you think, try to create proper output for tags, categories, paged pages, blog dubpages, and more using all different types of permalink settings.

  4. Joost de Valk

    Blog subpages I meant 🙂

  5. Ty Bone

    Thanks for the tip buddy!

  6. Ty Bone

    Released 0.2
    – Added support for all types of WordPress pages
    – Added canonical user overrides via custom fields

  7. All of the subsequent pages of the main page, category pages etc (ie etc) all have canonical=the first page (ie

  8. Ty Bone

    I intended it to be that way. Is it better to have it otherwise?

  9. gofree

    This the process from your plugin automated or needed manual work?

  10. Ty Bone

    It is automated with the option for manual override.

  11. Ty Bone

    It's automated with the option of manual override.

  12. nop

    I am sorry. I want to post I don't understand canonical properly.

  13. Ty Bone

    Canonical settings just tell the Googlebot what the preferred URL for a certain page is. For example, by default Googlebot sees these pages as different pages:…
    and marks them as duplicate content. You need to set the canonical URL to something like "" so that the Googlebot knows that the other URLs are indeed the same page, so it will not index this duplicate content (and possible hurt your SEO score).

  14. johnray

    Hi i just want to ask…I re-edited my permalink because I had one word misspelled..the problem with it is that google considered both the wrong spelling and the correct one…when I went to webmasters I have a duplicate content issue…will your plugin help?

  15. Ty Bone

    When you install this plugin, the next time Google spiders both the wrong and the right version of the page, it will see the canonical settings at the top of the page being set to the right version of the page and correct the duplicate content issue for you. Now the hardest part is to tell Google to spider both the wrong and the right version of the page. 🙂

  16. nop

    Can I test plugins & canonical properly is work on this page ?

  17. Ty Bone

    You sure can! It's running right now.

  18. Ty Bone

    That sounds like a bug to me. I will fix it in the next release. Please stay tuned to the RSS feed!

  19. Ty Bone

    Hi Philip, I could not reproduce this problem on my side. Is there anything special about your WordPress installation?

  20. Ahmed iqbal


    At Dashboard Of WP, I've received following error related with your plugin.
    Warning: array_slice() expects parameter 1 to be array, null given in /home/site-name/public_html/wp-content/plugins/seo-no-duplicate/omninoggin-posts.php on line 41
    # No items

  21. Ty Bone

    I've just checked in version 0.3.1. Hopefully this will fix your problem.

  22. Philip

    I have had another look and I am not sure this plugin does what I require. Please advise. I set a dummy canonical for this page as and it works fine. But where the content is duplicated such as… there is no dummy canonical available. My WordPress installation is standard using hybrid-news theme.

  23. Matt Talbert

    My site is 2.7.1 but your version check says the plugin requires at least 2.7 and keeps the rest of my site from rendering. I had to disable the plugin. I hope you can fix this soon.


  24. Ty Bone

    That's odd. I have 2.7.1 and it works fine for me. Do you have a beta version of 2.7.1 or something? Can you try "echo $wp_version;" before the version check in seo-no-duplicate.php and see if it says "2.7.1"?

  25. Ty Bone

    Ah.. I think I know why. Do you have any plugins that remove the WordPress version? The only reason I can think what is causing this is that your $wp_version global was unset somehow.

  26. Ty Bone

    I've just checked in version 0.3.1. Hopefully this will fix your problem.

  27. Ty Bone

    Ah.. I think I know why. Do you have any plugins that remove the WordPress version? The only reason I can think that is causing this is that your $wp_version global was unset somehow.

  28. Ty Bone

    Released 0.3.1
    – Fixed array_slice() warning in the admin dashboard.
    – Fixed version check to not break page when $wp_version is empty.

  29. Matt Talbert

    The update seems to be working just fine thank you very much. Sorry I didn't get a chance to reply to your questions earlier I was at work. I put in the echo of $wp_version. It displays the correct version when I am in the admin side but on the user side it doesn't display anything. I am not sure why that is. The check for empty works but now i'm very curious as to why the site doesn't have a version when it's not in the back end.

  30. Ty Bone

    That's no problem. I suspect that it has to be one of your plugins doing that. I'm not sure why it would want to do that though.

  31. peter

    this plugin best for seo and my blog

[go to first comment]