Robots Exclusion Confusion, Part 2
How to use the wildcard character, avoid sending mixed signals to robots, and more. Second in a two-part series.
How to use the wildcard character, avoid sending mixed signals to robots, and more. Second in a two-part series.
In my last column, I discussed several techniques you can use in your robots.txt file, including broadcasting your site maps’ locations, testing your robots file to make sure it will work they way you need it to, and allowing URLs that look like directories while disallowing the content within the directory. Today, I finish up the topic by discussing how to use the wildcard character, how to direct the actions of multiple robots, and how to avoid sending mixed signals to robots.
The Asterisk Wildcard
You’ve seen the asterisk in the User-Agent: line and know it means “all robots.” In Allow and Disallow lines it works similarly, symbolizing any character group of contiguous characters.
Combining the $ and * symbols can be particularly powerful. Suppose you recently migrated from .php to .aspx, and you find yourself with some stray .php files clogging the indices. Here’ s a sample directive followed by an explanation of its components:
A URL like /tags/php/oct-2008/, then, isn’t affected by the disallow line, because it doesn’t end with “php”.
But can the asterisk mean no character? Consider this line:
We know it will exclude a URL such as /2004-products/default.aspx. But what will happen to the URL /products/default.aspx? The URL will also be excluded, because in addition to the asterisk symbolizing any character or characters, it may also symbolize no characters at all.
Allow Trumps Disallow
If you send mixed messages to robots within the same robots.txt file, which message do they honor? In other words, suppose your robots.txt file lists the following code:
The second and fourth lines contradict one another. Line two disallows a file that line 4 allows. So which line will engines respond to? Google will allow the file, based on both real-world experience as well as the Check Robots.txt tool within Webmaster Tools. MSN/Live and Yahoo should respond similarly because they both adhere to the advanced Robots Exclusion Protocol, although I recommend you verify this. It makes no difference whether the allow or disallow line comes first in the file, allow trumps disallow.
Rock, Paper, Scissors
Who wins when robots meta tags, robots.txt files, and XML files contradict each other about inclusion? Here are some guidelines:
Directing Specific Robots
It’s possible to give specific allow and disallow instructions to specific robots. Remember, once you’ve addressed a specific robot, that robot is no longer bound to global directives. For example, suppose your robots.txt file has the following code:
I’ve seen the same mistake many times: people think that the preceding code lines tell Google to disallow the /webmail/, /pdf/, and /files/printer-friendly/ directories. This isn’t the case. Because the code has a section dedicated to Googlebot, the bot will adhere only to the specific directions given to it within its specific section. Consequently, Google will crawl /webmail/ and /pdf/ since it hasn’t been specifically instructed not to. To get Google to exclude all three directories, you would need the following code:
Conclusion
The findings in this column are based on a combination of real-world observation and testing and a lot of time experimenting with Google’s robots.txt tools in Webmaster Tools. I hope it’s a helpful resource in your quest to deal with duplication, data privacy, and overall site maintenance.
Join ClickZ at Search Engine Strategies New York on March 25. More than one dozen online marketing professionals will discuss the latest issues in the larger universe of digital marketing.