SEO Benefits Of CSS
by Steve Chittenden
This article is most useful if you are somewhat familiar with HTML and CSS. I
explain the concepts well enough that you do not have to be an expert, but I
want to provide material that will introduce you to more advanced design in ways
you can understand.
Like many other web designers, I began laying out web pages using graphical
tools and discovered the wonders of tables for layout without anyone telling me
to use them. Since browser support for CSS is better than it used to be, and
tables cause problems, CSS offers you a benefit you may not have thought about
before, the benefit of better SEO.
I want to say right away that quality content should be your highest priority,
not SEO tricks. The advice given here will help you get better search engine
results because the key to real SEO begins with good page structure and
organizing your content. By understanding how search engines "see" your pages,
you can build better page structure.
Search engines use what is called "top down" logic in looking at web pages. They
look at your code, not the visual display that users see. Human eyes are drawn
to the page content right away, even when there are other things on the page.
Search engine robots do not see things the same way, but, they are logical and
predictable once you understand them.
You have most likely seen search engine results that do not make sense because
some obscure content gets displayed instead of the actual content of the page. I
will illustrate top down logic so you can understand how to make CSS work for
you.
In the mind of a search engine, the gist of your web page is determined first by
what content is at the top of the page. If you start with certain words, they
appear often throughout the page, and then again at the bottom so it is
essentially your closing point, that, in the automated brains of a search engine
is what your page is about.
Your well trained eyeballs will probably look for a title, then read the
content; so to you, this is the top down logic of the page. Read your HTML code
from the top down. You may be surprised how far you have to scroll before you
get to the real content, and, how much other "content" a search engine will see
first. If you use tables for layout, the top down logic of your code looks like
it has the legs cut off and the place settings are on the floor.
Using CSS, you can organize your code so the search engines see your real
content first regardless of where it appears on the page.
Let's use a simple HTML example:
<html>
<head>
Insert all your head info, including a CSS link like below
<link rel="stylesheet" type="text/css" href="file.css" />
</head>
<body>
<div id="content"> <!--I will explain this div later-->
<h1>Heading With Your Important Keywords</h1>
<h2>Subheading With Important Keywords</h2>
<p>Your important content will be here, with keywords. Notice how this is right
at the top of your code. No matter where this is on the page, you want it here
at the top of your code.</p>
</div> <!--This would be the end content div-->
<div id="nav"> <!--This div represents a navigation example-->
<p>This could have image buttons, text, or both. If using images, make sure to
include alt text which should contain keywords. With tables for layout, this
would most likely be above the content, now it is below where it should be. The
div id above will help you control this.</p>
</div>
<div id="banner">
<p>As the name can imply, this can be at the top of the page, but notice how it
is way down in your code because it has no strong SEO elements. It might be your
logo or additional navigation. Even though it shows at the top of the page to
the user, it is not the first thing you want the search engine to read or
display in search results.</p>
</div>
<div id="summary">
<!--This div can be anything, used here as example-->
<p>This example of another div is used to illustrate another SEO principle. Use
keywords in it so it is like your closing point. By appearing at the bottom of
the code, it makes stronger SEO.</p>
</div>
</body>
</html>
Next, I will show a simple example of how to make the file.css to control the
layout. You can use this code in a text editor to see the effects. For
simplicity, I will focus on only the layout code, we will not be declaring
fonts, sizes, links, etc.
In the HTML example, we have 4 sections (divs). You can divide up by pixels or
percentages (or even both). We will be using pixels for simple illustration of
the principle here.
/*Begin CSS*/
/*Just for the record, this is a comment in CSS*/
#nav {position: absolute;
top: 0px;
left: 0px;
width: 200px;
height: 500px;
padding: 20px 10px 10px 20px;
}
/*To explain the code above, I listed the divs in a different order than the
HTML. This order follows the flow of the way I am doing the page layout. It also
follows the flow you would have if you set up a table structure in HTML. The nav
section butts up against the top left corner of the page (top and left are both
0px). The # sign defines the "id" of the div followed by the name. I set the
width to 200px which is like making a table cell that width. I have used the
500px height just as an example so the summary below will start where the nav
ends. You want to be sure everything will fit with the sizes you specify. You
can also set padding, but unlike a table cell in HTML, you can set each side
separately. In the example above, the first 20px is the top, then it declares
each side in clockwise order so the left side is also 20px.*/
#summary {position: absolute;
top: 500px;
left: 0px;
width: 200px;
padding: 20px 10px 10px 20px;
}
/*The summary above starts where the nav ends, at 500px from the top. The other
settings match for alignment. I did not set a height because it will stretch
just like a table cell when you insert your content.*/
#banner {position: absolute;
top: 0px;
left: 200px;
width: 550px;
height: 150px;
padding: 20px 0px 10px 20px;
}
/*The banner will be at the top of the page, but will start at 200px from left
where the nav ends. Declaring a height is optional, but it will help for making
sense out of where the content below will start. I used 150px just as an
example. The reason for 0px padding on the right side is because the remainder
of the screen is empty in this layout, no need to pad that side. I limit the
width so it will display well down to 800x600 res (the total width here is
750px).*/
#content {position: absolute;
top: 150px;
left: 200px;
width: 550px;
padding: 10px 0px 10px 20px;
}
/*Now the content starts right where the banner leaves off, 200px to the left
and 150px from the top. Notice this is last. If you used tables to create the
same layout, this would be last in your code too. The search engines would read
everything else before getting to the meat of your page. In the HTML used here,
it is at the top of your code so the search engines see it first.*/
/*End CSS*/
These are simple examples, but if you can think in terms of top down logic, you
can build search engine friendly pages. They will also load faster as complex
table structures take longer to load than CSS layout, which is another benefit
to CSS.
About the Author: Steve
Chittenden seeks to help business owners and organizations market themselves
effectively and succeed. His company, Creative Business Services, provides
carefully planned
web design, graphic design, writing, and marketing
services aimed at achieving
this goal. Please visit
www.cbscreative.com
for more information.
Source of article:
www.goarticles.com
| |
|