Virtual Robots.txt


Virtual Robots.txt is an easy (i.e. automated) solution to creating and managing a robots.txt file for your site. Instead of mucking about with FTP, files, permissions ..etc, just upload and activate the plugin and you’re done.

By default, the Virtual Robots.txt plugin allows access to the parts of WordPress that good bots like Google need to access. Other parts are blocked.

If the plugin detects an existing XML sitemap file, a reference to it will be automatically added to your robots.txt file.


Installation Instructions
  1. Upload pc-robotstxt folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Once you have the plugin installed and activated, you’ll see a new Robots.txt menu link under the Settings menu. Click that menu link to see the plugin settings page. From there you can edit the contents of your robots.txt file.
Will it conflict with any existing robots.txt file?

If a physical robots.txt file exists on your site, WordPress won’t process any request for one, so there will be no conflict.

Will this work for sub-folder installations of WordPress?

Out of the box, no. Because WordPress is in a sub-folder, it won’t “know” when someone is requesting the robots.txt file which must be at the root of the site.


Doesn’t seem to work

I thought this would be simple. Sure sounds simple.

But after I saved your suggested text to my brand new “virtual robots.txt”, I clicked the link where it says “You can preview your robots.txt file here (opens a new window). If your robots.txt file doesn’t match what is shown below, you may have a physical file that is being displayed instead.”

That new window shows text that is indeed different from the plugin’s. So I understand that to mean there’s a physical robots.txt file on my server.

So which one is actually going to be used?

Your FAQ offers this:
Q: Will it conflict with any existing robots.txt file?
A: If a physical robots.txt file exists on your site, WordPress won’t process any request for one, so there will be no conflict.

If a physical file exists, WP won’t process ANY request for one?

This SOUNDS like WP will ignore BOTH the physical file AND your virtual one. In which case, what’s the point? Might as well not have one, it seems to me.

When I manually go to, I see what’s in the physical file, not what the plugin saved.

So… is it working? I don’t know!

Should I delete the physical file and assume the virtual one will work? I don’t know!

Should I delete this plugin and edit the physical file manually? Most likely.

2 stars instead of 1 because I appreciate getting the suggested lines to include in my file.

Efficient and unobstrusive

Awesome, a simple solution to a common issue (site content managers who want to hide certain pages from Google search results).

Just a little note: in my case, the existing Sitemap created by the plugin “Google (XML) Sitemaps Generator” by Arne Brachhold wasn’t detected.

Read all 5 reviews

Contributors & Developers

“Virtual Robots.txt” is open source software. The following people have contributed to this plugin.




  • Undoing last fixes as they had unintended side-effects.


  • Further fixes to issue with newlines being removed. Thanks to FAMC for reporting and for providing the code fix.
  • After upgrading, visit and re-save your settings and confirm they look correct.


  • Fixed bug where newlines were being removed. Thanks to FAMC for reporting.


  • Fixed bug where plugin assumed robots.txt would be at http when it may reside at https. Thanks to jeffmcneill for reporting.


  • Fixed bug for link to robots.txt that didn’t adjust for sub-folder installations of WordPress.
  • Updated default robots.txt directives to match latest practices for WordPress.
  • Plugin development and support transferred to Marios Alexandrou.


  • Now uses do_robots hook and checks for is_robots() in plugin action.


  • Added support for existing sitemap.xml.gz file.


  • Added link to settings page, option to delete settings.


  • Initial release.