apache / incubator-pagespeed-mod

Apache module for rewriting web pages to reduce latency and bandwidth.
http://modpagespeed.com
Apache License 2.0
697 stars 158 forks source link

Intermittent CSS/JS corruption after rewriting #1044

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. The hoster has mod_pagespeed installed and enabled by default
2. the site get's intermittend broken
3. Debugging has shown that there seems to be some binary code inside the CSS 
and JS files
4. All settings are default I guess what means CSS/JS rewriting and combining 
is active.

What is the expected output?
- No corrupted CSS and JS files. 

What do you see instead?
- CSS code rewritten and combined with some binary/destroyed CSS code that 
breaks the site than as the file itself is invalid than.

What version of the product are you using (please check X-Mod-Pagespeed
header)?
1.9.32.3-4448

On what operating system?
Debian 6.x

Which version of Apache?
2.2.0

Which MPM?
Unknown

URL of broken page:
Random

Any idea what happens here and why this happens? Is this a known bug? The 
hoster is highly unwillingly to help and comments only the way - it runs for an 
extended time and there are no known issues. However I have proven that there 
are issues. I attached two sceenshots. one from Firefox firebug and one from 
chrome developer tools that show how the CSS files look like. I have seen the 
same with one single JS file added to page footer. One major issue is that this 
is intermittent and I cannot reproduce it. When it happens I have no idea how 
to debug. The CSS files are already combined and compressed by Drupal 7 when 
mod_pagespeed get the files.

As a workaround I have added this to the htaccess files of Drupal 7, but I 
think this bug should be fixed.

<IfModule pagespeed_module>
ModPagespeed off
</IfModule>

Hopeful you can share some details or just point me to a closed defect that 
fixed this bug already. So I can point the hoster to this case and tell him to 
upgrade the broken version installed on the server.

Original issue reported on code.google.com by marc....@gmx.net on 27 Jan 2015 at 11:21

Attachments:

GoogleCodeExporter commented 9 years ago
This is likely a character encoding issue.  Can you supply a URL to reproduce 
please?  If I type "random" as my URL I just get a 404 :)

  Also of interest would be the full response headers of:
    1. the HTML response headers without mod_pagespeed
    2. the HTML response headers with mod_pagespeed
    3-6 the CSS & JS response headers with & without mod_pagespeed

Original comment by jmara...@google.com on 28 Jan 2015 at 3:32

GoogleCodeExporter commented 9 years ago
The site is http://www.tibethunde-ktr.de/ and works without any issues 
normally. The issue happened to anonymous users on the frontpage.

The JS file that is added in footer was corrupted. This file has not changed 
for about 2-3 years or so.

This are the frontpage (html) headers without mod_pagespeed:

HTTP/1.1 200 OK
Date: Sat, 31 Jan 2015 22:03:08 GMT
Server: Apache/2.2.0 (Fedora)
X-Powered-By: PHP/5.3.3-7+squeeze23
X-Drupal-Cache: HIT
Etag: "1422734562-1"
Content-Language: de
X-Generator: Drupal 7 (http://drupal.org)
Link: <http://www.tibethunde-ktr.de/de>; rel="canonical"
X-UA-Compatible: IE=Edge,chrome=1
Cache-Control: public, max-age=43200
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Vary: Cookie,Accept-Encoding
Content-Encoding: gzip
Last-Modified: Sat, 31 Jan 2015 20:02:42 GMT
Keep-Alive: timeout=5, max=10
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8

and this the frontpage (html) with mod_pagespeed:

HTTP/1.1 200 OK
Date: Sat, 31 Jan 2015 22:04:55 GMT
Server: Apache/2.2.0 (Fedora)
X-Powered-By: PHP/5.3.3-7+squeeze23
X-Drupal-Cache: HIT
Etag: "1422734562-1"
Content-Language: de
X-Generator: Drupal 7 (http://drupal.org)
Link: <http://www.tibethunde-ktr.de/de>; rel="canonical"
X-UA-Compatible: IE=Edge,chrome=1
Cache-Control: public, max-age=43200
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Vary: Cookie,Accept-Encoding
X-Mod-Pagespeed: 1.9.32.3-4448
Content-Encoding: gzip
Cache-Control: max-age=0, no-cache
Content-Length: 12400
Keep-Alive: timeout=5, max=10
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

The hashed footer JS file name 
(sites/default/files/js/js_BSu0jYTi1hhxferiVdqvenYcV8QOHR-Bk6nTxZPRthc.js) is a 
temp copy of the original file (2012-01-05 23:56:54) and has a file date of 11. 
January. The site got broken on 25th and the issue disappeared for unknown 
reason. The headers of this JS file 
(js_BSu0jYTi1hhxferiVdqvenYcV8QOHR-Bk6nTxZPRthc.js) are:

HTTP/1.1 200 OK
Date: Sat, 31 Jan 2015 22:14:56 GMT
Server: Apache/2.2.0 (Fedora)
Last-Modified: Sun, 11 Jan 2015 16:38:04 GMT
ETag: "5060391-42d-50c630395c166"
Accept-Ranges: bytes
Content-Length: 1069
Cache-Control: max-age=1209600
Expires: Sat, 14 Feb 2015 22:14:56 GMT
Content-Encoding: gzip
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=8
Connection: Keep-Alive
Content-Type: text/javascript

and with mod_pagespeed it is made inline JS so it has no headers :-)

Please note that I'm currently not able to repro the situation by enabling 
mod_pageview. This is totally intermittent. The footer js and html code has for 
sure not changed since 2012-01-05 23:56:54. These JS file is UTF8 wihtout BOM.

One more thing that may come in mind is that Drupal is gzip'ing the CSS/JS 
files under the hood. The gzip is not done by Apache in this case. As I have no 
idea how to reproduce this issue - this is just one more guess about possible 
reasons. Just to make sure you have the full picture about this detail I'm 
posting the Drupal .htaccess file that shows you how the static GZIP JS file is 
send to the client.

  # Rules to correctly serve gzip compressed CSS and JS files.
  # Requires both mod_rewrite and mod_headers to be enabled.
  <IfModule mod_headers.c>
    # Serve gzip compressed CSS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.css $1\.css\.gz [QSA]

    # Serve gzip compressed JS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.js $1\.js\.gz [QSA]

    # Serve correct content types, and prevent mod_deflate double gzip.
    RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
    RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]

    <FilesMatch "(\.js\.gz|\.css\.gz)$">
      # Serve correct encoding type.
      Header set Content-Encoding gzip
      # Force proxies to cache gzipped & non-gzipped css/js files separately.
      Header append Vary Accept-Encoding
    </FilesMatch>
  </IfModule>
</IfModule>

That means if the client accept gzip the 
"js_BSu0jYTi1hhxferiVdqvenYcV8QOHR-Bk6nTxZPRthc.js.gz" GZ-file is send and if 
not "js_BSu0jYTi1hhxferiVdqvenYcV8QOHR-Bk6nTxZPRthc.js" is send.

Original comment by marc....@gmx.net on 31 Jan 2015 at 10:30

crowell commented 9 years ago

can anyone who has seen this issue provide the .js files that are getting combined? I'm trying to reproduce this on my end for debugging and haven't been successful yet.

alexhass commented 9 years ago

As the reporter of this bug - i can asure you I was able to repro with switching the rewriting on/off. But the issue is intermittent. It cannot reproduced all times. I habe no idea why and the fine that failed here has not changed for several years.

noise-cd commented 9 years ago

Hi, I can report we have the same intermittent problem on our server when we enable page speed mod on the sites. I will post the css and js the next time it happens. I am setting up demo sites and i am hoping it happens to one of these as opposed to a live site.

crowell commented 9 years ago

@noise-cd great. please let me know if you do end up with a reproducable situation.

noise-cd commented 9 years ago

Hi,

The problem occurred this morning on one or our live sites (i am still waiting for it to happen on a test site so i can provide a link). i have disabled the JavaScript combination on this site so it was only the css that seemed to have failed. Please find below an example is the html of the pages

in the broken version you can see it skips the combination of the css files

<link rel="stylesheet" href="/css/bootstrap.min.css,qc==0.131138134+plugins.css,qc==0.131138134+custom.css,qc==0.131138134.pagespeed.cc.jYgP1dy-aB.css"/>

This is strange as it has been working fine then suddenly i open the site and it seems to have corrupted without any site changes / updates being made

broken

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9]> <html class="no-js lt-ie10" lang="en"> <![endif]-->
<!--[if gt IE 9]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
<head>
<meta charset="UTF-8">
<!--[if ie]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
<meta name="description" content="Green Deal Energy Services What Green Deal improvements can we make for you and your home or business?">
<title>Green Deal Energy Services | Green Deal Assessment</title>
<meta name="format-detection" content="telephone=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABrVBMVEUAnT4AoEQAoUYAoUcAokcAokgAokkAokoAo0kAo0oAo0sApEsApEwApVAAplAAplEBplEBplICplICplMCp1ICp1MDp1IDp1MEp1MKpVIQq1sRqFoSqVsSqlsTqlwTq1wVql0YrmEarmIcrmEerGQgrmAhsGQns2spsmsps2sps2wttG8usm4xs3ExtXIztHMzuHQ0tHM1tHM3tnU4uXc6t3U8uno/uXlAun1AvH1BunhBun1BvX5DvYBFvYBGvoJHvYFIvoNIv4NKvYNKwIVLwIVMvYNMvoRMv4VNu4BNwIVOvoROv4VOwYdPvoZPv4dQvYJQv4ZQv4dQwolRv4dRwolSv4ZSwIlTwYhTwYpTw4pUv4lUwIlUw4xVw4tWv4hWwYtXwoxYwYxYwoxYxIxZwo5awo1bxY9bxpBdxI9dxpBdx5Bgw49jxZJlyJZnyJdpxZZtxplvxphxyJt6z6R9yJ5+y6F/0qiAzKWCz6aN1KyN1a6W2bek3b+l3sGm27+65M+85dDl8+vl9Ozn9O3o9O7s9vHw9/Py+PX6/fz7/fz8/fz+/v3+/v7///+EF8UhAAAA50lEQVQY003PO0oDURQG4P887txMDJOkENEQNF1sBLEQrQWX4D7FxgVYBTcQ4rMQGUIkCTJk7uPY+u3go37WIhAAwFwbWY3DRgwAQMk7Uw7H169iRaja9cnss1C/vVwsi8TxpRzVV/OepmJ+0wliev92236zKSGRVwnuvJbeMJEiHjzE5m6A1OTQMBS5u1nkBEDy0yFlNs7WhQHIbrKDsaT+xXDqARP5cCAlK6dnTqIKfcUCpoBBOe+2j6fVeC1Qo7AK6We29LyicRQaxNHRr2hnP9Rp8vzuqaLUqiECRLEUU8pu73//D6Xearirp+k+AAAAAElFTkSuQmCC"/>
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon-144x144-precomposed.png,qc=0.131138133.pagespeed.ic.GKADiDEe63.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon-114x114-precomposed.png,qc=0.131138133.pagespeed.ic.NTXxIgADMJ.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon-72x72-precomposed.png,qc=0.131138133.pagespeed.ic.RR1M0Yx18g.png">
<link rel="apple-touch-icon-precomposed" href="data:image/png;base64,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">
<link rel="shortcut icon" sizes="196x196" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAMAAABFjsb+AAABsFBMVEUAnj4Anz8AoEIAoEMAoUUAokcAo0gApEsApU4ApU8Apk4Apk8AplEAp1EBp1EJqFcOqVcQq1wQrFwRq1wRrF0TrF0TrF4UrV8Vq1wVrV8Wq1oYrmEZrmIZr2IZr2MarmIar2MbrmIbr2McrmIcr2Qdr2UermIfr2Qgr2Qhr2QhsmchsmgisGcisWcisWgjsWcjsWgmrmQrsmkssGktsWgttG8ttHAttW4ttXAusmoutW8utXAvtHA2t3M3tXI3tXQ9uHg+uHhAu3xAvHxBvHxEvX5HvH1Iu39LvYBMvIJOvYBOwIVPvYRRvodRv4hUvodUv4lWwIlWwIpXwYxXwopXwotYwYxYwo1ZwIpZwY1Zwo1aw45bwYxbwo9bw45dwo1dxJBew4xexJBexJFfw5FfxJFgx5JixZJixZNkw49kxZNkxpVlxpVmxpZnw5JnxZNqxpZvxpZvyJlyyJt0yJ11yZ11yp93y6B6y6F+y6OEz6qFz6qG06uK0q6M0q+N0a6N0a+Q17Kb2bqi3b6l3b+s4cau4cav4Mi148rl9e3o9u/o9vDs+PL6/Pv9/f3////91MyrAAAA9UlEQVQY02PgwQQMPLy83BDACSZ5eMFiQrJwICfCCxLjFq6NiYyMioyMzc5Nia+V5gKJKWQYuTg7O7mYswr4mKTrgcUkyzr7QaBPX6o4s0IVLCZe3gMW6ze1qsxrUAKLyWS7pSU2gsTUSwurVaBizKwMrkAxM80Cw3CIeTI57Lxs3kAxC+US+wQdiL0JTOyMIHXWEvWeUbpgMbEmD1uvNpCYWpFlNESMvxtibb+NRr5xHFSsCyzS26Ho7uiQBBETbG9pba4JUWdhD8yyCzUAi4lW+QcF+PoFJ6eGhUXUyXOBw0VaW0sbBmT5QOHCw8OBDMBhigkAzjlLlumq9w0AAAAASUVORK5CYII=">
<link rel="shortcut icon" href="data:image/png;base64,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">
<meta name="msapplication-TileImage" content="http://www.gdesuk.co.uk/img/touch/apple-touch-icon-144x144-precomposed.png?c=0.131138133">
<meta name="msapplication-TileColor" content="#00a651">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="Green Deal Energy Services | Green Deal Assessment">
<meta name="author" content="Green Deal Energy Services">
<meta property="og:title" content="Green Deal Energy Services | Green Deal Assessment">
<meta property="og:description" content="Green Deal Energy Services What Green Deal improvements can we make for you and your home or business?">
<meta property="og:image" content="http://www.gdesuk.co.uk/img/share.jpg?c=0.131138133">
<meta property="og:type" content="website">
<meta property="og:url" content="http://www.gdesuk.co.uk/">
<meta property="og:site_name" content="Green Deal Energy Services">
<meta property="og:locale" content="en_GB">
<meta name="twitter:card" content="summary">
<meta name="twitter:domain" content="http://www.gdesuk.co.uk">
<meta name="twitter:site" content="@gdesukltd">
<meta name="twitter:creator" content="@gdesukltd">
<meta name="twitter:image:src" content="http://www.gdesuk.co.uk/img/share.jpg?c=0.131138133">
<meta name="twitter:description" content="Green Deal Energy Services What Green Deal improvements can we make for you and your home or business?">
<meta name="twitter:title" content="Green Deal Energy Services | Green Deal Assessment">
<meta name="twitter:url" content="http://www.gdesuk.co.uk/">
<link href="https://plus.google.com/113186050675166541669" rel="publisher">
<style></style>
<link rel="stylesheet" href="/css/A.print.css,qc=0.131138133.pagespeed.cf.ptwW6YhGLy.css" media="print">
<!--[if lt IE 9]>
<script src="http://html5shiv-printshiv.googlecode.com/svn/trunk/html5shiv-printshiv.js"></script>
<![endif]-->
</head>
<body>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-55287236-1', 'auto');
ga('require', 'displayfeatures');
ga('require', 'linkid', 'linkid.js');
ga('send', 'pageview');
</script>
<!--[if lt IE 9]><p class=chromeframe>Your browser is very outdated or in compatability mode. To use this site to its full potential please <a href="http://browsehappy.com/">upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a>.</p><![endif]-->
<div class="banner-hold homepage-banner">
<div class="banner">
<div id="owl-carousel" class="owl-carousel">
<div class="item">
<div class="interior-banner-holder">
<div class="interior-banner-image-holder">
<a href="/how-to-get-a-green-deal/"> <script pagespeed_no_defer="">//<![CDATA[
(function(){var g=this,h=function(b,d){var a=b.split("."),c=g;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)a.length||void 0===d?c[e]?c=c[e]:c=c[e]={}:c[e]=d};var l=function(b){var d=b.length;if(0<d){for(var a=Array(d),c=0;c<d;c++)a[c]=b[c];return a}return[]};var m=function(b){var d=window;if(d.addEventListener)d.addEventListener("load",b,!1);else if(d.attachEvent)d.attachEvent("onload",b);else{var a=d.onload;d.onload=function(){b.call(this);a&&a.call(this)}}};var n,p=function(b,d,a,c,e){this.f=b;this.h=d;this.i=a;this.c=e;this.e={height:window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,width:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth};this.g=c;this.b={};this.a=[];this.d={}},q=function(b,d){var a,c,e=d.getAttribute("pagespeed_url_hash");if(a=e&&!(e in b.d))if(0>=d.offsetWidth&&0>=d.offsetHeight)a=!1;else{c=d.getBoundingClientRect();var f=document.body;a=c.top+("pageYOffset"in window?
window.pageYOffset:(document.documentElement||f.parentNode||f).scrollTop);c=c.left+("pageXOffset"in window?window.pageXOffset:(document.documentElement||f.parentNode||f).scrollLeft);f=a.toString()+","+c;b.b.hasOwnProperty(f)?a=!1:(b.b[f]=!0,a=a<=b.e.height&&c<=b.e.width)}a&&(b.a.push(e),b.d[e]=!0)};p.prototype.checkImageForCriticality=function(b){b.getBoundingClientRect&&q(this,b)};h("pagespeed.CriticalImages.checkImageForCriticality",function(b){n.checkImageForCriticality(b)});
h("pagespeed.CriticalImages.checkCriticalImages",function(){r(n)});
var r=function(b){b.b={};for(var d=["IMG","INPUT"],a=[],c=0;c<d.length;++c)a=a.concat(l(document.getElementsByTagName(d[c])));if(0!=a.length&&a[0].getBoundingClientRect){for(c=0;d=a[c];++c)q(b,d);a="oh="+b.i;b.c&&(a+="&n="+b.c);if(d=0!=b.a.length)for(a+="&ci="+encodeURIComponent(b.a[0]),c=1;c<b.a.length;++c){var e=","+encodeURIComponent(b.a[c]);131072>=a.length+e.length&&(a+=e)}b.g&&(e="&rd="+encodeURIComponent(JSON.stringify(s())),131072>=a.length+e.length&&(a+=e),d=!0);t=a;if(d){c=b.f;b=b.h;var f;
if(window.XMLHttpRequest)f=new XMLHttpRequest;else if(window.ActiveXObject)try{f=new ActiveXObject("Msxml2.XMLHTTP")}catch(k){try{f=new ActiveXObject("Microsoft.XMLHTTP")}catch(u){}}f&&(f.open("POST",c+(-1==c.indexOf("?")?"?":"&")+"url="+encodeURIComponent(b)),f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),f.send(a))}}},s=function(){var b={},d=document.getElementsByTagName("IMG");if(0==d.length)return{};var a=d[0];if(!("naturalWidth"in a&&"naturalHeight"in a))return{};for(var c=
0;a=d[c];++c){var e=a.getAttribute("pagespeed_url_hash");e&&(!(e in b)&&0<a.width&&0<a.height&&0<a.naturalWidth&&0<a.naturalHeight||e in b&&a.width>=b[e].k&&a.height>=b[e].j)&&(b[e]={rw:a.width,rh:a.height,ow:a.naturalWidth,oh:a.naturalHeight})}return b},t="";h("pagespeed.CriticalImages.getBeaconData",function(){return t});h("pagespeed.CriticalImages.Run",function(b,d,a,c,e,f){var k=new p(b,d,a,e,f);n=k;c&&m(function(){window.setTimeout(function(){r(k)},0)})});})();

pagespeed.CriticalImages.Run('/mod_pagespeed_beacon','http://www.gdesuk.co.uk/','GWnnLkaELj',true,false,'d-pPvaHQHx8');
//]]></script><img src="/img/img-uploads/banner/xdog,P20,281,29.jpg,qc=0.131138133.pagespeed.ic.f5q72hApl4.jpg" alt="Dog Banner" class="img-responsive" pagespeed_url_hash="1770748230" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">
</a> </div>
<div class="interior-banner-content">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-10 col-sm-offset-1 col-md-10 col-md-offset-1 col-lg-10 col-lg-offset-1 hidden-xs banner-content-holder">
<p class="homepage-banner-text" style="text-align:center">Welcome to Green Deal Energy Services</p>
<p class="banner-subtext" style="text-align:center">We help you benefit from a warmer home and provide extra peace of mind</p>
<p class="text-center"><a href="/how-to-get-a-green-deal/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="top-navigation">
<div class="container-fluid">
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-3  col-lg-3 logo-hold">
<a href="/" title="Visit Green Deal Energy Services">
<img src="/img/xgreen.deal.logo.jpg.pagespeed.ic.0K3ybR8t4J.jpg" alt="Green Deal Energy Services" class="img-responsive" pagespeed_url_hash="4088298934" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">
</a>
</div>
<div class="col-xs-8 col-sm-8  col-md-9  col-lg-9  navigation-hold ">
<div class="row">
<div class="col-xs-12 ">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle " data-toggle="collapse" data-target="#mainNavbar">
<span class="sr-only">Toggle navigation</span>
<span class="fa fa-bars fa-lg"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="mainNavbar">
<ul class="nav navbar-nav navbar-right">
<li class=" nav-header "><a href="/"><span class="fa fa-home"></span><span class="sr-only">Home</span></a></li>
<li class="  "><a href="/news/">News</a>
</li>
<li class="dropdown "><a href="/about/" class="dropdown-toggle" data-toggle="dropdown">About</a>
<ul class="dropdown-menu">
<li><a href="/about/meet-the-team/">Meet the Team</a></li>
<li><a href="/about/faq-s/">FAQ'S</a></li>
</ul>
</li>
<li class="  "><a href="/contact/">Contact</a>
</li>
<li class="nav-header hidden-xs hidden-sm"><a href="#searchModal" data-toggle="modal" data-target="#searchModal"> <span class="fa fa-search"></span> Search</a></li>
<li class="nav-header hidden-xs hidden-sm"><a href="https://www.facebook.com/gdesuk" target="_blank"><span class="fa fa-facebook "></span></a> <span class="sr-only">Facebook</span></li>
<li class="nav-header hidden-xs hidden-sm"><a href="https://twitter.com/gdesukltd" target="_blank"><span class="fa fa-twitter "></span></a> <span class="sr-only">Twitter</span></li>
<li class="nav-header hidden-xs hidden-sm"><a href="https://plus.google.com/113186050675166541669/about?hl=en" target="_blank"><span class="fa fa-google-plus "></span></a> <span class="sr-only">Google Plus</span></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown "><a href="/green-deal-improvements/" class="dropdown-toggle" data-toggle="dropdown">Green Deal Improvements</a>
<ul class="dropdown-menu">
<li><a href="/green-deal-improvements/loft-insulation/">Loft Insulation</a></li>
<li><a href="/green-deal-improvements/high-efficiency-boilers/">High Efficiency Boilers</a></li>
<li><a href="/green-deal-improvements/solid-wall-insulation/">Solid Wall Insulation</a></li>
<li><a href="/green-deal-improvements/cavity-wall-insulation/">Cavity Wall Insulation</a></li>
<li><a href="/green-deal-improvements/draught-proofing/">Draught Proofing</a></li>
<li><a href="/green-deal-improvements/energy-efficient-windows/">Energy Efficient Windows</a></li>
<li><a href="/green-deal-improvements/generate-your-own-energy/">Generate Your Own Energy</a></li>
</ul>
</li>
<li class="dropdown "><a href="/how-to-get-a-green-deal/" class="dropdown-toggle" data-toggle="dropdown">How to get a Green Deal</a>
<ul class="dropdown-menu">
<li><a href="/how-to-get-a-green-deal/how-the-green-deal-works/">How the Green Deal Works</a></li>
<li><a href="/how-to-get-a-green-deal/the-green-deal-journey/">The Green Deal Journey</a></li>
<li><a href="/how-to-get-a-green-deal/book-an-assessment/">Book an Assessment</a></li>
<li><a href="/how-to-get-a-green-deal/who-is-the-green-deal-for/">Who is the Green Deal For?</a></li>
<li><a href="/how-to-get-a-green-deal/how-to-get-a-green-deal-assessment/">How to Get A Green Deal Assessment</a></li>
<li><a href="/how-to-get-a-green-deal/what-is-a-green-deal-provider/">What is a Green Deal Provider?</a></li>
<li><a href="/how-to-get-a-green-deal/what-is-a-green-deal-assessor/">What is a Green Deal Assessor?</a></li>
<li><a href="/how-to-get-a-green-deal/what-is-a-green-deal-installer/">What is a Green Deal Installer?</a></li>
<li><a href="/how-to-get-a-green-deal/request-a-business-survey/">Request A Business Survey</a></li>
</ul>
</li>
<li class="dropdown "><a href="/eco-and-green-deal/" class="dropdown-toggle" data-toggle="dropdown">Eco &amp; Green Deal</a>
<ul class="dropdown-menu">
<li><a href="/eco-and-green-deal/environmental/">Environmental</a></li>
<li><a href="/eco-and-green-deal/help-yourself-to-savings/">Help yourself to savings</a></li>
</ul>
</li>
<li class="  "><a href="/case-studies/">Case Studies</a>
</li>
<li class="nav-header hidden-md hidden-lg"><a href="#searchModal" data-toggle="modal" data-target="#searchModal"> <span class="fa fa-search"></span> Search</a></li>
</ul>
</div>
</div>
</nav>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=" call-pod light-blue-homepage">
<div class="container">
<div class="row">
<div class="col-xs-12 text-center">
<p>Need Help? Call us today <span class="visible-xs"></span> <a href="tel:00448451540336">0845 154 0336</a></p>
</div>
</div>
</div>
</div>
<div class="homepage">
<div class="container">
<div class="row main-content-hold clearfix">
<div class="col-xs-12 text-center ">
<h1>What improvements can we make for you and your home?</h1>
<div class="row">
<div class="col-xs-12 col-xs-offset-0 col-md-8 col-md-offset-2">
<p style="text-align:center">Green Deal Energy Services (UK) Ltd has been awarded the status of a Green Deal Provider by the Secretary of State in accordance with regulation eight of the Green Deal framework regulation 2012.&nbsp;</p>
<div class="col-xs-12 col-xs-offset-0 col-sm-8 col-sm-offset-2">
<div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="" height="360" src="https://www.youtube.com/embed/lF_rTF1Dh8w?feature=player_embedded&amp;html5=1" width="640"></iframe></div>
</div> </div>
</div>
</div>
</div>
</div>
</div>
<div class="green-homepage">
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-7 tablet-mobile-center mobile-center">
<h4>What improvements can we make for you and your home?</h4>
</div>
<div class="col-xs-12 col-md-5 tablet-mobile-center mobile-center">
<p>There are so many different ways to improve the energy efficiency of your home, saving you money on your energy bills and cutting your carbon footprint to help protect the environment for us all.</p>
<p>And now, thanks to the Green Deal, you can make the changes you need to your home without it costing you anything.</p>
<br>
<div class="row">
<div class="col-md-6 tablet-mobile-center mobile-center">
<p><a href="/green-deal-improvements/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
<div class=" col-xs-6 col-xs-offset-3 col-sm-4 col-sm-offset-4 col-md-6 col-md-offset-0 tablet-mobile-center mobile-center">
<p><img src="/img/xgreen.deal.logo.jpg.pagespeed.ic.0K3ybR8t4J.jpg" alt="Green Deal Energy Services" class="img-responsive" pagespeed_url_hash="4088298934" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="orange-homepage">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="row">
<div class="col-xs-12 text-center">
<h4>How does the scheme work?</h4>
<br>
<div class="row">
<div class="col-sm-1 work-nav hidden-xs ">
<p>
<a href="#" class="work-prev fa fa-arrow-circle-o-left"></a>
</p>
</div>
<div class="col-sm-10">
<div id="homepage-scroll" class="owl-carousel owl-theme">
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">1</p>
</div>
<div class="col-sm-8 work-content mobile-center">
<p class="work-heading">Green Deal Assessment</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
</div>
<div class="col-sm-2 hidden-xs">
<p class="next-work-number">2</p>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">2</p>
</div>
<div class="col-sm-8 work-content mobile-center">
<p class="work-heading">Quotation</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
</div>
<div class="col-sm-2 hidden-xs">
<p class="next-work-number">3</p>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">3</p>
</div>
<div class="col-sm-8 work-content mobile-center">
<p class="work-heading">Installation</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
</div>
<div class="col-sm-2 hidden-xs">
<p class="next-work-number">4</p>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">4</p>
</div>
<div class="col-sm-10 work-content mobile-center">
<p class="work-heading">Payment</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
<p class="morelink"><a href="/how-to-get-a-green-deal/book-an-assessment/"><span class="fa fa-arrow-circle-o-right"></span> Book your Green Deal assessment</a></p>
</div>
</div>
</div>
</div>
<div class="row work-pagination">
<div class="col-xs-6 col-sm-3 work-one">
<p>
<a href="#" class=" fa fa-sliders "></a>
</p>
<p>Assessment</p>
</div>
<div class="col-xs-6 col-sm-3 work-two">
<p>
<a href="#" class=" fa fa-clipboard  "></a>
</p>
<p>Quotation</p>
</div>
<div class="col-xs-6 col-sm-3 work-three">
<p>
<a href="#" class=" fa fa-plug "></a>
</p>
<p>Installation</p>
</div>
<div class="col-xs-6 col-sm-3 work-four">
<p>
<a href="#" class=" fa fa-area-chart  "></a>
</p>
<p>Payment</p>
</div>
</div>
</div>
<div class="col-sm-1 work-nav hidden-xs ">
<p>
<a href="#" class="work-next fa fa-arrow-circle-o-right "></a>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="request-homepage clearfix">
<div class="center-container">
<div class="center-row">
<div class="col-xs-12 col-sm-6 bg-home tablet-mobile-center mobile-center">
<h4>Request A <br>Home <br>Survey</h4>
<p><a href="/how-to-get-a-green-deal/book-an-assessment/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
<div class="col-xs-12 col-sm-6 bg-business tablet-mobile-center mobile-center">
<h4>Request A <br>Business <br>Survey</h4>
<p><a href="/how-to-get-a-green-deal/request-a-business-survey/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
</div>
</div>
</div>
<div class="homepage-news-case-hold">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6">
<div class="row clearfix">
<div class=" col-xs-12 ">
<h4 class="news-heading"><a href="/news/">News</a></h4>
</div>
</div>
<div class="row clearfix news-holder">
<div class=" col-xs-12 col-sm-6 ">
<div class="news-interior-hold">
<div class="row clearfix">
<div class=" col-xs-12 col-sm-12 col-md-12 col-lg-12">
<span class="dates">
7th May 2015 </span>
<br>
<p>
<a href="/news/prestigious-national-awards-ceremony-beckons-for-green-business/">Prestigious National Awards Ceremony beckons for Green Business</a> - <br>
Lancashire company, Green Deal Energy Services has been nominated for an award in the National Green Deal and ECO Awards 2015. </p>
</div>
</div>
</div>
</div>
<div class=" col-xs-12 col-sm-6 ">
<div class="news-interior-hold">
<div class="row clearfix">
<div class=" col-xs-12 col-sm-12 col-md-12 col-lg-12">
<span class="dates">
9th June 2014 </span>
<br>
<p>
<a href="/news/new-green-deal-is-very-generous-says-energy-secretary/">New Green Deal is very generous, says energy secretary</a> - <br>
Households in England and Wales will be able to get up to £7,600 back </p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=" col-xs-12 col-sm-12 col-md-6">
<div class="row clearfix">
<div class=" col-xs-12 ">
<h4 class="case-study-heading"><a href="/case-studies/">Case Studies</a></h4>
</div>
</div>
<div class="row clearfix case-study-holder">
<div class=" col-xs-12 col-sm-6">
<div class="case-study-interior-hold">
<div class="row clearfix">
<div class=" col-xs-12 col-sm-12 col-md-12 col-lg-12">
<br>
<p>
<a href="/case-studies/mr-taylor-preston-replacement-boiler/">Mr Taylor, Preston - Replacement Boiler</a> - <br>
Mr Taylor contacted Green Deal Energy Services in early 2015 to see what options were available to him, to finance the installation of a replacement boiler and retrofit the existing system to suit it.Mr Taylor lives in a detached bungalow in Preston ... </p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="social-footer">
<div class="container">
<div class="row">
<div class=" col-xs-4 col-sm-4  tablet-mobile-center footer-mobile-center ">
<p>
<a href="https://www.facebook.com/gdesuk" target="_blank" class="fa fa-facebook"></a> <a href="https://www.facebook.com/gdesuk" target="_blank" class=" hidden-sm hidden-xs">/gdesuk</a>
</p>
</div>
<div class=" col-xs-4 col-sm-4  tablet-mobile-center footer-mobile-center ">
<p>
<a href="https://twitter.com/gdesukltd" target="_blank" class="fa fa-twitter"></a> <a href="https://twitter.com/gdesukltd" target="_blank" class=" hidden-sm hidden-xs">@gdesukltd</a>
</p>
</div>
<div class=" col-xs-4 col-sm-4  tablet-mobile-center footer-mobile-center ">
<p>
<a href="https://plus.google.com/113186050675166541669/about?hl=en" target="_blank" class="fa fa-google-plus"></a> <a href="https://plus.google.com/113186050675166541669/about?hl=en" target="_blank" class=" hidden-sm hidden-xs">/Green Deal Energy Services</a>
</p>
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-sm-4 footer-mobile-center footer-links">
<p>&copy; 2015 Green Deal Energy Services UK<br>
<a href="/sitemap/">Sitemap</a><br>
<a href="/legal/">Legal</a><br>
<a href="/accessibility/">Accessibility</a><br>
<a href="/cookie-policy/">Cookie Policy</a>
</p>
</div>
<div class="col-sm-5 footer-mobile-center footer-links">
<p>
Green Deal Energy Services (UK) Ltd.<br>
14 The Pavilions<br>
Avroe Crescent<br>
Blackpool<br>
FY4 2DP
</p>
<p>
Company Number: 08264223<br>
VAT Registration Number: 158046993<br>
Consumer Credit License Number: 654125/1
</p>
</div>
<div class="col-sm-3 footer-mobile-center footer-links">
<p>Call <a href="tel:00448451540336">0845 154 0336</a><br>
Email <a href="mailto:enquiries@gdesuk.co.uk">enquiries@gdesuk.co.uk</a></p>
<p><a href="#LogoModal" data-toggle="modal" target="_blank"><img src="/img/xaccreditations.jpg,qc=0.131138133.pagespeed.ic.kIkADMSppJ.jpg" alt="Accreditations" class="img-responsive" pagespeed_url_hash="2459102682" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"></a></p>
</div>
</div>
</div>
</footer>
<div class="container">
<div class="row">
<div class="col-sm-12 text-center sub-footer">
<p>Independent and impartial advice is available through the Energy Saving Advice Service</p>
<p>Telephone: <a href="tel:004430001231234">0300 0123 1234</a> Web: <a href="http://www.energysavingtrust.org.uk" target="_blank">www.energysavingtrust.org.uk</a></p>
<p class="built-with"><a href="https://www.noise.agency" target="_blank">Website design</a> and built with <a href="https://www.noise.agency" target="_blank">Noise</a></p>
</div>
</div>
</div>
<div class="modal fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true" data-backdrop="static" data-show="false">
<div class="modal-dialog">
<div class="modal-content">
<form method="get" action="/search/" id="searchForm" enctype="multipart/form-data">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span> <span class="sr-only">Close</span></button>
<h4 class="modal-title" id="searchModalLabel">Search Green Deal</h4>
</div>
<div class="modal-body">
<fieldset>
<div class="form-group clearfix">
<div class="col-md-12">
<input id="searchinput" name="search" placeholder="Enter Keywords..." class="form-control " required="" type="text" value="">
</div>
</div>
<div class="form-group clearfix">
<div class="col-md-12">
<button type="submit" class="btn btn-primary btn-block">Search Green Deal</button>
</div>
</div>
</fieldset>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-block" data-dismiss="modal">Close Search</button>
</div>
</form>
</div>
</div>
</div>
<div id="LogoModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="LogoLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<img src="/img/xgdes.logos.jpg.pagespeed.ic.bPfBKnFncU.jpg" alt="Green Deal Logos" class="img-responsive" pagespeed_url_hash="2757415919" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">
</div>
<div class="modal-footer">
<button class="btn btn-block" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
</div>
</div>
<!--[if lte IE 8 ]>  
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script>window.jQuery || document.write('<script src="/js/jquery-1.11.0.min.js?c=0.131138133"><\/script>')</script> 
    <![endif]-->
<!--[if gt IE 8 | !(IE)]><!-->
<script src="//code.jquery.com/jquery-2.1.0.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/jquery-2.1.0.min.js?c=0.131138133"><\/script>')</script>
<!-- <![endif]-->
<script type="text/javascript" src="/js/modernizr.2.8.2.js?c=0.131138133"></script>
<script type="text/javascript" src="/js/bootstrap.js?c=0.131138133"></script>
<script type="text/javascript" src="/js/plugins.js?c=0.131138133"></script>
<script type="text/javascript" src="/js/load.js?c=0.131138133"></script>
<script type="text/javascript" src="/js/infobubble.js?c=0.131138133"></script>
<script type="text/javascript" src="//maps.google.com/maps/api/js?sensor=false&amp;callback=gMapsCallback&amp;libraries=places" defer></script>
<script src="//use.typekit.net/fhj4hrk.js"></script>
<script>try{Typekit.load();}catch(e){}</script>
<script>

    window.gMapsCallback = function() {
            };

    function pageinit() {

        function banneraspect() {
            bannerWidth = $('.banner').width();
            ratio = 181 / 325  ;
            //console.log('width = '+ bannerWidth);
            //console.log('ratio = '+ ratio);
            //console.log('height = '+ bannerWidth * ratio);
            $('.banner, .banner-hold').css("height",  ratio * bannerWidth);
        };

        $(window).resize( function() {
            banneraspect();
        });

        banneraspect ();

    };

  </script>
</body>
</html>

and when i update a cache buster on the end of the file fix the problem

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9]> <html class="no-js lt-ie10" lang="en"> <![endif]-->
<!--[if gt IE 9]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
<head>
<meta charset="UTF-8">
<!--[if ie]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
<meta name="description" content="Green Deal Energy Services What Green Deal improvements can we make for you and your home or business?">
<title>Green Deal Energy Services | Green Deal Assessment</title>
<meta name="format-detection" content="telephone=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
<link rel="shortcut icon" href="http://www.gdesuk.co.uk/xfavicon.ico,qc=0.131138134.pagespeed.ic.ndouMGpnfs.png"/>
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon-144x144-precomposed.png,qc=0.131138134.pagespeed.ic.GKADiDEe63.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon-114x114-precomposed.png,qc=0.131138134.pagespeed.ic.NTXxIgADMJ.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon-72x72-precomposed.png,qc=0.131138134.pagespeed.ic.RR1M0Yx18g.png">
<link rel="apple-touch-icon-precomposed" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon-57x57-precomposed.png,qc=0.131138134.pagespeed.ic.7hOfDUmaSt.png">
<link rel="shortcut icon" sizes="196x196" href="http://www.gdesuk.co.uk/img/touch/xtouch-icon-196x196.png,qc=0.131138134.pagespeed.ic.GqS-UDolFy.png">
<link rel="shortcut icon" href="http://www.gdesuk.co.uk/img/touch/xapple-touch-icon.png,qc=0.131138134.pagespeed.ic.aVRor-_jLU.png">
<meta name="msapplication-TileImage" content="http://www.gdesuk.co.uk/img/touch/apple-touch-icon-144x144-precomposed.png?c=0.131138134">
<meta name="msapplication-TileColor" content="#00a651">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="Green Deal Energy Services | Green Deal Assessment">
<meta name="author" content="Green Deal Energy Services">
<meta property="og:title" content="Green Deal Energy Services | Green Deal Assessment">
<meta property="og:description" content="Green Deal Energy Services What Green Deal improvements can we make for you and your home or business?">
<meta property="og:image" content="http://www.gdesuk.co.uk/img/share.jpg?c=0.131138134">
<meta property="og:type" content="website">
<meta property="og:url" content="http://www.gdesuk.co.uk/">
<meta property="og:site_name" content="Green Deal Energy Services">
<meta property="og:locale" content="en_GB">
<meta name="twitter:card" content="summary">
<meta name="twitter:domain" content="http://www.gdesuk.co.uk">
<meta name="twitter:site" content="@gdesukltd">
<meta name="twitter:creator" content="@gdesukltd">
<meta name="twitter:image:src" content="http://www.gdesuk.co.uk/img/share.jpg?c=0.131138134">
<meta name="twitter:description" content="Green Deal Energy Services What Green Deal improvements can we make for you and your home or business?">
<meta name="twitter:title" content="Green Deal Energy Services | Green Deal Assessment">
<meta name="twitter:url" content="http://www.gdesuk.co.uk/">
<link href="https://plus.google.com/113186050675166541669" rel="publisher">
<link rel="stylesheet" href="/css/bootstrap.min.css,qc==0.131138134+plugins.css,qc==0.131138134+custom.css,qc==0.131138134.pagespeed.cc.jYgP1dy-aB.css"/>
<link rel="stylesheet" href="/css/A.print.css,qc=0.131138134.pagespeed.cf.ptwW6YhGLy.css" media="print">
<!--[if lt IE 9]>
<script src="http://html5shiv-printshiv.googlecode.com/svn/trunk/html5shiv-printshiv.js"></script>
<![endif]-->
<link rel="dns-prefetch" href="//www.youtube.com"><link rel="dns-prefetch" href="//code.jquery.com"><link rel="dns-prefetch" href="//maps.google.com"><link rel="dns-prefetch" href="//use.typekit.net"></head>
<body>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-55287236-1', 'auto');
ga('require', 'displayfeatures');
ga('require', 'linkid', 'linkid.js');
ga('send', 'pageview');
</script>
<!--[if lt IE 9]><p class=chromeframe>Your browser is very outdated or in compatability mode. To use this site to its full potential please <a href="http://browsehappy.com/">upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a>.</p><![endif]-->
<div class="banner-hold homepage-banner">
<div class="banner">
<div id="owl-carousel" class="owl-carousel">
<div class="item">
<div class="interior-banner-holder">
<div class="interior-banner-image-holder">
<a href="/how-to-get-a-green-deal/"> <img src="/img/img-uploads/banner/xdog,P20,281,29.jpg,qc=0.131138134.pagespeed.ic.f5q72hApl4.jpg" alt="Dog Banner" class="img-responsive">
</a> </div>
<div class="interior-banner-content">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-10 col-sm-offset-1 col-md-10 col-md-offset-1 col-lg-10 col-lg-offset-1 hidden-xs banner-content-holder">
<p class="homepage-banner-text" style="text-align:center">Welcome to Green Deal Energy Services</p>
<p class="banner-subtext" style="text-align:center">We help you benefit from a warmer home and provide extra peace of mind</p>
<p class="text-center"><a href="/how-to-get-a-green-deal/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="top-navigation">
<div class="container-fluid">
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-3  col-lg-3 logo-hold">
<a href="/" title="Visit Green Deal Energy Services">
<img src="/img/xgreen.deal.logo.jpg.pagespeed.ic.0K3ybR8t4J.jpg" alt="Green Deal Energy Services" class="img-responsive">
</a>
</div>
<div class="col-xs-8 col-sm-8  col-md-9  col-lg-9  navigation-hold ">
<div class="row">
<div class="col-xs-12 ">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle " data-toggle="collapse" data-target="#mainNavbar">
<span class="sr-only">Toggle navigation</span>
<span class="fa fa-bars fa-lg"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="mainNavbar">
<ul class="nav navbar-nav navbar-right">
<li class=" nav-header "><a href="/"><span class="fa fa-home"></span><span class="sr-only">Home</span></a></li>
<li class="  "><a href="/news/">News</a>
</li>
<li class="dropdown "><a href="/about/" class="dropdown-toggle" data-toggle="dropdown">About</a>
<ul class="dropdown-menu">
<li><a href="/about/meet-the-team/">Meet the Team</a></li>
<li><a href="/about/faq-s/">FAQ'S</a></li>
</ul>
</li>
<li class="  "><a href="/contact/">Contact</a>
</li>
<li class="nav-header hidden-xs hidden-sm"><a href="#searchModal" data-toggle="modal" data-target="#searchModal"> <span class="fa fa-search"></span> Search</a></li>
<li class="nav-header hidden-xs hidden-sm"><a href="https://www.facebook.com/gdesuk" target="_blank"><span class="fa fa-facebook "></span></a> <span class="sr-only">Facebook</span></li>
<li class="nav-header hidden-xs hidden-sm"><a href="https://twitter.com/gdesukltd" target="_blank"><span class="fa fa-twitter "></span></a> <span class="sr-only">Twitter</span></li>
<li class="nav-header hidden-xs hidden-sm"><a href="https://plus.google.com/113186050675166541669/about?hl=en" target="_blank"><span class="fa fa-google-plus "></span></a> <span class="sr-only">Google Plus</span></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown "><a href="/green-deal-improvements/" class="dropdown-toggle" data-toggle="dropdown">Green Deal Improvements</a>
<ul class="dropdown-menu">
<li><a href="/green-deal-improvements/loft-insulation/">Loft Insulation</a></li>
<li><a href="/green-deal-improvements/high-efficiency-boilers/">High Efficiency Boilers</a></li>
<li><a href="/green-deal-improvements/solid-wall-insulation/">Solid Wall Insulation</a></li>
<li><a href="/green-deal-improvements/cavity-wall-insulation/">Cavity Wall Insulation</a></li>
<li><a href="/green-deal-improvements/draught-proofing/">Draught Proofing</a></li>
<li><a href="/green-deal-improvements/energy-efficient-windows/">Energy Efficient Windows</a></li>
<li><a href="/green-deal-improvements/generate-your-own-energy/">Generate Your Own Energy</a></li>
</ul>
</li>
<li class="dropdown "><a href="/how-to-get-a-green-deal/" class="dropdown-toggle" data-toggle="dropdown">How to get a Green Deal</a>
<ul class="dropdown-menu">
<li><a href="/how-to-get-a-green-deal/how-the-green-deal-works/">How the Green Deal Works</a></li>
<li><a href="/how-to-get-a-green-deal/the-green-deal-journey/">The Green Deal Journey</a></li>
<li><a href="/how-to-get-a-green-deal/book-an-assessment/">Book an Assessment</a></li>
<li><a href="/how-to-get-a-green-deal/who-is-the-green-deal-for/">Who is the Green Deal For?</a></li>
<li><a href="/how-to-get-a-green-deal/how-to-get-a-green-deal-assessment/">How to Get A Green Deal Assessment</a></li>
<li><a href="/how-to-get-a-green-deal/what-is-a-green-deal-provider/">What is a Green Deal Provider?</a></li>
<li><a href="/how-to-get-a-green-deal/what-is-a-green-deal-assessor/">What is a Green Deal Assessor?</a></li>
<li><a href="/how-to-get-a-green-deal/what-is-a-green-deal-installer/">What is a Green Deal Installer?</a></li>
<li><a href="/how-to-get-a-green-deal/request-a-business-survey/">Request A Business Survey</a></li>
</ul>
</li>
<li class="dropdown "><a href="/eco-and-green-deal/" class="dropdown-toggle" data-toggle="dropdown">Eco &amp; Green Deal</a>
<ul class="dropdown-menu">
<li><a href="/eco-and-green-deal/environmental/">Environmental</a></li>
<li><a href="/eco-and-green-deal/help-yourself-to-savings/">Help yourself to savings</a></li>
</ul>
</li>
<li class="  "><a href="/case-studies/">Case Studies</a>
</li>
<li class="nav-header hidden-md hidden-lg"><a href="#searchModal" data-toggle="modal" data-target="#searchModal"> <span class="fa fa-search"></span> Search</a></li>
</ul>
</div>
</div>
</nav>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=" call-pod light-blue-homepage">
<div class="container">
<div class="row">
<div class="col-xs-12 text-center">
<p>Need Help? Call us today <span class="visible-xs"></span> <a href="tel:00448451540336">0845 154 0336</a></p>
</div>
</div>
</div>
</div>
<div class="homepage">
<div class="container">
<div class="row main-content-hold clearfix">
<div class="col-xs-12 text-center ">
<h1>What improvements can we make for you and your home?</h1>
<div class="row">
<div class="col-xs-12 col-xs-offset-0 col-md-8 col-md-offset-2">
<p style="text-align:center">Green Deal Energy Services (UK) Ltd has been awarded the status of a Green Deal Provider by the Secretary of State in accordance with regulation eight of the Green Deal framework regulation 2012.&nbsp;</p>
<div class="col-xs-12 col-xs-offset-0 col-sm-8 col-sm-offset-2">
<div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="" height="360" src="https://www.youtube.com/embed/lF_rTF1Dh8w?feature=player_embedded&amp;html5=1" width="640"></iframe></div>
</div> </div>
</div>
</div>
</div>
</div>
</div>
<div class="green-homepage">
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-7 tablet-mobile-center mobile-center">
<h4>What improvements can we make for you and your home?</h4>
</div>
<div class="col-xs-12 col-md-5 tablet-mobile-center mobile-center">
<p>There are so many different ways to improve the energy efficiency of your home, saving you money on your energy bills and cutting your carbon footprint to help protect the environment for us all.</p>
<p>And now, thanks to the Green Deal, you can make the changes you need to your home without it costing you anything.</p>
<br>
<div class="row">
<div class="col-md-6 tablet-mobile-center mobile-center">
<p><a href="/green-deal-improvements/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
<div class=" col-xs-6 col-xs-offset-3 col-sm-4 col-sm-offset-4 col-md-6 col-md-offset-0 tablet-mobile-center mobile-center">
<p><img src="/img/xgreen.deal.logo.jpg.pagespeed.ic.0K3ybR8t4J.jpg" alt="Green Deal Energy Services" class="img-responsive"></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="orange-homepage">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="row">
<div class="col-xs-12 text-center">
<h4>How does the scheme work?</h4>
<br>
<div class="row">
<div class="col-sm-1 work-nav hidden-xs ">
<p>
<a href="#" class="work-prev fa fa-arrow-circle-o-left"></a>
</p>
</div>
<div class="col-sm-10">
<div id="homepage-scroll" class="owl-carousel owl-theme">
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">1</p>
</div>
<div class="col-sm-8 work-content mobile-center">
<p class="work-heading">Green Deal Assessment</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
</div>
<div class="col-sm-2 hidden-xs">
<p class="next-work-number">2</p>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">2</p>
</div>
<div class="col-sm-8 work-content mobile-center">
<p class="work-heading">Quotation</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
</div>
<div class="col-sm-2 hidden-xs">
<p class="next-work-number">3</p>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">3</p>
</div>
<div class="col-sm-8 work-content mobile-center">
<p class="work-heading">Installation</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
</div>
<div class="col-sm-2 hidden-xs">
<p class="next-work-number">4</p>
</div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-2">
<p class="work-number">4</p>
</div>
<div class="col-sm-10 work-content mobile-center">
<p class="work-heading">Payment</p>
<p>A Green Deal accredited assessor carries out an assessment of your home and prepares a detailed report which recommends energy efficiency measures you could install and the likely savings.</p>
<p class="morelink"><a href="/how-to-get-a-green-deal/book-an-assessment/"><span class="fa fa-arrow-circle-o-right"></span> Book your Green Deal assessment</a></p>
</div>
</div>
</div>
</div>
<div class="row work-pagination">
<div class="col-xs-6 col-sm-3 work-one">
<p>
<a href="#" class=" fa fa-sliders "></a>
</p>
<p>Assessment</p>
</div>
<div class="col-xs-6 col-sm-3 work-two">
<p>
<a href="#" class=" fa fa-clipboard  "></a>
</p>
<p>Quotation</p>
</div>
<div class="col-xs-6 col-sm-3 work-three">
<p>
<a href="#" class=" fa fa-plug "></a>
</p>
<p>Installation</p>
</div>
<div class="col-xs-6 col-sm-3 work-four">
<p>
<a href="#" class=" fa fa-area-chart  "></a>
</p>
<p>Payment</p>
</div>
</div>
</div>
<div class="col-sm-1 work-nav hidden-xs ">
<p>
<a href="#" class="work-next fa fa-arrow-circle-o-right "></a>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="request-homepage clearfix">
<div class="center-container">
<div class="center-row">
<div class="col-xs-12 col-sm-6 bg-home tablet-mobile-center mobile-center">
<h4>Request A <br>Home <br>Survey</h4>
<p><a href="/how-to-get-a-green-deal/book-an-assessment/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
<div class="col-xs-12 col-sm-6 bg-business tablet-mobile-center mobile-center">
<h4>Request A <br>Business <br>Survey</h4>
<p><a href="/how-to-get-a-green-deal/request-a-business-survey/" class="btn btn-primary btn-box-white">Find out more</a></p>
</div>
</div>
</div>
</div>
<div class="homepage-news-case-hold">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6">
<div class="row clearfix">
<div class=" col-xs-12 ">
<h4 class="news-heading"><a href="/news/">News</a></h4>
</div>
</div>
<div class="row clearfix news-holder">
<div class=" col-xs-12 col-sm-6 ">
<div class="news-interior-hold">
<div class="row clearfix">
<div class=" col-xs-12 col-sm-12 col-md-12 col-lg-12">
<span class="dates">
7th May 2015 </span>
<br>
<p>
<a href="/news/prestigious-national-awards-ceremony-beckons-for-green-business/">Prestigious National Awards Ceremony beckons for Green Business</a> - <br>
Lancashire company, Green Deal Energy Services has been nominated for an award in the National Green Deal and ECO Awards 2015. </p>
</div>
</div>
</div>
</div>
<div class=" col-xs-12 col-sm-6 ">
<div class="news-interior-hold">
<div class="row clearfix">
<div class=" col-xs-12 col-sm-12 col-md-12 col-lg-12">
<span class="dates">
9th June 2014 </span>
<br>
<p>
<a href="/news/new-green-deal-is-very-generous-says-energy-secretary/">New Green Deal is very generous, says energy secretary</a> - <br>
Households in England and Wales will be able to get up to £7,600 back </p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=" col-xs-12 col-sm-12 col-md-6">
<div class="row clearfix">
<div class=" col-xs-12 ">
<h4 class="case-study-heading"><a href="/case-studies/">Case Studies</a></h4>
</div>
</div>
<div class="row clearfix case-study-holder">
<div class=" col-xs-12 col-sm-6">
<div class="case-study-interior-hold">
<div class="row clearfix">
<div class=" col-xs-12 col-sm-12 col-md-12 col-lg-12">
<br>
<p>
<a href="/case-studies/mr-taylor-preston-replacement-boiler/">Mr Taylor, Preston - Replacement Boiler</a> - <br>
Mr Taylor contacted Green Deal Energy Services in early 2015 to see what options were available to him, to finance the installation of a replacement boiler and retrofit the existing system to suit it.Mr Taylor lives in a detached bungalow in Preston ... </p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="social-footer">
<div class="container">
<div class="row">
<div class=" col-xs-4 col-sm-4  tablet-mobile-center footer-mobile-center ">
<p>
<a href="https://www.facebook.com/gdesuk" target="_blank" class="fa fa-facebook"></a> <a href="https://www.facebook.com/gdesuk" target="_blank" class=" hidden-sm hidden-xs">/gdesuk</a>
</p>
</div>
<div class=" col-xs-4 col-sm-4  tablet-mobile-center footer-mobile-center ">
<p>
<a href="https://twitter.com/gdesukltd" target="_blank" class="fa fa-twitter"></a> <a href="https://twitter.com/gdesukltd" target="_blank" class=" hidden-sm hidden-xs">@gdesukltd</a>
</p>
</div>
<div class=" col-xs-4 col-sm-4  tablet-mobile-center footer-mobile-center ">
<p>
<a href="https://plus.google.com/113186050675166541669/about?hl=en" target="_blank" class="fa fa-google-plus"></a> <a href="https://plus.google.com/113186050675166541669/about?hl=en" target="_blank" class=" hidden-sm hidden-xs">/Green Deal Energy Services</a>
</p>
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-sm-4 footer-mobile-center footer-links">
<p>&copy; 2015 Green Deal Energy Services UK<br>
<a href="/sitemap/">Sitemap</a><br>
<a href="/legal/">Legal</a><br>
<a href="/accessibility/">Accessibility</a><br>
<a href="/cookie-policy/">Cookie Policy</a>
</p>
</div>
<div class="col-sm-5 footer-mobile-center footer-links">
<p>
Green Deal Energy Services (UK) Ltd.<br>
14 The Pavilions<br>
Avroe Crescent<br>
Blackpool<br>
FY4 2DP
</p>
<p>
Company Number: 08264223<br>
VAT Registration Number: 158046993<br>
Consumer Credit License Number: 654125/1
</p>
</div>
<div class="col-sm-3 footer-mobile-center footer-links">
<p>Call <a href="tel:00448451540336">0845 154 0336</a><br>
Email <a href="mailto:enquiries@gdesuk.co.uk">enquiries@gdesuk.co.uk</a></p>
<p><a href="#LogoModal" data-toggle="modal" target="_blank"><img src="/img/xaccreditations.jpg,qc=0.131138134.pagespeed.ic.kIkADMSppJ.jpg" alt="Accreditations" class="img-responsive"></a></p>
</div>
</div>
</div>
</footer>
<div class="container">
<div class="row">
<div class="col-sm-12 text-center sub-footer">
<p>Independent and impartial advice is available through the Energy Saving Advice Service</p>
<p>Telephone: <a href="tel:004430001231234">0300 0123 1234</a> Web: <a href="http://www.energysavingtrust.org.uk" target="_blank">www.energysavingtrust.org.uk</a></p>
<p class="built-with"><a href="https://www.noise.agency" target="_blank">Website design</a> and built with <a href="https://www.noise.agency" target="_blank">Noise</a></p>
</div>
</div>
</div>
<div class="modal fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true" data-backdrop="static" data-show="false">
<div class="modal-dialog">
<div class="modal-content">
<form method="get" action="/search/" id="searchForm" enctype="multipart/form-data">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span> <span class="sr-only">Close</span></button>
<h4 class="modal-title" id="searchModalLabel">Search Green Deal</h4>
</div>
<div class="modal-body">
<fieldset>
<div class="form-group clearfix">
<div class="col-md-12">
<input id="searchinput" name="search" placeholder="Enter Keywords..." class="form-control " required="" type="text" value="">
</div>
</div>
<div class="form-group clearfix">
<div class="col-md-12">
<button type="submit" class="btn btn-primary btn-block">Search Green Deal</button>
</div>
</div>
</fieldset>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-block" data-dismiss="modal">Close Search</button>
</div>
</form>
</div>
</div>
</div>
<div id="LogoModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="LogoLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<img src="/img/xgdes.logos.jpg.pagespeed.ic.bPfBKnFncU.jpg" alt="Green Deal Logos" class="img-responsive">
</div>
<div class="modal-footer">
<button class="btn btn-block" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
</div>
</div>
<!--[if lte IE 8 ]>  
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script>window.jQuery || document.write('<script src="/js/jquery-1.11.0.min.js?c=0.131138134"><\/script>')</script> 
    <![endif]-->
<!--[if gt IE 8 | !(IE)]><!-->
<script src="//code.jquery.com/jquery-2.1.0.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/jquery-2.1.0.min.js?c=0.131138134"><\/script>')</script>
<!-- <![endif]-->
<script type="text/javascript" src="/js/modernizr.2.8.2.js?c=0.131138134"></script>
<script type="text/javascript" src="/js/bootstrap.js?c=0.131138134"></script>
<script type="text/javascript" src="/js/plugins.js?c=0.131138134"></script>
<script type="text/javascript" src="/js/load.js?c=0.131138134"></script>
<script type="text/javascript" src="/js/infobubble.js?c=0.131138134"></script>
<script type="text/javascript" src="//maps.google.com/maps/api/js?sensor=false&amp;callback=gMapsCallback&amp;libraries=places" defer></script>
<script src="//use.typekit.net/fhj4hrk.js"></script>
<script>try{Typekit.load();}catch(e){}</script>
<script>

    window.gMapsCallback = function() {
            };

    function pageinit() {

        function banneraspect() {
            bannerWidth = $('.banner').width();
            ratio = 181 / 325  ;
            //console.log('width = '+ bannerWidth);
            //console.log('ratio = '+ ratio);
            //console.log('height = '+ bannerWidth * ratio);
            $('.banner, .banner-hold').css("height",  ratio * bannerWidth);
        };

        $(window).resize( function() {
            banneraspect();
        });

        banneraspect ();

    };

  </script>
</body>
</html>
kristiaanvandeneynde commented 8 years ago

I think I may know what's going wrong:

When you enable Drupal CSS (and/or JS) aggregation, it creates a .css.gz file for every .css file it generated through aggregation.

In it's .htaccess, Drupal tells Apache to serve the .css.gz files to any browser requesting the .css file, but only when the browser accepts gzipped content. In the same .htaccess, it tells Apache not to gzip it twice:

    # Serve gzip compressed CSS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.css $1\.css\.gz [QSA]

    # *snip*

    # Serve correct content types, and prevent mod_deflate double gzip.
    RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
    RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]

See http://cgit.drupalcode.org/drupal/tree/.htaccess?h=7.x#n121

The problem may be that mod_pagespeed fetches the content of a .css file generated by Drupal, receives a gzipped version because of the mod_rewrite rule (.css.gz) and then puts that gzipped data inside another file, serving it as a differently named .css file. Because this file is recognized as text/css, mod_pagespeed then hands it over to mod_deflate which compresses it again, leading to double compression.

Is this possible?

alexhass commented 8 years ago

Maybe... Is this somehow reproducible? mod_pagespeed cannot detect/decompress this gziped content? If this is true it should be reproducible, isn't it?

kristiaanvandeneynde commented 8 years ago

Well, yeah :)

The best way to test this is to download a Drupal installation, enable CSS aggregation and then look at the mode_pagespeed version of the aggregated CSS file in the source.

jmarantz commented 8 years ago

PageSpeed would definitely be confused if Drupal gzips a resource but does not put in the proper header.

In any case, why not just let PageSpeed's aggregation do the job and turn off Drupal aggregation?

-Josh

On Wed, Sep 2, 2015 at 5:12 AM, kristiaanvandeneynde < notifications@github.com> wrote:

Well, yeah :)

The best way to test this is to download a Drupal installation, enable CSS aggregation and then look at the mode_pagespeed version of the aggregated CSS file in the source.

— Reply to this email directly or view it on GitHub https://github.com/pagespeed/mod_pagespeed/issues/1044#issuecomment-136988715 .

alexhass commented 8 years ago

I cannot follow. This is an intermittend issue.

Aggegation of js and css was all times enabled. I strongly belive Drupal sends the proper headers with Apache. The code that was maybe binary was an js file that has not changed for several years, but was always used.

Why should it work mostly, but break randomly from time to time?

How does pagespeed caches the files? Are they regenerated from time to time or when?

jmarantz commented 8 years ago

The headers may be correct coming out of apache but incorrect coming out of drupal and into mps. This is just my first theory based on this email thread and problems we have seen in the past.

Intermittent problems may be a result of server-side cache expiry.

In any case, does it work to turn off drupal aggregation and let mps do that? On Sep 2, 2015 12:44 PM, "yamlfd" notifications@github.com wrote:

I cannot follow. This is an intermittend issue.

Aggegation of js and css was all times enabled. I strongly belive Drupal sends the proper headers with Apache. The code that was maybe binary was an js file that has not changed for several years, but was always used.

Why should it work mostly, but break randomly from time to time?

How does pagespeed caches the files? Are they regenerated from time to time or when?

— Reply to this email directly or view it on GitHub https://github.com/pagespeed/mod_pagespeed/issues/1044#issuecomment-137165149 .

alexhass commented 8 years ago

I have never tested without drupal aggregation.

There may also be a misunderstanding how Drupal works here. The header of html body always link to the .css and .js file. If mod_rewrite detects that the webbrowser support gzip compression it rewrites to the css.gz ang .js.gz files and adds the correct headers. The files are served from a files directory on disk.

For me it is not clear where in this rewite process the mps is jumping in between. Can you explain this, please? Than it may be possible to write a repro case. For me it is totally unclear how some js code should be raw code and other binary. It would make more sense to me if all is binary.

To me it is more likely an apache mod_rewrite and mps issue as drupal is not serving anything here. This are apache internals / apache modules only.

jmarantz commented 8 years ago

Three clarifications please:

  1. What version of mod_pagespeed are you using? E.g. 1.9.32.4 etc?
  2. do two separate users kristiaanvandeneynde and yamlfd experience this same issue? Or are these two names for the same person?
  3. are you using ModPagespeedLoadFromFile to get mod_pagespeed to directly load the gzipped resources from the file system?

When LoadFromFile is used, mod_pagespeed translates the URL into a filename, and it assumes that it's not gzipped. A general problem we have is that we don't see any of the response headers that would normally be configured with that asset.

When LoadFromFile is not used, mod_pagespeed does a loopback http(s) fetch to the http server to get the asset. MPS by default would not specify accept-encoding:gzip, however it will unzip responses if content-encoding:gzip is specified on the response. So I would expect this to work fine with whatever mod_rewrite/drupal is doing.

The only trouble will come if somehow gzipped content is returned in the loopback fetch but the content-encoding header is not there. But even in that case, mod_pagespeed's combine_css filter will parse CSS files to make sure they are valid before combining them. However I'm not sure if the combine_javascript filter does that.

Can you provide a URL of a page that exhibits this problem? -Josh

On Wed, Sep 2, 2015 at 3:25 PM, yamlfd notifications@github.com wrote:

I have never tested without drupal aggregation.

There may also be a misunderstanding how Drupal works here. The header of html body always link to the .css and .js file. If mod_rewrite detects that the webbrowser support gzip compression it rewrites to the css.gz ang .js.gz files and adds the correct headers. The files are served from a files directory on disk.

For me it is not clear where in this rewite process the mps is jumping in between. Can you explain this, please? Than it may be possible to write a repro case. For me it is totally unclear how some js code should be raw code and other binary. It would make more sense to me if all is binary.

To me it is more likely an apache mod_rewrite and mps issue as drupal is not serving anything here. This is apache internals only.

— Reply to this email directly or view it on GitHub https://github.com/pagespeed/mod_pagespeed/issues/1044#issuecomment-137220235 .

kristiaanvandeneynde commented 8 years ago

Well, we turned off MPS because it was breaking half of our clients' sites. But I'll see if I can get a demo version up and running tomorrow where I turn it on for that site specifically.

quinncomendant commented 8 years ago

Today we experienced something similar, except the "corrupt" js file was simply empty. Modifying the URL by adding ?v=1 to the end of the URL allowed the file to be delivered correctly. This indicates there is a problem with the file that was cached. Then, by clearing the entire pagespeed cache, the files would load correctly. I am using pagespeed running on a reverse proxy pulling content from a remote origin server. My guess is that the origin server delivered an empty file, and pagespeed cached it.

psyray commented 8 years ago

@kristiaanvandeneynde You're right, problem comes from pagespeed which randomly double gzip css/js files.

To test, download, to your desktop, a css file with strange character, rename it gz and open it. Your css file is inside.

Bug occurs with drupal 7 & 8, with or without aggregation.

Any news about this bug resolution (if pagespeed is faulty) ? Maybe adding a rewrite rule in drupal htaccess, like the one for mod_deflate, could resolve this bug also ?

oschaaf commented 8 years ago

@kristiaanvandeneynde @quinncomendant @psyray It would be really helpful if you could fill us in on the questions that @jmarantz asked earlier (see https://github.com/pagespeed/mod_pagespeed/issues/1044#issuecomment-137228201) ?

kristiaanvandeneynde commented 8 years ago

Hi, I lost track of this issue after I have switched jobs. I am not one and the same user as yamlfd, but I sadly can no longer access the old environment to answer questions 1 and 3.

psyray commented 8 years ago

@jmarantz @oschaaf My OS is debian, with apache 2.2.22

  1. mod-pagespeed-stable (installed via apt-get) Version: 1.9.32.13-r0
  2. I experienced the same issue than @kristiaanvandeneynde and @yamlfd, and, after some investigation, I came to the same conclusion, double gzip.
  3. No, ModPagespeedLoadFromFile is in comment in pagespeed.conf
vatnoise commented 8 years ago

Also happens (breaks the css) on our websites when using IE9 (9.0.8112.16421 - Windows 7 x32) with mod_pagespeed enabled. In Chrome and Firefox is working fine, also works fine in IE10 and Edge.