Forum Moderators: Robert Charlton & goodroi

Message Too Old, No Replies

Template header at the end of html - still worth doing?

         

bcc1234

4:54 am on Feb 1, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



For a long time, I designed all templates with headers in divs with position:absolute.

And the first following element being margined down by the height of the header.

Such approach allows you to present your "body" content at the top of the html page.

It seems like a good idea because doing so places the repeating navigational links, site name, and other repeatable stuff at the very end of the html page.

The only downside is a small flicker a uses sees when navigating the site. The top (header) can't be displayed until the whole page is loaded.

In the past, this trade-off seemed to be worth it. But now, I think all search engines are smart enough and there is probably not going to be any difference in rankings.

I want to change one of my sites (large and established) and move the header's content to the top of the html page.

Has anyone done this? Did you notice any negative effects on rankings?

tedster

6:48 am on Feb 1, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



It's been a few years since the major search engines all introduced some kind of visual page segmenting to analyze the different sections separately. The old days of "top of the code means more important" seemed to be numbered. And from what I've seen in the past two years, the "source-ordered content" approach has lost its clout. How else could it be that backlinks in the content area are apparently more valuable than elsewhere on the page?

I wouldn't bother changing any legacy pages - Google has been known to react negatively to that kind of thing on occasion. But I no longer use that kind of coding automatically for new pages, and I haven't seen any problems.

There are times where content-at-the-top gives a better user experience, especially for those on slow connections, so it's still there in my bag of tricks. It just doesn't seem to make the ranking difference that it used to.

bcc1234

6:57 am on Feb 1, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



There are times where content-at-the-top gives a better user experience

In my case, it's the opposite. There is a noticeable lag between the moment the body content starts to appear and the moment when the header component is loaded.
So I'm thinking more and more about changing it.

Google has been known to react negatively to that kind of thing on occasion.

That's what worries me. I have around 130k urls indexed on that site. So if all of them change at once, G might think something fishy is going on.
And gradually changing it would take too much work which would be really prone to error.

tedster

8:58 am on Feb 1, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Maybe you could first change just one page that you feel could perform better. See how that goes. Then grab a group that also might do better and see how that goes. Then you've got some information to base a decision about whether to change them all or not.

TheMadScientist

11:41 pm on Feb 3, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I don't know if I would start that way any more, but if I was stuck with it and didn't want to make a change to the load order, then I would probably look at caching and page load speed... EG If you have images on the page and load those (or some) from the CSS (or a subdomain) rather than the HTML you may be able to display the HTML and header faster than by loading them inline as part of the HTML or from the same domain name.

I actually don't know which is faster, because when I'm designing a new site or 'gearing for speed' I usually test and re-test each site individually to see where I get the best performance... Sometimes I'll move a couple of larger images to load from somewhere else and leave the smaller ones in the HTML because it works better for a specific site, and other times I'll move them all to the BG via CSS.

If you don't want to change the load order, then I would work with caching and graphic loading to see if you can get more speed through the actual HTML so you don't get the flicker... If you use the same graphics repeatedly make sure they can be cached by the browser, so you might be able to get to a 'flicker' on an initial load which disappears on subsequent views because there's no need to load the main graphics on the page again.

There's all different ways to speed up load time (or perceived load time) with caching and loading from different locations, so I'd consider playing with those before changing the load order of the page drastically.

graeme_p

9:16 am on Feb 4, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



There are times where content-at-the-top gives a better user experience, especially for those on slow connections, so it's still there in my bag of tricks.


Especially if you have slow loading elements on your page - however these are unlikely to be in the header.

bcc1234

2:15 pm on Feb 5, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



My slowest loading elements are Adsense blocks.

And since the header data is located below them inside the html, the header gets renedered only once the ads are rendered.

In any case, I think I'm going to change it on all pages, but not now. I just noticed that G added sitelinks to my listing, so I don't want to do anything to upset it :)

Thanks everyone for your feedback.

Bewenched

10:35 pm on Feb 9, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I still do mine the old way, one reason is that when someone views the page with an iphone they get the meat of the page and dont have to scroll past everything again.

TheMadScientist

2:42 am on Feb 10, 2010 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



My slowest loading elements are Adsense blocks.


I'd think about absolute positioning (or z-index) a bit creatively here and test a bit myself. If you set a blank div (or start your content div down N pix to accommodate the ads) you should be able to start loading the content div right away and nest the ads within that div so the terms can still be accurately matched and determined while displaying them at the top of the page. It might be a way to get them to load earlier than the bottom and get away from the flicker...

Edited: Re-read the OP rather than the later comments. LOL.