Hi guys i am working on my site - www. jobswithlanguage .com but i am being told that the site has gone very slow for some visitors.. I am new with this so will appreciate any pointers about what i may have been doing wrong.. thanks my beloved gurus
Question should more likely be what are you doing right... on surface inspection you have 1.9 megabytes of data in some 40 or so files -- it's hard to get an accurate report due to the 230 validation errors meaning it's not even HTML, it's gibberish; decoding that gibberish ALONE could be dragging performance in some browsers to their knees -- combine that with the ridiculous number of files and absurdly large images (like the 893k background) and it's not exactly surprising it's slow... But it gets worse when you look at all the endless pointless javascript for NOTHING. This is a stellar example of what I mean by jquery pissing all over a website -- especially with nonsense like the ShowSector/ShowLocation/ShowLanguage crap that at MOST should be setting a class on a common parent element instead of blowing 3k of jquery BS on doing CSS' job. I swear I meet in person some of the alleged "experts" out there who actually think jquery has an actual purpose other than destroying websites, they're getting my boot so far up their backside it'll take a orthodontist to remove it. It's a sleazy shortcut at best, idiotic pointless bloat for adding crap that shouldn't even be on websites in the first damned place at worst! Peeking under the hood at the gibberish markup, there's 85k of it to deliver not even 5k of plaintext and a handful of visible form elements -- the page does NOT gracefully degrade javascript off, CSS off or images off -- and was quite obviously written without anything resembling semantic markup or a content first attitude. The endless pointless DIV, endless pointless classes and ID's, tranny doctype basically proclaiming to anyone who looks that the code is in transition from 1997 to 1998 coding practices, static style inlined in the markup, empty LI doing background-image's job, clearing DIV like it's still 2003, inaccessible poorly written forms, stupid javascript tricks that have no business on a website in the first place, rubbish off the shelf nonsense like that stupid 'ticker' script, tables for layout, and host of other under the hood coding issues that to be brutally frank, makes it appear the site was slapped together any old way following REALLY bad advice. ... and that's before we talk about the accessibility train wreck it is in regards to fixed metric (px) fonts on everything, fixed width that's too big for my netbook but too small for my desktop, fragile layout that breaks when zoomed (and with the crappy fonts on desktop I'm zooming at least 150% to make it legible), illegible color contrasts in the footer area, link overload (there is NO legitimate reason for 111 anchors on that page), and host of other accessibility/usability issues. My advice is to throw it out and start over, as from a usability, maintainability, and accessibility standpoint it's a complete useless mess. You've got almost two megabytes doing 70 to 140k's job... so it's literally 15 to twenty times the bandwidth used to deliver that content. Get some semantic markup in there, get anything that's style the **** out of the markup, and learn that javascript is NOT the correct answer to every problem.
valid points and well made... But not in a position to throw the baby out with the bathwater. is it really that unrepairable?
If recoding the site isn't a possibility then try using gzip compression. Or offload images to a CDN.
thanks for the comments. I am looking in to CDN as we speak. However, the images live now were only to see how the concept looks. they will be dumbed down to 7 -9% of the current size.. I will also look in to gzip compression. However a bit lost about how to tackle the excess java, errors in html and css..
well, reducing the image sizes and swinging an axe at certain bits could speed it up greatly -- that background image for example could simply be removed, and that ALONE would reduce the page size 50%. Switching a lot of the images from alpha transparency to 'close enough AA' in a palettized 8 bit image could also get the image filesizes under control, this would speed loading time a lot. Image recombination techniques along with combining together a lot of the scripts into single files would reduce the number of handshakes, also speeding the page loads. But for the most part that's duck tape, chewing gum and bailing wire fixes. The page was built using broken philosophy and has accessibility issues because of it. To fix those issues it may in fact be faster to start over from scratch than it would be to even try to save what's there. This is particularly true of the "gee ain't it neat" javascripted nonsense, which would require a redesign and a rethink of the navigation to implement in a manner that would work for people without javascript or who intentionally block it because they don't trust it... much less that your total scripts all by themselves are twice the size in bytes I generally allow for HTML+CSS+IMAGES+SCRIPTS on a page. This is particularly true if you start thinking about having dynamic layout for handhelds, larger screens, and people who have their computers set for higher default font sizes (like say... folks on Apple retina displays or people like me who run Windows "Large fonts/120dpi/125%"). We have these new things called media queries, allowing us to change layouts on the fly to best fit devices of different sizes -- what you have right now is too big for my netbook and too small for my workstation -- so some work is definitely warranted in that department.
@deathshadow as i ma sure you have guessed by now that the site was built on an off the shelf template. Which I appreciate is from the decade past. But as a free and charitable venture the price point could not be ignored. However, i have been advised that a new version of the same platform has been released and being beta tested. It is due to be released to us in July. I hope most of the issues will be resolved with that. If not, i WILL cross that bridge when i am there. But, thanks again for the tough love. Much appreciated.