Forum Moderators: open
Q: Will Google recognize the 'nofollow' keyword when it's part of a space separated list? According to the HTML spec, the value of the 'rel' attribute is a space separated list of link types.A: Absolutely. We'll practice the "be liberal in what you accept" philosophy, which means recognizing spaces, commas and, in fact, most punctuation. But we strongly recommend using spaces as separators to follow the specification.
In fact, using a space separated list of values for the class attribute can be a great way to keep CSS files small. I regularly write mark-up that looks like this: class="bld sm gap" I call this approach my "Swiss Army Knife". First I establish a standard set of short rules for commonly needed style variations and then I can mix-and-match those classes as needed -- rather than creating a complete set of CSS rules for each area of a page.
In the case of rel="external nofollow", this combines rel="external" with the nofollow value. In order to get around the lack of a target attribute in XHTML, some sites use that value to trigger a new window via a script. That practice began even before the nofollow was introduces, and so there was a need to retain the previous rel attribute and also introduce the newly minted one.
Returning to the opening question, rel="no follow" is not going to have the intended result, even with Google's attempts at liberal interpretation. The syntax is valid, but it actually says there are two "rel" values, "no" and "follow".
In fact, using a space separated list of values for the class attribute can be a great way to keep CSS files small. I regularly write mark-up that looks like this: class="bld sm gap" I call this approach my "Swiss Army Knife". First I establish a standard set of short rules for commonly needed style variations and then I can mix-and-match those classes as needed -- rather than creating a complete set of CSS rules for each area of a page.
"Swiss Army Knife" - LOL - I like that. Yeah, I start any project with a whole set of 'globals'; background-images:, special font-size: float:..... then just plug in classes to the key <div>. Can't remember the last time that I assigned a background-image: to a full declaration. By keeping them as their own classes I can easily mix-and-match classes and not have to reinvent the wheel, add classes for no good reason because I am locked into an overly detailed declaration, or hack an escape for a minor detail that should have been classed separately to start with and saved a lot of trouble every time I wanted to do something that 'looks' different but is really only a minor change this way.