- From: Blaine Cook <lattice@romeda.org>
- Date: Sun, 13 Jul 2003 14:02:43 -0700
- To: www-style@w3.org
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