I have a Debian Lenny server, from where I run my websites – Zend Framework apps, WordPress sites etc.
However, on all of my websites, regardless of what type, when I view source on ANY page, the quotation marks are not there for HTML attributes.
For example, if I even have a vanilla html file, say, text.html with the following basic contents sitting on the server:
<html>
<head>
<meta name="content" value="Some value."/>
<link rel="stylesheet" href="http://test.com/css/master.css" type="text/css" media="screen, projection"/>
</head>
When I view that page in a browser, there are no quotes around the content or rel attributes.
E.g., the rendered HTML is:
<html>
<head>
<meta name=content value="Some value."/>
<link rel=stylesheet href="http://test.com/css/master.css" type="text/css" media="screen, projection"/>
</head>
I have googled for weeks, asked around but no-one has any idea what is causing this.
I have checked my php.ini file, there are no magic quotes, or stripslashes() etc enabled.
As it is every site I have, and every rendered page, I am thinking maybe an Apache config option, but everything looks OK to me.
Any help or insight would be greatly appreciated, as this is effecting my ranking on Yahoo and Bing, as for example they see no meta description tags (as the quotes are missing).
Thanks a lot,
Paul
ANSWERED by asbjornu below – the problem was mod_pagespeed.
Thanks again asbjornu!
A quick cURL command reveals the following:
I’m pretty certain the
X-Mod-Pagespeedheader, which comes from mod_pagespeed is to blame. Look into mod_pagespeed’s configuration, or deactivate the module completely (you might be able to do this within a htaccess file, given the required permissions in httpd.conf).