WebPagetest Forums

Full Version: What is easy to do to improve speed from test result?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2

This is my performance review but I dont really know what to do next or what I would be able to improve easily with minimal knowledge...

I am using wordpress plugin W3 Total Cache by W3 EDGE ® to improve load speed (the site loads very slow) but I think there are things I have to do manually. for example I have an option to load js & css scripts to minify. Would I load the same files that the review says I should compress?

If I can get some suggestions and explanation how to optimize my site I would appreciate it Huh

Thank u to whoever can help Smile
Are you sure W3TC is installed and working? 26 seconds for the base page to respond is just about the worst I have EVER seen (and I have seen a lot). Even without a caching plugin and an obscenely slow hosting provider I have never seen it that bad. W3TC should be caching a static version of your page and should return in well under 1 second.

The compression is referring to gzip compression. That is usually done by modifying the .htaccess file in the root of your site by adding something like:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain    
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE text/xml    
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

(this is for apache 2.x, 1.x uses mod_gzip). It does require that your hosting provider have gzip compression enabled for their apache - if not yell at them because they should.

I know some stuff about W3TC but have never had to configure it so hopefully someone else chimes in (I know several here have) but you need to give it a list of css and javascript files to merge together which will handle the "combine css/js" recommendation.

You should take care of the problems in this order, and then come back and see what things look like:

1 - Fix the base page response time. Nothing else matters until you get that 26+ seconds reduced.

2 - Enable gzip compression. It's just a configuration setting and has no risk.

3 - Configure W3TC to merge the css and javascript files
Thank you for responding Smile

I have the W3TC installed but Im not really sure how to make sure it works..thats how I got here...

I will call the hosting (ipage.com) to see if they can help with the base page response time which you are right is the majority of the problem Sad

thank u again!!!
Have you walked through the steps here: http://wordpress.org/extend/plugins/w3-t...tallation/ ? That should get it installed and configured for most of the basics. It might help hide the hosting problems by caching a static version of the page but the underlying problem should be fixed as well (9 times out of 10 it is a really slow database).

Good luck.

Hey Patric, I got my base page response time down to 1086ms !! wooohooo Smile ipage did an optimization for the database & made sure the gzip is enabled.. Thank u for u're knowledge and willingness to share!!!!

Regarding the W3TC I went over their installation directions with the link you gave me, the thing I didnt do is change the permissions to 777 and change back to 775 after installation of the plugin...do you know why that is important and should I remove the plugin, change the permissions on my file-manager and then reinstall?...(ps I tried the plugin forum but they dont always respond to questions so I am hoping u can help...)
I actually did some more reading & it is installed correctly.... thanx again Smile
Glad to hear things are working better now. If you want some more feedback on where to go next feel free to post a new test result for people to chime in in (though fixing the database problem should make an enormous difference :-) ).

Glad to help.

Hi Pat,

I wanted to start compressing files and I got a little confused:

Regarding the .htaccess this is what I have - from what I could understand W3TC has done what you wrote to put in the .htaccess:

DirectoryIndex index.php

# BEGIN W3TC Skip 404 error handling by WordPress for static files
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} \.(css|js|html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|asf|asx|wax|wmv|wmx|avi|bmp|​class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a​|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pp​tx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$ [NC]
RewriteRule .* - [L]
# END W3TC Skip 404 error handling by WordPress for static files

# BEGIN W3TC Browser Cache
<IfModule mod_mime.c>
AddType text/css .css
AddType application/x-javascript .js
AddType text/html .html .htm
AddType text/richtext .rtf .rtx
AddType image/svg+xml .svg .svgz
AddType text/plain .txt
AddType text/xsd .xsd
AddType text/xsl .xsl
AddType text/xml .xml
AddType video/asf .asf .asx .wax .wmv .wmx
AddType video/avi .avi
AddType image/bmp .bmp
AddType application/java .class
AddType video/divx .divx
AddType application/msword .doc .docx
AddType application/x-msdownload .exe
AddType image/gif .gif
AddType application/x-gzip .gz .gzip
AddType image/x-icon .ico
AddType image/jpeg .jpg .jpeg .jpe
AddType application/vnd.ms-access .mdb
AddType audio/midi .mid .midi
AddType video/quicktime .mov .qt
AddType audio/mpeg .mp3 .m4a
AddType video/mp4 .mp4 .m4v
AddType video/mpeg .mpeg .mpg .mpe
AddType application/vnd.ms-project .mpp
AddType application/vnd.oasis.opendocument.database .odb
AddType application/vnd.oasis.opendocument.chart .odc
AddType application/vnd.oasis.opendocument.formula .odf
AddType application/vnd.oasis.opendocument.graphics .odg
AddType application/vnd.oasis.opendocument.presentation .odp
AddType application/vnd.oasis.opendocument.spreadsheet .ods
AddType application/vnd.oasis.opendocument.text .odt
AddType audio/ogg .ogg
AddType application/pdf .pdf
AddType image/png .png
AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
AddType audio/x-realaudio .ra .ram
AddType application/x-shockwave-flash .swf
AddType application/x-tar .tar
AddType image/tiff .tif .tiff
AddType audio/wav .wav
AddType audio/wma .wma
AddType application/vnd.ms-write .wri
AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
AddType application/zip .zip
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css M3600
ExpiresByType application/x-javascript M3600
ExpiresByType text/html M3600
ExpiresByType text/richtext M3600
ExpiresByType image/svg+xml M3600
ExpiresByType text/plain M3600
ExpiresByType text/xsd M3600
ExpiresByType text/xsl M3600
ExpiresByType text/xml M3600
ExpiresByType video/asf M31536000
ExpiresByType video/avi M31536000
ExpiresByType image/bmp M31536000
ExpiresByType application/java M31536000
ExpiresByType video/divx M31536000
ExpiresByType application/msword M31536000
ExpiresByType application/x-msdownload M31536000
ExpiresByType image/gif M31536000
ExpiresByType application/x-gzip M31536000
ExpiresByType image/x-icon M31536000
ExpiresByType image/jpeg M31536000
ExpiresByType application/vnd.ms-access M31536000
ExpiresByType audio/midi M31536000
ExpiresByType video/quicktime M31536000
ExpiresByType audio/mpeg M31536000
ExpiresByType video/mp4 M31536000
ExpiresByType video/mpeg M31536000
ExpiresByType application/vnd.ms-project M31536000
ExpiresByType application/vnd.oasis.opendocument.database M31536000
ExpiresByType application/vnd.oasis.opendocument.chart M31536000
ExpiresByType application/vnd.oasis.opendocument.formula M31536000
ExpiresByType application/vnd.oasis.opendocument.graphics M31536000
ExpiresByType application/vnd.oasis.opendocument.presentation M31536000
ExpiresByType application/vnd.oasis.opendocument.spreadsheet M31536000
ExpiresByType application/vnd.oasis.opendocument.text M31536000
ExpiresByType audio/ogg M31536000
ExpiresByType application/pdf M31536000
ExpiresByType image/png M31536000
ExpiresByType application/vnd.ms-powerpoint M31536000
ExpiresByType audio/x-realaudio M31536000
ExpiresByType application/x-shockwave-flash M31536000
ExpiresByType application/x-tar M31536000
ExpiresByType image/tiff M31536000
ExpiresByType audio/wav M31536000
ExpiresByType audio/wma M31536000
ExpiresByType application/vnd.ms-write M31536000
ExpiresByType application/vnd.ms-excel M31536000
ExpiresByType application/zip M31536000
<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
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
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
<FilesMatch "\.(css|js)$">
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "public, must-revalidate, proxy-revalidate"
FileETag MTime Size
<IfModule mod_headers.c>
Header set X-Powered-By "W3 Total Cache/"
<FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$">
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "public, must-revalidate, proxy-revalidate"
FileETag MTime Size
<IfModule mod_headers.c>
Header set X-Powered-By "W3 Total Cache/"
<FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg|jpeg|​jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods​|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xl​sx|xlt|xlw|zip)$">
<IfModule mod_headers.c>
Header set Pragma "public"
Header set Cache-Control "public, must-revalidate, proxy-revalidate"
FileETag MTime Size
<IfModule mod_headers.c>
Header set X-Powered-By "W3 Total Cache/"
# END W3TC Browser Cache

# BEGIN W3TC Page Cache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (2\.0\ mmp|240x320|alcatel|amoi|asus|au\-mic|audiovox|avantgo|benq|bird|blackberry|blazer|cdm|cellphone|danger|ddipocket|​docomo|dopod|elaine/3\.0|ericsson|eudoraweb|fly|haier|hiptop|hp\.ipaq|htc|huawei|i\-mobile|iemobile|j\-phone|kddi|konka|kwc|kyocera/wx310k|lenovo|lg|lg/u990|lge\ vx|midp|midp\-2\.0|mmef20|mmp|mobilephone|mot\-v|motorola|netfront|newgen|newt|nintendo\ ds|nintendo\ wii|nitro|nokia|novarra|o2|openweb|opera\ mobi|opera\.mobi|palm|panasonic|pantech|pdxgw|pg|philips|phone|playstation\ portable|portalmmm|ppc|proxinet|psp|pt|qtek|sagem|samsung|sanyo|sch|sec|sendo|sg​h|sharp|sharp\-tq\-gx10|sie|small|smartphone|softbank|sonyericsson|sph|symbian|symbian\ os|symbianos|toshiba|treo|ts21i\-10|up\.browser|up\.link|uts|vertu|vodafone|wap|willcome|windows\ ce|windows\.ce|winwap|xda|zte) [NC]
RewriteRule .* - [E=W3TC_UA:_low]
RewriteCond %{HTTP_USER_AGENT} (acer\ s100|android|archos5|blackberry9500|blackberry9530|blackberry9550|cupcake|docomo​\ ht\-03a|dream|htc\ hero|htc\ magic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|lg\-gw620|liquid\ build|maemo|mot\-mb200|mot\-mb300|nexus\ one|opera\ mini|samsung\-s8000|series60.*webkit|series60/5\.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t\-mobile\ mytouch\ 3g|t\-mobile\ opal|tattoo|webmate|webos) [NC]
RewriteRule .* - [E=W3TC_UA:_high]
RewriteCond %{HTTPS} =on
RewriteRule .* - [E=W3TC_SSL:_ssl]
RewriteCond %{SERVER_PORT} =443
RewriteRule .* - [E=W3TC_SSL:_ssl]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=W3TC_ENC:.gzip]
RewriteCond %{QUERY_STRING} =""
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|wp-.*\.php|index\.php) [NC,OR]
RewriteCond %{REQUEST_URI} (wp-comments-popup\.php|wp-links-opml\.php|wp-locations\.php) [NC]
RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|wordpress_\[a-f0-9\]\+|wordpress_logged_in) [NC]
RewriteCond "/hermes/bosweb/web104/b1049/ipg.micgeronimocom/wp-content/w3tc/pgcache/$1/_index%{ENV:W3TC_UA}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" -f
RewriteRule (.*) "/wp-content/w3tc/pgcache/$1/_index%{ENV:W3TC_UA}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" [L]
# END W3TC Page Cache

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Now I actually have to compress files right? On the host I can choose files to compress or create a compressed copy.

Reading about it I couldnt find an answer to the question what files are safe to compress?...I just dont want to compress a file that wont be able to be opened and I'll lose content from the site... I read this below:

"Most web sites gzip their HTML documents. It's also worthwhile to gzip your scripts and stylesheets, but many web sites miss this opportunity. In fact, it's worthwhile to compress any text response including XML and JSON. Image and PDF files should not be gzipped because they are already compressed. Trying to gzip them not only wastes CPU but can potentially increase file sizes.
Gzipping as many file types as possible is an easy way to reduce page weight and accelerate the user experience."

So if I compress any file types listed above (html, text, XML, stylesheets, scripts & JSON) it wont change the appearance of the website only improve load time?

I wanna try but Im scared & not sure thats what I am supposed to do...

Hope u or someone else can help...
Stay away from XML and JSON. Some versions of IE don't react well to gzipped responses to AJAX calls. HTML, text, css and javascript are safe across-the-board.

Here is the .htaccess I have in place on WebPagetest:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain    
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

The site will look exactly the same to the users (just faster) and as a bonus you'll use less bandwidth which can save you money if you get charged for it.
I updated the previous post and included what I have in my .htaccess - should I still add what you wrote? and if so where? and this actually only tells servers to accept compressed files right? I still need to actually compress them...right?...

lol everytime I learn something I feel more confused!
Sorry, looks like it has you covered. You don't need to compress the files yourself, Apache will do it transparently.

If they are not showing up as compressed then you need to ping your hosting provider and make sure they have mod_deflate installed (some don't because they don't want the extra CPU utilization but that's not a good excuse).
Pages: 1 2
Reference URL's