| This 48 message thread spans 2 pages: < < 48 ( 1  ) || |
|CSS, SEO and semantics|
Clean code means plain text for seo?
Hello everyone, I must start by saying I am fairly new to the html, xhtml, and css world and completely new to the webmasterworld forums.
I was reading up on some SEO techniques and got to thinking about my new found love for CSS. Since CSS is browser side and the spiders (from my understanding) ignore CSS, does this not mean that in cleaning our code with proper CSS we are also removing many important tags for SEO purposes?
Since in CSS we clean our html or xhtml by moving tags like; <b>, <u>, and <i> to the CSS file we are also removing the weight those tags hold to the spiders in a SEO sense.
I understand that we are still using our h1, h2, h3..., keywords, and keyphrases, but if the CSS is hiding everything else, are we not also making a sacrifice?
Personally I believe that the cleaner code using proper xhtml and css is by far better than the code of old, but just how much in SEO terms are we sacrificing if any?
I would be very interested to read any theories, suggestions, opinions, and/or facts about this topic.
Thank you for your time.
The adjustment in the title is proper and well deserved I believe.
Yes Mattur, it is agood link and interesting read.
As long as people still have the ability, right, and desire to express personal opinion there will always be at a minimum of two sides to every story. The interpretation of proper semantics, coding, style, css, framework, seo, and whatever else you can think of will always remain an open discussion.
If it works and the relating software as well as hardware is willing to cooperate, then I think I will make things easy on myself and keep it simple.
Maybe I complicated things by starting out with xhtml even though I did not and still do not have a complete understanding of xhtml.
html 5 promises to address many existing problems dating back to the beginning of the internet, but just like all promises, I predict that html 5 will fall short and many developers will continue to utilize markup that has been "tagged" for deletion.
xhtml vs. html: There are also arguments pro xhtml beyond the more strict validation (which is really useful, that awful implicit close still exists in html5 -a real shame- if you ask me)
Let's keep that and the arguments against xhtml in the html forum.
The link pro is here: [webmasterworld.com...]
Back on the original topic:
Some search engines (the one that's most important even: Googlebot) does download CSS every so often. I've no idea what they do with it, but they grab a copy every so often.
I've on my biggest site 3 downloads in the current month from 3 different Google owned IP addresses with a Googlebot UA ...
I'm not privy to what they do with it, but they sure keep downloading it.
I suppose for the time being until I get a firmer grasp to the relation of html, css, and seo, I will treat the css vs seo aspect singularly.
I will continue to focus on clean code and more relevant seo standards leaving the css strictly for style as it is intended.
I have heard of bot picking through the css files, but like many, I have an incomplete or rather non-existent understanding of what goes on when the bots grab this information.
I guess in the long run after all these great replies the fact remains that when it comes to css, there really is not much relevant weight in seo terms to be lost or gained.
At any point, this has been a fun discussion and read for me.
I'm one who firmly believes that lean, clean code is positive for SEO.
Something else to consider is that pages with efficient code will load faster and that will be good for the user experience. That's a good thing for its own sake, but it will also have indirect SEO benefits, as happy users are more likely to tell friends about the site, mention it on their blogs, and so on.
|For example, assume that you are "listening" to the page rather than viewing it. |
Popular screen readers like Jaws and Windows Eyes do not by default announce b, i, strong or em, and it's not possible to configure different pitch or volume for these elements either.
Jaws users can find by font attributes (eg finding bold text, like a sighted user visually scanning the page) but IIRC it treats b, strong and em as "bold" text...!
I think it's dangerous to assume SEs simply ignore CSS. Think hidden text; I'm pretty darn sure google would quickly find out about your <div style="display:none;>Viagra viagra viagra etc.</div>. I don't see why SEs would not be able to parse the markup of a page much like a browser does, potentially adding some semantical weight to words in bold etc.
I'm with SuzyUK on the XHTML vs HTML issue. For quite awhile I played the XHTML game, then did some reading.
It finally seemed silly to code things such as disabled="disabled" - code bloat. So, for all my sites. I ran quickly through BBEdit and globally converted back to HTML 4.01 strict. I'm with her and some of the other writers I've seen: XHTML is way overboard, and a dead path.
I agree with SuzyUK about b and i, too. While "italic" may not have a strictly "semantic" meaning, I think "bold" is a double-edged sword of sorts. It means, not only, bold thick print, but also, bold emphatic communication. B bold!
While I agree divitis is dangerous, a little div'ing is a good thing, of course... I've prepared for html5 with a few things like divs with ids like article, aside, header, footer, and the like. And I also like Andy Clarke's advice, using CSS3 features for excitement, so long as their lack of support on some browsers doesn't make the page fail.
As for SEO, I follow the sage advice of webmasterworld. I found a few of Brett's tricks in a book, that worked for one of my clients quite nicely this year. The client was very pleased.
And, doofus that I am, for another client, I finally got it through my thick head the benefit of STRICT html with external CSS. One client, within a two-week period, changed his mind 3 times about the skin: new version, old version, nope, new version again. (I just renamed the CSS.)
Johnnie is correct - Google does not entirely ignore CSS.
If you have a hidden div, chock full of keywords, you can bet that Google is algorithmically detecting this.
While attending SMX East this fall, I heard Maile Ohye of Google's Webmaster Tools team state that Google looks out for simple hidden text exploits such as hidden layers in CSS.
ALSO, for sites where the content is hidden temporarily until a visitor clicks to make it appear or expand it open, Google may discount the importance of that content. They are operating under the belief that content which is hidden from an enduser may make less impression upon them when they arrive on the page and may be less important that content that is more immediately visible.
So, it appears that they may algorithmically detect if content is permanently hidden vs content which is merely not displayed until a user interaction displays it.
|For example, assume that you are "listening" to the page rather than viewing it. What does <b> mean? It means "bold". Ok, so what does that mean semantically when that section gets read? Absolutely nothing. "Bold" describes presentation, not content. On the other hand, if it was marked up with <strong>, that has semantic meaning, which can be interpreted to be audibly different than the surrounding text. The same holds true with regards to <i> and <em>. <i> meaning "italicized" has no semantic value, but <em> has a semantic meaning of "emphasis". |
From my perspective it's the use of a language defines the semantics.
People use the <b> tag to mean text that stands out from other text. This text is louder so it certainly qualifies under your "listening" test.
This has been the consensus interpretation of bold text for 100's of years. People have always "heard" it louder.
Whereas <strong> is a well meaning attempt to create a semantic tag that never caught on. It now universally means <b> to every browser because that is what people already semantically understood strong emphasis to mean.
<strong> is an alias for <b> that uses almost 3 times the bytes.
Well, two more cents. :-P If you understand XHTML, what it was intended for, where it was supposed to go,
<p><movie>The Titanic</movie> was a movie about a passenger ship named <shipname>The Titanic</shipname> of <adverb>titanic</adverb> proportions.</p>
You will tend to prefer<em> and <strong> over <i> and <b>. The whole point of semantics is to make the document smarter by providing textual context clues to machines who cannot understand context, and i and b don't contribute to anything but the visual.
|The whole point of semantics is to make the document smarter by providing textual context clues to machines who cannot understand context, and i and b don't contribute to anything but the visual. |
Right so search engines and other online applications don't consider <b> and <i> tags to be emphasis, they just issume it's purely visual information and ignore it.
Got it :-)
Consider the tone in the following examples:
– Serving XHTML as text/html is completely pointless.
– Serving XHTML as text/html is completely pointless.
There is a difference, and it is subtle. I would argue that <strong> and <b> are semantically the same, <em> and <i> are not.
<em> is for emphasis, a font could be bolded, perhaps enlarged to represent shouting, coloured red for anger, coloured blue for cold et cetera. There are many ways in which you may need to emphasise type, and depending how you do it, it will have a different semantic meaning, and without downloading and analysing the style sheet a search engine would not be wise to make too many judgements regarding the relevance of an <em>emphasised</em> word or paragraph.
Since <b> and <strong> are purely a typographic emphasis, I would suggest that one of them be depreciated. (From a semantic stand point, strong should be the one to go, since bold is bold and the function of <strong> can be fulfilled with <em>)
<i> Represents italics, which is exactly what it should be used for. From Wikipedia:
- The titles of works that stand by themselves; well known publications, books, magazines and newspapers etc..
- Foreign words and latin phrases
- The names of ships
- Using a word as an example of a word rather than for its semantic content
- Introducing or defining terms
- Using a letter or number mentioned as itself
- Symbols for physical quantities and mathematical constants
§ With regards to the whole (x)html thing, I code using strict xhtml, and send it as
text/html. I like the well formedness that xml brings to html. I like to close my tags and I like to write lower case. I also like the little x too. I know it's wrong. I am also a little embarrassed when I serve it up as
text/html. I find the idea of content negotiation for the purpose of sending my mash as
application/xhtml+xml a little silly too. It's a mess, and a bad habit. I am looking forward to adopting HTML5 and moving on, until I do, I am going to have to stick with writing malformed HTML, it's not right – but it works ;p
|Right so search engines and other online applications don't consider <b> and <i> tags to be emphasis, they just issume it's purely visual information and ignore it. |
"For the most part don't worry about it [..] Google does treat bold and strong with exactly the same weight [..] em and italic are treated exactly the same as well" - Matt Cutts
You seem to misunderstand what Matt is saying there. He is saying that <b> and <strong> are considered the same. The are BOTH seen to convey information beyond presentation in exactly the same way.
The <b> tag is considered to provide semantic information. It always has been, probably always will be. This is because the actual users of HTML define it's semantics, just like any other language.
Sorry Ian, didn't realise you were being sarcastic in your previous post :)
I did. :-) But that was not what I was trying to say. Semantics are more about a philosophy than how devices read our pages, that's all.
It's all good.
About the only thing I'm cautions with, where CSS is concerned, is I don't use an image as a background title loaded via CSS if the image alt tag via HTML will help rank for a targeted keyword. Alt tags don't affect the algo that much but every little bit helps sometimes.
|About the only thing I'm cautions with, where CSS is concerned, is I don't use an image as a background title loaded via CSS if the image alt tag via HTML will help rank for a targeted keyword. Alt tags don't affect the algo that much but every little bit helps sometimes. |
You can use text replacement to offset any loss.
| This 48 message thread spans 2 pages: < < 48 ( 1  ) |