This site makes extensive use of JavaScript.
Please enable JavaScript in your browser.
Live
PTR
10.2.7
PTR
10.2.6
Beta
[Fixed - Clarifying] Please optimise the site. At least enable compression for assets...
Post Reply
Return to board index
Post by
KodiackOfThrall
Wowhead's main page is ridiculously bloated at the moment. The PageSpeed Insights score is downright awful:
https://developers.google.com/speed/pagespeed/insights/?url=wowhead.com
This is bar none the worst score I have ever seen, and it's the worst score I've ever seen by a country mile. Enabling simple server-side compression alone could save a whopping
1.3 MiB
. On mobile data plans, that's HUGE!
Likewise, the PageSpeed and YSlow scores on GTMetrix are abysmal:
https://gtmetrix.com/reports/wowhead.com/dKf97Rzw
Nearly 16-second load times, with a
5.16 MiB total page size
and
722 requests
. What?
There's so much low-hanging fruit there. Enable some sort of compression first and foremost. That alone will drop the amount of data that the main page needs by roughly 25%.
Similarly, minify your CSS, JavaScript, and HTML. If you're behind any sort of semi-decent CDN, they can probably take care of this for you without any additional intervention on your end. That takes the load off of your servers, even. It's a win-win. The gains would be relatively small, but still tangible - especially for mobile users or people on capped plans, again.
Set some cache headers on non-expiring assets too. This is again something that an established CDN service can likely do for you automatically, if you would rather not tweak your web server configuration.
Just please, get this sorted. Wowhead used to be a really lightweight, simple, enjoyable site to use. But now it's the bloated site I use on a near-daily basis, and it should be trivially simple to fix. The lowest-hanging fruit could be resolved well within an hour.
Best of luck.
Post by
Erorus
First, remember we can't really do anything about the server configs of our ad networks. So I'll just skip looking at those.
Pages served from wowhead.com appear to be gzip compressed for me, when requested with the appropriate headers. Please tell us a specific URL that isn't and I can take a look.
wow.zamimg.com is our CDN for most of our static assets (JS, CSS, images), and I agree, it's weird that it doesn't seem to use gzip compression. I'll ping the appropriate folks on our end about that.
We already minify CSS and JS. Please tell us a specific URL that isn't and I can take a look.
CSS, JS, and images already have cache headers on them from the CDN. They have expiration dates in the future (some longer than others, depending on what it is), and ETags to facilitate 304 Not Modified responses. Please tell us a specific URL that doesn't have cache headers and I can take a look.
TL;DR
: The CDN should gzip CSS/JS and it isn't, and I'll ask about that. We can't do anything about ad networks' servers. Everything else looks fine to me. Give specific URLs that you think need attention.
Post by
Erorus
The CDN should now gzip CSS/JS. Thanks for letting us know about that.
Post by
KodiackOfThrall
The CDN should now gzip CSS/JS. Thanks for letting us know about that.
Awesome, that's made a huge dent in page size alone. There's still some assets with really short cache expiry headers, though.
The most egregious offenders appear to be from the advertisements. The ads seem to load a
lot
of JavaScript, and also have some nasty redirect chains and assets with very short expiry headers.
For reference, the latest GTMetrix test I ran shows this:
https://gtmetrix.com/reports/wowhead.com/70V8l134
Total page size has dropped a good ~15%, but there's still a huge amount of room for improvement. Their page load time is also pegged as 17.5 seconds, which is an astonishingly long amount of time. When I'm blocking ads, I'm able to load the main page with nothing in cache in ~1500 ms. That's more than a whole order of magnitude speed improvement simply from activating an extension.
I'd recommend checking out the "Leverage browser caching" section for the PageSpeed test in particular, assuming the wow.zimimg.com-served stuff can be handled at all by you guys. :) There are several assets there with short expiry times (2 hours or less). I'm not sure if this is necessary for any of the JavaScript, but if it is, there's better ways to invalidate the cache than to rely on relatively short expiry. Here's a sample of some of the other non-advertisement assets with rather short expires headers:
http://wow.zamimg.com/js/basic.js
http://wow.zamimg.com/css/basic.css
http://wow.zamimg.com/css/wowhead.css
Fresh loads of the assets can be quite slow too. I've had it take 5-7+ seconds to load individual assets when accessing them directly. Pair that with short-lived cache headers and that's a lot of extra strain on your infrastructure.
Having thumbnails for news pages would be really useful too. I have some friends on capped data plans that avoid Wowhead entirely or block almost everything on the main page because the huge loads chew through data at a crazy fast rate. There aren't any particularly bad offenders up at the moment, but as an example there's this image:
http://wow.zamimg.com/uploads/screenshots/normal/574690.jpg
It has a natural size of 1700x655, but is scaled down to only 700x250 even when using the maximum-sized viewport.
Pingdom is another tool that can be useful for finding site bottlenecks:
https://tools.pingdom.com/
The waterfall shows that a massive amount of time is spent doing DNS lookups because of all of the separate domains. Again, a lot of this appears to be from the advertisement service in use - and there seem to be a lot of redirects, so if this were done efficiently there would be a lot of time saved. Here's a screenshot of the waterfall for reference:
http://i.imgur.com/ZVd6kNj.png
Alas, the Pingdom tests for Wowhead don't seem to finish at all. I've never seen this happen to a site before. It hits nearly 1,000 requests, and then just kinda dies.
Still seeing some huge improvements with the gzip compression, though. Hope to see more improvements in the pipeline! :)
Post by
Nulgar
Reached my mobile data limit this morning, so now I'm at less-than-ISDN speed while "on the road", that usually meant that Wowhead pages would often not finish loading, now it seems they at least load sometimes :) Not sure if that's related to the cdn change, but thanks anyway :)
edit
doesn't finish loading again :(
Post by
Erorus
The most egregious offenders appear to be from the advertisements. The ads seem to load a
lot
of JavaScript, and also have some nasty redirect chains and assets with very short expiry headers.
...
When I'm blocking ads, I'm able to load the main page with nothing in cache in ~1500 ms. That's more than a whole order of magnitude speed improvement simply from activating an extension.
...
The waterfall shows that a massive amount of time is spent doing DNS lookups because of all of the separate domains. Again, a lot of this appears to be from the advertisement service in use - and there seem to be a lot of redirects, so if this were done efficiently there would be a lot of time saved.
Agreed, ad servers' performance is poor. We can't do anything about it. Their server config and coding practices are not under our control. I recommend becoming a
Wowhead Patron
for the best ad-free Wowhead experience.
I'd recommend checking out the "Leverage browser caching" section for the PageSpeed test in particular, assuming the wow.zimimg.com-served stuff can be handled at all by you guys. :) There are several assets there with short expiry times (2 hours or less). I'm not sure if this is necessary for any of the JavaScript, but if it is, there's better ways to invalidate the cache than to rely on relatively short expiry. Here's a sample of some of the other non-advertisement assets with rather short expires headers:
http://wow.zamimg.com/js/basic.js
http://wow.zamimg.com/css/basic.css
http://wow.zamimg.com/css/wowhead.css
Yeah, wow.zamimg.com is ours. We don't rely on short expiration times to invalidate old versions; we use a last-updated timestamp in the querystring (or a version identifier for some of our data URLs) instead. I'm not sure why the expiration times are so short. Probably just a safe default.
It doesn't matter too much anyway. Even after the expiration date passes, browsers with a warm cache would use an "If-None-Match" header with the ETag in their request, and receive a 304 Not Modified with a new expiration date in the response, so there's no re-downloading of cached code (just a quick HTTP request).
Having thumbnails for news pages would be really useful too. I have some friends on capped data plans that avoid Wowhead entirely or block almost everything on the main page because the huge loads chew through data at a crazy fast rate. There aren't any particularly bad offenders up at the moment, but as an example there's this image:
http://wow.zamimg.com/uploads/screenshots/normal/574690.jpg
It has a natural size of 1700x655, but is scaled down to only 700x250 even when using the maximum-sized viewport.
Yes, this is an issue. We bring this up with our content team every few months, and they use thumbnails for a while, and then they stop bothering. We may need to use technical means to auto-resize images they embed in news posts if they won't do it manually.
Post by
Farmbuyer
I recommend becoming a
Wowhead Patron
for the best ad-free Wowhead experience.
I'm a patron, and coming to this site is always a tradeoff for me. How much do I really feel like downloading what feels like half the planet over my crappy connection? How long am I willing to wait for pages to finish?
I'd be willing to do a paid subscription to a much lighter-weight site. No animated body models (no matter how many times I click "hide" the damn things come back like CPU herpes), no on-mouseover-popup menus, no social media junk. Dunno if it's worth the development time, but there's at least
some
interest in a "primarily search the database" site.
Post by
perculia
We do have a
Database homepage/site map
set up which is a plainer format. It's at wowhead.com/database or accessible if you click on 'database' on the navigation menu.
Can you give examples of what you mean by mouseover menus and social media info? The navigation menus that open on mouseover have been around on the site forever and the 'po.st' social media option on every article
was
a bit annoying for social media shares but it was disabled a while back.
Post by
Farmbuyer
We do have a
Database homepage/site map
set up which is a plainer format. It's at wowhead.com/database or accessible if you click on 'database' on the navigation menu.
Good to know, thank you.
Can you give examples of what you mean by mouseover menus and social media info? The navigation menus that open on mouseover have been around on the site forever
Yeah, and they've been annoying as hell forever. I see something I want to click on and start to move the mouse in that direction, but whoops! it's passing over some menu trigger, and now they're unfolding in every direction, blocking what I was originally trying to get to.
If I were better at greasemonkey scripts, I'd try rewriting them on the fly to require a click instead of just "mouse enter".
and the 'po.st' social media option on every article
was
a bit annoying for social media shares but it was disabled a while back.
Good call. I still see a row of twitter/reddit/etc icons on every page, but I guess copying the URL for pasting elsewhere may be just too difficult for some of the userbase.
Post by
perculia
Jerek and I are actually discussing ways to revamp the navigation menu now because it's not very effective at generating clicks. We've been running some tests by putting navigation menu links in the weekly announcement bar and comparing what generates traffic. When the announcement bar is disabled, traffic sharply decreases to the related content, even though it's still linked on the navigation bar. So we definitely have some work to do and we'll keep the feedback in mind as we work on revamping it.
Post Reply
You are not logged in. Please
log in
to post a reply or
register
if you don't already have an account.