WordPress Ultimate Noindex Nofollow Tool Plugin

Improves your blog’s search engine optimization by “noindexing” pages you choose.

Add the “noindex” robots meta tag to archives, categories, search pages, tags, author pages, login, admin pages or any other page you choose.

Add the rel=”nofollow” attribute to individual pages listed by the wp_list_pages function or the Pages widget. Also, add the rel=”nofollow” attribute to archive links, category links, registration and login links.


  1. Upload the ‘ultimate-noindex.php’ file to the ‘/wp-content/plugins/’ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Under ‘Settings,’ click ‘Ultimate Noindex’ and modify your settings accordingly.
  4. That’s it!


Download the Ultimate Noindex Nofollow Tool here.


Comments are closed, but please use the forum for any support requests or discussion.


  • 1.1.2
    Bug fix where options set were not being correctly executed.
  • 1.1.1
    Bug fix where if user did not set nofollow pages, pages links would not display.
  • 1.1
    Added support for nofollowing login and registration links. Also, optimized some of the code.
  • 1.0
    Added support for nofollowing individual pages in wp_list_pages function.
  • 0.5

93 thoughts on “WordPress Ultimate Noindex Nofollow Tool Plugin

  1. John Nasta

    Dumb question of the day…

    How does this help SEO? Is it because otherwise Google finds the same pages more than once, and puts them in the supplemental index? I’ve noticed that some of my posts/pages are indexed in Google by tag or by category (e.g. johnnasta.com/blog/?cat=6). Is this bad for SEO?

    Obviously I need to learn about SEO…


  2. BGR

    sorry..more info…

    after upgrading from wp27 to 271

    headers disappeared from main nav bar and returned when deactivated. the pages were published and css correct but not appearing so only “home” header appeared. methinks there was some collision with page permalink structure

  3. Jonathan Kemp Post author

    John, WordPress creates a lot of duplicate content. Noindexing and nofollowing those pages helps keep them out of the search engines to avoid any penalties. Plus there are some pages you don’t need in there, like contact, privacy policy, etc.

  4. Jonathan Kemp Post author

    BGR, Sorry. I’ve tested it in my own custom themes and the WordPress default themes with no problems. I can’t support a paid custom theme I don’t have access too.

  5. John Nasta

    BGR -

    Try installing the Theme Test Drive plugin and see if it happens with a different theme. You can find a link to that plugin on the acknowledgments page of my blog or by searching wordpress.org/extend/plugins. You can contact me directly if you have questions about that plugin. I didn’t write it but I do use it to show themes and customizations to my clients.


  6. Jonathan Kemp Post author

    John, I’ve tested it and it works fine for me. I even tested it using your code and it works fine. It’s really hard for me to debug someone else’s installation as I don’t have access to your code. Sorry, I can’t help.

  7. Jonathan Kemp Post author

    Ah John, you were right. I found the error. It was occurring when the nofollow page field was blank so that’s why I didn’t see it. I just updated the plugin again so it should be fixed now. Thanks for letting me know of this error.

  8. BGR

    Good John. Thanks, the problem seems to be cleared up now. Where’s the donation button? You should be rewarded for listening to your users. Better than Peet’s Coffee that’s for sure.

  9. BGR

    oh dear, now post preview is blank after this upgrade and upgrading wp supercache and clean option plugins. I will begin troubleshooting.

    Maybe it’s my IP connection at the hotel.

  10. BGR

    looks like wp-supercache is playing hob with WP tonite

    turned it off and previews reappear as does the blog itself (thanks to an e-mail from a visitor complaining he couldn’t load the blog).


  11. BGR

    It was not supercache. vigorous testing and logic! found that the update to contextual posts was culprit.

    i will find the donate button!

  12. Jonathan Kemp Post author

    John, Would you link my name to my site instead of WordPress? Thank you.

    I meant to say the donate button is on the right, not the left.

    1. Jonathan Kemp Post author

      Which tag function would you apply this to? There are multiple tag functions. I will look into it.

    2. Jonathan Kemp Post author

      It is not possible at this time. Plus there are multiple functions for tags. It would be unwieldy to try and incorporate all of them.

  13. Sonia

    I can’t seem to get the noindex to work.
    I’ve entered the post id #, but still not working. I’ve created a google custom search results page that I want the noindex tag on. Is the post id the number that shows when you hover over a post and the subsequent url is “http……post=114″ and I enter “114″ in the “page id” field of the plugin settings?


    1. Jonathan Kemp Post author

      Yes, that is correct. Make sure the wp_head(); function is in your theme in the header.php file. If it is, then once you noindex the page, you should see the noindex meta tag in your source code for that page.

  14. Sonia

    This is in my header file:

    The result from the above line in the source code for the page I want noindex shows:
    & the only robots tag is this:

    I have the all in one seo pack, could that be messing up the noindex tag?

    Can’t seem to figure it out? Thanks for you help.

  15. Sonia

    oops, forgot about code not showing, trying again:

    This is in my header file:
    php wp_head();

    The result from the above line in the source code for the page I want noindex shows:
    meta name=”generator” content=”WordPress 2.7.1″
    & the only robots tag is this:
    meta name=”robots” content=”follow, all”

    I have the all in one seo pack, could that be messing up the noindex tag?

    Can’t seem to figure it out? Thanks for you help.

    1. Jonathan Kemp Post author

      I agree with John. I would deactivate the All in One SEO plugin first and see if that changes anything.

  16. John Nasta

    Unfortunately you can’t post code here. You could try leaving the brackets off or posting the code somewhere else and supplying a link to it.

  17. John Nasta

    You could temporarily deactivate the All In One SEO Pack and see if that changes things, or go into that plugin’s settings and uncheck the various noindex, nofollow options and see what happens. If you think another plugin is causing the problem, you have to rule that out (or prove it to be true).

  18. Ole

    Hello Jonathan,

    I use wp_page_menu instead of wp_list_pages.

    How do I have to modify the plugin to make it work with wp_page_menu.

    Or, maybe, you can modify the plugin?

    Best regards


    1. Jonathan Kemp Post author

      Since wp_page_menu does allow filters you should be able to do this. However, I have no plans to add this to the plugin at this time, nor do I have an idea of the code you would need to accomplish it. If you want this functionality, I suggest you use wp_list_pages. Thanks.

  19. MagicYoyo

    Got a problem.

    When I check “nofollow Categories” OR “nofollow archives” it’s desactivate BOTH.

    I want to nofollow only archives… a known issue ?

    1. Jonathan Kemp Post author

      Argh, you are right. I will issue a fix as soon as I can. My apologies all.

      For now, mess around with the settings and see if that helps or try deactivating and reactivating the plugin. If you still don’t want this to occur, I would suggest deactivating the plugin until a fix is released.

  20. Jonathan Kemp Post author

    As MagicYoyo pointed out, the plugin has not been working correctly for who knows how long. I just updated it so those bugs should be fixed now. My apologies. My sites were messed up too!

  21. Tom

    If I no index and no follow a particular page on my blog, is it going to show up in the search engine results. Note: This particular page was previously indexed by Google.

    Thanks for this great plugin.

  22. John Nasta


    Noindex means you don’t want the search engines to index the page and nofollow means that you don’t want the search engines to follow the links on the page. So, the answer to your question is no.

    The idea is that WordPress creates a lot of pages that have the same content on them and a lot of links that lead to the same content. The search engines see this as duplicate content, which hurts your ranking.

    1. Tom

      Thanks John for the fast response and clarification. The reason I asked is because I tried to exclude the page from showing up in the search results by disallowing it my robots.txt file, but unfortunately it still ended up in the results. Hopefully, this plugin will solve that problem.

  23. John Nasta


    This should do it. Your page should be removed from the index the next time your site is spidered. Google has a form you can fill out for removal requests if you can’t wait until the next time your site is spidered.

    You may also want to check out the Robots Meta plugin. It adds noindex and nofollow tags to your login, registration, lost password, and admin pages and also does some other stuff.


  24. Tom

    I just checked the source code of the page I want to noindex and nofollow. The noindex appears to be working, but the nofollow is not. See code below:

    I already put the same page IDs for settings. Any idea why nofollow is not working?

  25. John Nasta

    I don’t think you can post code here. Entering page IDs only noindexes them. That’s why it says “Enter page ID’s of the pages you want noindexed.”

    1. Tom

      You’re right John, but the plugin also allows you to enter the page ID into the nofollow field in which I did, yet the source code doesn’t reflect the changes I made. Let me try to enter the code I see in the source code again:

      meta name=”robots” content=”noindex, follow”

      (notice the “follow”? Shouldn’t it be “nofollow”?)

      Also, I there’s a note under the nofollow setting, “Note: Page ID’s and page slugs are not interchangable here. You must use one or the other depending on how your permalinks are structured.”

      My permalinks is set as:


      Could it be that I should be using a page slug instead? If so, I’m not sure what a page slug would look like.

      I apologize if this message is too long or confusing.

  26. John Nasta


    Sorry. I should mention that I have no connection to this plugin other than the fact that I have used it. Now I see the nofollow page ID box. But, as Jonathan said, the nofollow will be on the links themselves, not in the meta tags. Why it says “follow” in the meta tags is beyond me.

    Also, you unfortunately should redo your permalink structure so that your permalinks start with a number (like the year). Otherwise you’ll be taxing your database and slowing your site down.

    Check out this page:


    Read the part that starts with “For performance reasons, it is not a good idea to start your permalink structure with the category, tag, author, or postname fields.”


  27. John Nasta

    p.p.s. Yes, you should be using page slugs. By default, WP uses the page ID, but when you customize the permalinks it uses the slug. The slug is the title of the page in lower case letters and “sanitized”. If the title is more than one word, the words are separated by hyphens. So if your page is called About, the slug is about. If the page is called About Us, the slug is about-us. If the page is called WordPress.org, the slug is wordpressorg.

    Go to your page and in the address bar of your browser you will see the slug.


    1. Tom

      I tried the slug version without any luck. I guess I’ll just stick with the “follow” version. LOL

      1. John Nasta


        Just FYI, the Robots Meta plugin allows you to select one of the following 4 options for any page or post:

        index, follow
        index, nofollow
        noindex, follow
        noindex, nofollow

        If Jonathan’s plugin is not doing what you want, you may want to check that out.

  28. Tom

    John, thanks for the heads up about the permalinks. I think I’ll stick to my current permalinks despite the performance issue you mentioned. I believe there are some key benefits in SEO if the numbers (date) are omitted. Even better is probably /%postname%/ since search engines like Google give higher weight to keywords present on the URL structure. More info here: http://wphacks.com/wordpress-tip-use-an-optimal-permalink-structure/

    1. John Nasta

      Interesting, thanks. I’ll discuss it with some people in the WP community.

      Keep in mind that search engine tips that are two years old may not be entirely valid any more.

      Unfortunately they give no explanation as to why the number is such a bad thing.

      My own web site relies on getting qualified traffic rather than the most traffic, so I will leave it as-is.


  29. Marko

    Hi Jonathan,

    I tried to to put meta tag that has both noindex and nofollow on a page but meta tag is added with noindex and FOLLOW. What am I doing wrong?


    1. Jonathan Kemp Post author

      That is correct. The meta tag that is added tells it to noindex the page but to still follow the links. Nofollowing links is not a meta tag. It is an anchor attribute that looks like this, rel=”nofollow”. That tells a search engine not to spider the link on the page.

  30. Marko

    Thanks for clearing that out. :) But I’m wondering now about that combination of noindex and follow in the meta tag. So, page won’t be indexed but links on the page will be followed, thus PR would be passed. But I don’t get this: when page passes PR, how on Earth does the Google know what value of that PR is since the page it is not indexed?

  31. Marko

    I have a suggestion feature, if I may.

    Beside each noindex checkboxes there should be checkbox option “also remove existing robots META tag” and “combine noindex with existing robots META tag” (this option will save other values like follow, nofollow, noarchive…).

    Can we expect something like this soon?

    1. Jonathan Kemp Post author

      I have no plans at the moment to develop this plugin any further. My suggestion would be to edit the plugin yourself to make the noindex meta tag appear in the format you want. Let me know if you need help doing that.

  32. Marko

    Plugin adds meta tag just fine. But it doesn’t add rel=”nofollow” when I try to specify individual pages by their IDs. Can you help me? Is this a bug?

  33. kojder

    The only thing that’s missing in this otherwise excellent plug-in is the ability to disable indexing of subpages of the home page (page 2, page 3, etc.).

    Best regards!

  34. Adam

    This is a great, simple, plugin. I do agree, it would be nice to add subpages to the list. I was able to add it to my header.php file. I think having an option to add noindex to individual pages of a specific category would be useful. Again, I was able to add that to my header.php easily, so it’s not critical.

  35. Vince Cianci

    I am looking to create a ‘sales page’ within wordpress but dont want google to index the page. Would this plugin be suitable for this application?

    Eg. Page 1 will be an optin page, The next page will be a sales letter that I dont want visitors to be able to find on google etc..

  36. Joe Pea

    Hey Jonathan,

    can you add the ability to add rel=”nofollow” on a link per link basis to links you add to posts.

    And an option to add or not add nofollow to all links in a post, just in case a user elects.

    If not the second suggestion, at least the first! That would be awesome!

    It’d work like this: When you click the little “chain link” button to add a link, there’s options for alt text, target, class. THere would be an extra option here, a checkbox, for nofollow. If you check it, it adds nofollow.

    What do you think?

  37. John Nasta

    @Joe Pea – You can add that to your links yourself in HTML editor mode. The plugin (IMO) is really more for dealing with the links that WordPress generates.

  38. Adi

    HI – I have recently added this plugin. But as I am new to WP, I realize I don’t really know how to use it. I am not sure what I need to enter in the settings where it asks for page ID. for the page ID do I just put the page ID numbers (ie 2,7,13)(I forget where to find the slugs)

    Does ‘nofollow’ the archive links avoid duplicate content (are they the same as what is is category)?

    thanks for any help

      1. Adi

        Hello Jonathan –

        I am still trying to find out how to use the plugin. (see my Dec 3rd post) How do I tell it which pages/posts to no follow? I am not sure what I need to enter in the settings where it asks for page ID. For the page ID do I just put the page ID numbers (ie 2,7,13)(I forget where to find the slugs)

        Does ‘nofollow’ the archive links avoid duplicate content (are they the same as what is is category)?

        thank you

        thanks for any help

  39. Dennis T

    I just installed the plugin and its very useful. So thanks!

    I have a question though: Is it possible to add the noindex tag to custom category pages? My problem is that due to having used the url structure “../permalink” for internal links, combined with some plugins, Google for some reason indexed many pages as duplicates under really strange category urls (e.g. http://www.example.com/category/products/..category/products). I cannot access these category url pages directly so I cannot insert the noindex tag manually. Is there any way to apply your plugin to these custom urls, via settings or the php file? Any advice would be greatly appreciated!

    (p.s. And yes, I’m going through the effort of changing all my internal link urls…but I want to have the urls deindexed from Google asap as I have been “penalized” due to these duplicates. Plus you never know when something like this might happen again!)

    1. John Nasta

      @Dennis T

      1) Do you use a sitemap plugin? If so, are the links incorrect in your sitemap?

      2) Do the links as indexed by Google actually work? Seems like they would not

      3) Use the Search & Replace plugin and it will take you no more than about a minute to replace all of those relative paths with either absolute paths (i.e. beginning with a leading slash to indicate the root) or full URLs

      4) If you don’t have a sitemap plugin, get one, create a sitemap and (re-)submit your correct link structure to Google.

      It seems to me that the real issue you are having is that you have to get your pages indexed correctly, not modify the behavior of the plugin.

      John Nasta

  40. Dennis T

    Thanks John! No, I don’t have a sitemap but I guess I will have to take care of that. I just want to make sure that google will throw out these unnecessary urls asap.

        1. Adi

          HI john or dennis – can either of you tell me how to use this plugin? (no index no follow ) I have requested help on the wordpress forum and the warrior forum and here (see just above you) but no answer – hoping one of you guys can help


          1. Dennis T

            John, thanks again. I already have webmaster tools account and will make use of the url removal tool. Also I have installed the xml sitemap generator. Im all good to go now. :)

            Adi, where exactly do you have problems? Once youve downloaded and installed the noindex plugin in wordpress you can go the settings tab, then go to “ultimate noindex” and specify what pages you want noindexed/nofollowed.

  41. adi

    HI Dennis –
    (thank goodness!)
    1) I am not sure HOW to put in the correct pages.
    2) if it is numbers, I am not positive where to get the numbers
    3) No follow I understand I am not sure the meaning of noindex (asking the search engines not to index that page at all?)
    4) Does ‘nofollow’ the archive links avoid duplicate content (are they the same as what is is category)? I am guessing you should only ‘nofollow’ one of archives or categories?

    thanks so much!

  42. Dennis T

    I would still like to know if and how I could noindex urls like “domain/category/x/page/2″. In essence I would like the categories indexed, but not their subpages. I dont think I could individually set these up under the page ID option?

    I have some other strange url patterns I would like to tag with noindex. I have taken care of everything for my site (sitemap,robots etc.) so these urls wont get crawled anymore but the point is that I want them out of Googles index – the sooner the better. I can hardly use the webmaster url removal tool for these tons of urls. Thanks for any help!

    @adi: 1) You check the boxes of those pages you want noindexed under noindex and those you want nofollowed under nofollow.
    2) What numbers? Are you talking about the page IDs for the individual pages option? Yes, the IDs would be numbers. I believe you can find the page IDs in wordpress or if you look at page source but I’m not sure.
    3) Yes, google will not index these pages but it may follow them (unless you also “nofollowed” them). Or, if they already are in googles index they will now be taken out of the index.
    4) Nofollow will only avoid duplicate content if these pages arent already indexed (see above). Archive and category are not the same. Archives are urls with datestamps like domain.com/2009/4 etc. while category is domain.com/category/xyz. It would be wise to noindex & nofollow one of the two, if not both. (Unless youre trying to aim for keywords with your categories)

    It may be a good idea, Adi, if you did some reading up on the basic structure of a wordpress blog and what elements can cause duplicate content, especially if you have no sitemap or robots.txt.

    1. JonasGrumby

      @Dennis T – The broken URLs will automatically be removed the next time they do a full crawl of your site. You only need to use the removal tool if you want them removed right away. Just the fact that you have submitted a site map for the first time will probably get them to crawl the site.

  43. Adi

    Dennis – thanks – that helps. I just ran across a strange one. My sidebar widgets are getting indexed! I have no idea how one would prevent that. I do not see any way to do it using this plugin, unless I’m missing something.

  44. Dennis T

    Not sure what you mean with your sidebar widgets getting indexed…can you provide a url example? If you mean the urls from your side navigation then its normal that they get indexed.

  45. Waly

    Hmmm. The checkboxes seem to be working, but the individual page IDs or slugs are not (for nofollow). I’ve tried

    1, 2, 3, 4
    slug1, slug2, slug3, slug4
    slug1/, slug2/, slug3/, slug4/

    No variation seems to do the trick…

  46. Adi

    I am using your first example (1,2,3…)
    I have those in the BOTH the no index and no follow sections. the code ends up like this:

    Isn’t that saying ‘do follow’?!
    the noindex seems to be working

Comments are closed.