Proposal: Additional 'media' type

I've recently been doing some work on establishing a search engine for 
an organisation I work with, as well as doing a lot of CSS-based layout 
work. The intersection of these two activities lent me an idea that I 
can't find mentioned anywhere, so I figure here is as good as any a 
place to start.

The idea, in summary, is to add a new target medium to CSS. 
Specifically, a "robot" type. This would allow web designers to create 
pages that enable search engine indexers to focus on the content, 
enabling the users of search engines to find better results. One of the 
biggest problems that I have encountered implementing a search engine 
is that navigational aids and periphery content is over-represented in 
the results.

Roughly, such a type would be used as follows:

@media robot {
     body { display: none; }
     #content { display: inline; }
}

A number of CSS-based layouts that use "display: none;", or even hide 
text by using the same foreground and background colours, are becoming 
much more common. For example, the use of :hover to create popup menus 
(1) requires hiding text from users, as does using background-images to 
replace text (2). The problem with this development is that for search 
indexers, it is impossible (or very difficult) to differentiate between 
abusive users hiding links and text to increase their rankings, and 
these legitimate uses. Google explicitly recommends against using these 
techniques (3).

By creating a media type specifically for robots, we can hope to 
increase the relevancy of results, without having each and every web 
designer switch immediately to an XSLT markup. Search engines should be 
able to trust the content provided by the robots stylesheet, and could 
even implement spam-catching checks such as verifying that the 
searchable blocks are visible (both display and colour) in the 
screen/print pages. For such a small amount of code, it seems worth it.

I am largely a user of CSS, and as such I very probably missed some 
important points concerning this implementation. It seems that it 
should be possible given the spec, though.

I welcome any comments and discussion. If anyone is interested in 
porting this discussion to the blogosphere, please feel free to do so, 
as I do not maintain a blog myself.

References:
1. http://www.meyerweb.com/eric/css/edge/menus/demo.html
2. http://www.stopdesign.com/articles/css/replace-text/
3. http://www.google.com/webmasters/guidelines.html

Blaine Cook

Received on Sunday, 13 July 2003 17:02:51 UTC