Keeping up to pageSpeed

Status
Not open for further replies.

amplify

DNForum Moderator
DNF Staff
Joined
Sep 15, 2009
Messages
3,412
Reaction score
1,154
Feedback: 68 / 0 / 0
Keeping up with the changes to Google's search algorithm can have a significant impact on the ranking of your website. It is true that content is king, but you must also tell Google which part of that content is the best in order to rank high for it (as many of us already know, also .com is king ;)- though I did rank an exact low competition .info to #2 with these methods :approve:).

I stumbled across PageSpeed; another small ranking factor out of the 200+ that they have, and did everything from compressing images, minifying CSS, HTML and JavaScript as well as all the little nitpicking that they did to run my own tests.

My initial speed was on average 73 for desktop. After doing this all of these suggestions below, I got up to 86. I still had one more suggested fix to do and that was to inline above the fold CSS and render the rest in the footer of the document. Although this method doesn't pass W3 validator, it did the magic. It brought my test website from 86 to 95- there is nothing else that I can do because Google suggests me minifying THEIR AdSense code.

Even though I inlined the important CSS, I still haven’t cross-referenced it with my CSS file and remove the duplicate entries as I haven’t found a method to do that yet (still playing around with a couple of *nix commands and if that doesn't work, I’ll do it manually by unminifying). Hopefully, removing the duplicates will reduce the overall page size by a couple bytes and I achieve one additional point.

Below is the method of how I did it in Chrome:

First you press CTRL+SHIFT+I and you come up with a bar at the bottom of the screen, quite possibly showing you the elements and HTML of the page. Click the “Sources” tab from above. I don’t know of a shortcut key for showing the navigator, so if it doesn't come up automatically, click the little ‘play’ button under the tabs to the left. This will show all the sources that a website uses. Click on “Snippets” in that window, right click the white space and click “New”. Name it ‘anything-you-want.js’ and paste the below code that I got off of Github into the box:

Code:
(function() { 
  var CSSCriticalPath = function(w, d, opts) {
    var opt = opts || {};
    var css = {};
    var pushCSS = function(r) {
      if(!!css[r.selectorText] === false) css[r.selectorText] = {};
      var styles = r.style.cssText.split(/;(?![A-Za-z0-9])/);
      for(var i = 0; i < styles.length; i++) {
        if(!!styles[i] === false) continue;
        var pair = styles[i].split(": ");
        pair[0] = pair[0].trim(); 
        pair[1] = pair[1].trim();
        css[r.selectorText][pair[0]] = pair[1];
      }
    };
    
    var parseTree = function() { 
      // Get a list of all the elements in the view.
      var height = w.innerHeight;
      var walker = d.createTreeWalker(d, NodeFilter.SHOW_ELEMENT, function(node) { return NodeFilter.FILTER_ACCEPT; }, true);
  
      while(walker.nextNode()) {
        var node = walker.currentNode;
        var rect = node.getBoundingClientRect();
        if(rect.top < height || opt.scanFullPage) {
          var rules = w.getMatchedCSSRules(node);
          if(!!rules) {
            for(var r = 0; r < rules.length; r++) {
              pushCSS(rules[r]); 
            }
          }
        } 
      }
    };
   
    this.generateCSS = function() {
      var finalCSS = "";
      for(var k in css) {
        finalCSS += k + " { ";
        for(var j in css[k]) {
          finalCSS += j + ": " + css[k][j] + "; ";
        }
        finalCSS += "}\n";
      }
      
      return finalCSS;
    };
    
    parseTree();
  };




  var cp = new CSSCriticalPath(window, document);
  var css = cp.generateCSS();
  
  console.log(css);
})();


Next step is to press CTRL+ENTER. Out will come the above the fold CSS. I did this on DNForum's index (PageSpeed Mobile: 46, Desktop: 58) as I saw it was suggested by Google here, the results I got are minified below:

Code:
html{color:#000;background-color:#e0e2e7;background-position:0 0;background-repeat:repeat no-repeat;background-image:url(https://www.dnforum.com/images/dnforum/header/bg.png)}blockquote,body,button,code,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}body{font-style:normal;font-variant:normal;font-weight:400;font-size:13px;line-height:1.23;width:auto;min-width:650px;margin:0;color:#3e3e3e}body,legend{font-family:Verdana,Tahoma,Calibri,Arial,Geneva,sans-serif}#footer,#header,#subhead{min-width:1160px}#header{background-image:url(https://www.dnforum.com/images/dnforum/header/header.png);background-color:#1a253c;height:138px;position:relative;background-position:0 50%;background-repeat:repeat no-repeat}#header .right{background-image:url(https://www.dnforum.com/images/dnforum/header/header-right.png);right:0;background-position:100% 0;background-repeat:no-repeat no-repeat}.container{margin:0 55px;min-width:1050px}body a{color:#32488f;text-decoration:none}fieldset,img{border:0}#subhead{height:105px;margin-top:-20px;margin-bottom:14px}#subhead .container{background-image:url(https://www.dnforum.com/images/dnforum/header/nav.png);position:relative;z-index:2;background-position:50% 0;background-repeat:no-repeat no-repeat}#subhead .left,#subhead .right{display:block;height:113px;width:307px;position:absolute;top:0}#subhead .left{background-image:url(https://www.dnforum.com/images/dnforum/header/nav-left.png);left:-30px;background-position:0 0;background-repeat:no-repeat no-repeat}#subhead .right{background-image:url(https://www.dnforum.com/images/dnforum/header/nav-right.png);right:-30px;background-position:100% 0;background-repeat:no-repeat no-repeat}#subhead .right2{background-image:url(https://www.dnforum.com/images/dnforum/header/nav-right-2.png);background-position:100% 0;background-repeat:no-repeat no-repeat}#nav{height:66px}#nav ul{float:left;margin-left:17px;margin-top:13px;position:relative}li{list-style:none}#nav li{background-image:url(https://www.dnforum.com/images/dnforum/header/navlink.gif);float:left;height:53px;margin-right:4px;padding-right:10px;background-position:100% 20px;background-repeat:no-repeat no-repeat}#nav a{color:#fff;display:block;float:left;font-style:normal;font-variant:normal;font-weight:400;font-size:16px;line-height:41px;font-family:Arial;height:53px;text-shadow:#08090b 1px 1px 0}#nav a span{display:block;float:left;height:41px;padding:0 15px;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:7px;border-bottom-left-radius:7px}#nav li.last{background-image:none;background-position:initial initial;background-repeat:initial initial}#dn-search{background-image:url(https://www.dnforum.com/images/dnforum/header/search.gif);float:right;height:39px;margin:9px 9px 0 0;padding:8px 0 0 11px;position:relative;width:280px;background-position:50% 50%;background-repeat:no-repeat no-repeat}#dn-search .input{background-image:url(https://www.dnforum.com/images/dnforum/header/searchinput.gif);background-color:#fff;display:block;float:left;height:31px;padding-left:28px;width:203px;background-position:0 0;background-repeat:no-repeat no-repeat}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit}button,input,select,textarea{font-style:normal;font-variant:normal;font-weight:400;font-size:99%;line-height:normal;font-family:Tahoma,Calibri,Verdana,Geneva,sans-serif}#dn-search .input input{background-image:none;border:0;color:#303030;font-style:normal;font-variant:normal;font-weight:400;font-size:12px;line-height:normal;font-family:Arial;padding:9px 9px 0;width:172px;background-position:initial initial;background-repeat:initial initial}#dn-search .go{background-image:url(https://www.dnforum.com/images/dnforum/header/searchgo.gif);border:0;cursor:pointer;float:left;height:25px;margin:3px 0 0 5px;text-indent:-9999px;text-transform:uppercase;width:36px;background-position:50% 50%;background-repeat:no-repeat no-repeat}#subhead .head-lower{background-image:url(https://www.dnforum.com/images/dnforum/header/subnav.png);background-color:#b0b5c1;height:39px;background-position:0 0;background-repeat:repeat no-repeat}#subnav{float:left;padding:11px 0 0 25px;position:relative}#subnav .navItem{background-image:url(https://www.dnforum.com/images/dnforum/header/bullet2.gif);display:inline;margin-right:10px;padding-right:20px;background-position:100% 50%;background-repeat:no-repeat no-repeat}#subnav .navLink{color:#000;font-size:11px}.popupmenu{position:relative}.popupmenu a.popupctrl{background-image:url(https://www.dnforum.com/images/dnforum/misc/black_downward_arrow.png);padding-right:15px;background-position:100% 50%;background-repeat:no-repeat no-repeat}.popupbody{font-style:normal;font-variant:normal;font-weight:400;font-size:11px;line-height:normal;font-family:Tahoma,Calibri,Verdana,Geneva,sans-serif;color:#3e3e3e;padding:2px;background-image:none;background-color:#e1e1e1;border:1px solid #e1e1e1;position:absolute;z-index:1000;top:1.5em;left:0;display:none;min-width:200px;background-position:initial initial;background-repeat:initial initial}.popupbody li{border-top-style:solid;border-top-width:1px;border-top-color:#e1e1e1}.popupbody>li:first-child{border-top-style:none}.popupbody li a,.popupbody li label{display:block;color:#3e3e3e;background-image:none;background-color:#fff;padding:6.235px 10px;text-decoration:none;text-align:left;white-space:nowrap;background-position:initial initial;background-repeat:initial initial}#subnav .navItem:last-child{background-image:none;background-position:initial initial;background-repeat:initial initial}#login{float:right;position:relative}#userLinks{padding:11px 25px 0 0}#login .userItem{display:inline;margin-left:12px}#login .userLink{color:#000;font-size:11px}.notifications{font-size:11px;color:#fff;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.notifications a{text-decoration:none}.notifications a.popupctrl:link,.notifications a.popupctrl:visited,.toplinks a:link,.toplinks a:visited{color:#fff;text-decoration:none}address,caption,cite,code,dfn,em,optgroup,strong,th,var{font-style:inherit;font-weight:inherit}.notifications .popupbody{color:#000;background-image:none;background-color:#fff;background-position:initial initial;background-repeat:initial initial}#lower{background-color:#fff;-webkit-box-shadow:#b6c2d8 0 0 20px;box-shadow:#b6c2d8 0 0 20px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-position:initial initial;background-repeat:initial initial}#lower .content-inner{padding:18px}#foursixeight{height:60px}#foursixeight .ad{float:left;width:50%}#foursixeight .inner{margin:0 auto;width:468px}.breadcrumb{margin-top:10px}.floatcontainer,.formcontrols .blockrow,dl.stats{display:block;font-weight:400}.breadcrumb .navbithome{float:left;padding:3.5px 0}.breadcrumb .navbit{float:left;background-image:url(https://www.dnforum.com/images/dnforum/misc/navbit-arrow-right.png);padding-right:10px;padding-left:3px;background-position:100% 50%;background-repeat:no-repeat no-repeat;padding-top:4px}.breadcrumb .lastnavbit>span,.breadcrumb .navbit>a{display:block;padding:2px 4px;float:left;background-color:transparent;border:1px solid transparent;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.breadcrumb .navbit a{text-decoration:none}.breadcrumb .navbit.lastnavbit{background-color:transparent;background-position:initial initial;background-repeat:initial initial}.breadcrumb .navbit.lastnavbit span{float:left;background-color:transparent;padding-right:10px;padding-left:3px;background-position:initial initial;background-repeat:initial initial}.breadcrumb hr{display:none}.popupbody li.formsubmit{text-align:right;padding:0;background-image:none;background-color:#e1e1e1;background-position:initial initial;background-repeat:initial initial}.pagination li.jumptopage{text-align:center}.popupbody li.formsubmit.jumptopage>label{display:inline;background-image:none;background-position:initial initial;background-repeat:initial initial}.button{padding:2px;font-weight:700;font-style:normal;font-variant:normal;font-size:11px;line-height:normal;font-family:Tahoma,Calibri,Verdana,Geneva,sans-serif;border:1px solid #e0e2e7;color:#424242;background-image:none;background-color:#f6f8fd;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;background-position:0 0;background-repeat:repeat no-repeat}.popupbody li.formsubmit input[type=button],.popupbody li.formsubmit input[type=reset],.popupbody li.formsubmit input[type=submit]{font-style:normal;font-variant:normal;font-weight:400;font-size:12px;line-height:normal;font-family:Tahoma,Calibri,Verdana,Geneva,sans-serif;padding:2px 2px 1px}.hidden{display:none!important}.pagination dt.label{display:none}.pagination span{display:block;float:left;clear:right}.pagination .elipsis,.pagination .separator{background-image:none;border:0;background-position:initial initial;background-repeat:initial initial}#footer div,#footer li{position:relative;z-index:101}

Inlining this in the header and putting the rest of the CSS in the footer explained by this Google PageSpeed FAQ would eliminate this error and bring the PageSpeed score up.

That is the most pesky one to solve (and if anyone here has a suggestion of removing duplicate CSS, please tell).

Here are some additional tips for those running Apache that will drastically improve your PageSpeed. Add them to the bottom of your .htaccess file.

Leverage browser caching:
Code:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

It would also behoove you to get a caching plugin if you're running WordPress to serve up static pages (unsure if the code above or similar code is added to your .htaccess with them).

Enable compression:
Code:
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
Header append Vary User-Agent env=!dont-vary

Optimize Images - Long and tedious task unless you are running a WordPress blog which this plugin will do for you in bulk. It's in beta and wouldn't run it if you had more than 20 images on shared hosting. If you happen to have a VPS or dedicated server, changing the maximum execution time for PHP would allow you to run it until it's complete. I prefer running a script from the command prompt in the background than this method though. I haven't tried executing the bulk script in the background, so I don't know if it would work (any takers?). Additionally, this may not solve the problem. Some images will not pass. For these, it's best to export them in Photoshop/GIMP with a higher compression ratio that looks good and seeing if they pass. If they don't pass the second time around, running it through Smush should do the final trick.

All-in-One Minifier - If you use this one, I would make a backup of your old HTML, CSS and JavaScript and run each code at a time, updating it and checking if it still functions correctly.

Minify CSS - I like this tool to minify CSS as it allows you advanced options of minifying, which still pass Google's rule. I have chosen the smallest and non-readable option for my sites.

As you fix all these issues, the server response time will reduce (0.83 seconds on DNF), increasing the overall PageSpeed figure too.

I'm not 100% done with everything as I've stripped my sites and made them Chrome-ready only (since they have more than half the market share), so I'd like to see your before/after results for PageSpeed and rankings or additional tips that I haven't posted. I'm in the process of supporting other browsers, but don't really see a point as Google is becoming the unseen monopoly for both products and organic traffic (a little from Bing, but most from Google).

It would be great if cPanel/WHM caught up with the times and made mod_pagespeed an RPM that you can install. Unfortunately, with the latest update there is no surefire way of installing this without it being signed. Having mod_pagespeed would save us all time as it does all of this for us. :)

By updating all these (probably along with adding content and time), I went from a 7.4 to 5.3 average ranking for the keywords that I'm targeting in 2 weeks.

Thanks,
David :)

Edit: If any of these tips helped you achieve even 1 more point in PageSpeed, smack that dog gon like button!
 
Last edited:

asfas

Level 5
Joined
Feb 26, 2013
Messages
300
Reaction score
80
Feedback: 17 / 0 / 0
Good advice, thanks David. I just wonder if having an overall faster hosting could be enough for higher rankings.
 

amplify

DNForum Moderator
DNF Staff
Joined
Sep 15, 2009
Messages
3,412
Reaction score
1,154
Feedback: 68 / 0 / 0
Good advice, thanks David. I just wonder if having an overall faster hosting could be enough for higher rankings.

Unfortunately with PageSpeed, that's not the case. I had a year old dedicated server and moved to a beefed up one a while ago. It did improve the read/write speeds with a RAID, which if I recall, only made a point difference.

The .info that I ranked to #2 included only these techniques and on shared hosting in Japan. The server response time is 4.6 seconds, but with all the rules fixed, it went from page 4 to #2 and a score of 45 to 67. The client is hesitant to go dedicated, which will push him into the 90s because he wants a server in Japan and wants to strictly deal in Japanese. I'm sure a dedicated server in Japan will improve the PS from .Co.jp (if they measure it by locale), but he runs a tourist site for China, Taiwan, Japan and all English speaking countries. Has the money for it and a dot com, etc. but business isn't conducted in such a manner here.

I think I did a guest blog on DomainGang about business here; in a satire, but true way. He may go with a $XXXXX "all in one (no domain)" package verses an XXXX domain, server in Europe and mirrored in US and a custom design for about 1/6th the price because so.

Edit: Yeah, I did: https://domaingang.com/domain-news/gaijin-san-domainer-japan-girls-com/ (Don't know if this is allowed in here).
 
Last edited:

katherine

Country hopper
Joined
Jul 9, 2005
Messages
8,428
Reaction score
1,290
Feedback: 65 / 0 / 0
While we are talking about optimization, ditch the .htaccess if you can, especially if you have several such files across multiple directories. Because they are loaded (and parsed) upon every browser request.
If you have a dedicated server, you can add the HTTP compression directives (DEFLATE) in httpd.conf. Then all HTML output css txt pdf etc will be served compressed to the clients that accept gziped content.
Maybe there are other Apache extensions loaded, that you don't need and that can be disabled.
 

amplify

DNForum Moderator
DNF Staff
Joined
Sep 15, 2009
Messages
3,412
Reaction score
1,154
Feedback: 68 / 0 / 0
While we are talking about optimization, ditch the .htaccess if you can, especially if you have several such files across multiple directories. Because they are loaded (and parsed) upon every browser request.
If you have a dedicated server, you can add the HTTP compression directives (DEFLATE) in httpd.conf. Then all HTML output css txt pdf etc will be served compressed to the clients that accept gziped content.
Maybe there are other Apache extensions loaded, that you don't need and that can be disabled.

Good point Katherine, and that's what I did. This is a mixture of beginner, intermediate and advanced tips- so I couldn't focus on one direction only with so many people starting at different development levels. Some have shared hosting, as to why I suggested those to be added to the .htaccess file. Most; who have a dedicated server, been around the block and would be able to do the httpd.conf and compile mod_pagespeed if they didn't want to go through these steps (managed or by self). Except those who have, will only run into an issue of installing mod_pagespeed on the newest build of cPanel/WHM build as it needs to be signed. Of course, there are tutorials of making a build around it, but I would feel a lot more comfortable with a signed RPM than trying to build it from scrap and integrate it as when (and hopefully do) they make mod_pagespeed signed, it may not take a total reinstall of Apache and adding mod_pagespeed to the mix. It's been suggested to the developers, but from the word I've been hearing floating around forums and the like, it's low priority at the moment.

Having it as a one-click RPM install or on cP/WHM builds by default, turn these into issues we would never have to worry about, even on shared hosting (if they aren't total morons). I think image optimization would be the only one that would have to be done manually (haven't read the documentation on it since I don't have it).

I'd like to see some before/after's of people who decided to go along with these methods (or edit their httpd.conf file) to see the huge PageSpeed difference they come up with (even though DNF doesn't at the moment, I'd like to see the major change of them doing it, though they don't have to because they already have their target market and it won't effect much). Also, I'd like to see @Biggie update Org4n1cW1n3C0mp4ny d07 c0m to see if he can achieve a 99 or even 100 since it was coded strictly in Notepad. I was amazed at seeing a 97 as it has 1 AdSense block and have only seen the highest of a 96 myself on another website. I think the only thing that he couldn't help is the AdSense block which is why it may never reach 100, but would be impressive.

I was shocked to see the .info with a 4.6 second delay without minifying HTML/CSS/JS as they are going to be doing a new design and didn't see the immediate point to it. I believe that this is a prime example of having a slow server, but still dishing out quality content that has some optimized images. They have 4600+ and I wasn't able to run the bulk Smush as the max timeout was 30 seconds so I ended up using the freeware IrfanView for the main images and kept the same format (didn't change GIF's and JPG's to PNG's for better quality as that wasn't a part of this consultation [paid] service to show them that I can do a better job than the previous company which charged low XXXXX), caching enabled and gzipping to achieve a 20+ point gain and a little promise of making at least the first page (went on a whim and they ended at #2). With the minification and inlining, I know I could provide a much higher PageSpeed. It'll be their second loss to another "SEO" company in the higher 5 figure range doing another sh*tty design and piss poor SEO. I give 'em another 6 months before they have to close. I competed at 1/6th to 1/7th the price with a better domain that would rank higher among higher competition keywords and 1/10th the monthly upkeep (as there would only be about 1.5 man hours a month to upkeep if anything came up). Japanese are so damn stubborn when it comes to business... rapport takes a lot more time to build than an elevator pitch.

I'm fairly certain it goes to show that the ~1% 'claimed' by Google in their search algorithm of PageSpeed with my shared hosting and dedicated hosting tests show that it carries much more weight to it than that with the drastic change in SERPs (need others to try to confirm my thesis).

Unfortunately for me, some sites are running Smarty engine, some WordPress and some vBulletin. So, there is no way of entirely getting rid of the .htaccess as I have more than one platform to have pretty URLs and they all slightly differ. I suppose it could be done site by site in httpd.conf, but that just increases the file size ...got me looking into that now. :)

@Katherine, I know that you have some (if not way more) *nix command line knowledge than me. Is there a solution of comparing the above the fold CSS to the original CSS, outputting the difference for the end of the document?
 
Last edited:

amplify

DNForum Moderator
DNF Staff
Joined
Sep 15, 2009
Messages
3,412
Reaction score
1,154
Feedback: 68 / 0 / 0
I found WP Minify (after a couple different plugins) to be the best and most simplistic plugin to use for all in one HTML/CSS/JS minification on WordPress. It has an advanced option to add JavaScript to the footer (plugin says that it's not recommended, but it works on the test subject as it's a pretty bare bone site). However, there are no options for CSS to be rendered this way and inlining above the fold CSS in wp_head(). This is my only error and adding this plugin boosted the site from an incredible ~45/~55 to 92/98.

I will update the theme to HTML5 so that I can tweak the plugin to output the cached CSS file in the bottom, inline CSS and see if it's possible for these points to go up to 100/100 (or if a 0.26 second delay is too much and it will never go to 100/100). Right now it's just WP Minify in conjunction with Quick Cache.

As of now it looks like the .htaccess file or httpd.conf is the best method for caching and compression and these two plugins alone for the rest (besides image optimization, only 5 had to be done and they passed through Smush without a problem). Too tired at the moment to see if these two plugins are redundant as both cache (unsure of what though). I'll keep you posted for those running WordPress with an HTML5 theme and how I modified the plugin to work if it does increase the PageSpeed score. SERPs will take a while to get on it though to see how heavy it weighed it by doubling PageSpeed points. :)
 

Shane

Account Terminated
Joined
Jul 6, 2012
Messages
1,720
Reaction score
354
Feedback: 38 / 0 / 0
I've fully compressed my images and I still get the 'optimize images' suggestion. Any thoughts?
 

amplify

DNForum Moderator
DNF Staff
Joined
Sep 15, 2009
Messages
3,412
Reaction score
1,154
Feedback: 68 / 0 / 0
Are they your images or someone else's? I kept getting dinged for Twitter and AdSense not caching theirs, so I found a custom CSS Tweet button that solved one problem and gained some points. If they are yours, best bet is to open them in Photoshop/GIMP and export them as web ready. If they still don't pass, run them by a second time in Smush.it. They should pass after that. I've never had to keep tweaking an image more than 3 times for it to work (Program->Export Again->Smush). Additionally, are they images that can be made with CSS? If so, use CSS instead.

PM me the URL and I'll see what's the issue.
 

Theo

Level 20
Joined
Feb 28, 2004
Messages
30,304
Reaction score
2,184
Feedback: 723 / 0 / 0
While we are talking about optimization, ditch the .htaccess if you can, especially if you have several such files across multiple directories. Because they are loaded (and parsed) upon every browser request.
If you have a dedicated server, you can add the HTTP compression directives (DEFLATE) in httpd.conf. Then all HTML output css txt pdf etc will be served compressed to the clients that accept gziped content.
Maybe there are other Apache extensions loaded, that you don't need and that can be disabled.

Useful guide here: https://www.brighterlamp.com/2010/10/how-to-enable-mod_deflate-on-apache-to-optimize-page-speed/

And use a CDN for heavy load sites. https://en.wikipedia.org/wiki/Content_delivery_network
 
Status
Not open for further replies.
Top Bottom