Official: WEBO CS-Cart Site SpeedUp User Configuration & Testing thread

If you haven’t seen ETInteractive’s review of Site SpeedUp yet, it’s worth a quick glance ([url]http://www.cscart-usa.com/2010/06/webo-site-speedup-review/[/url]). While his review is fairly short, it gets straight to the point and it’s a point that I 100% whole heartedly agree with. WEBO Site SpeedUp is in my opinion the best add-on you can invest in.



CS-Cart is great, but I think most of us agree that there is a lot of room for improvement in the caching/speed department. This is especially true for those of you with complex pages or larger databases. For the last year or so, a lot of us have used a combination of Smartoptimizer and other tweaks to increase our sites load speed. While this worked well, it was not an all-in-one solution and it didn’t work for everyone.



After installing the CS-Cart version WEBO SiteSpeedUp (referred to as WSSU from here on out), I fully believe this is the only thing required to decrease the load time of your site and increase your conversion rates. I know this post sounds like an ad but I fully believe that if we are going to harp on the products with false claims then we should praise the ones that really work.



Anyway, so on to the meat of this thread. WSSU out of the box does not include a configuration file that’s tweaked especially for CS-Cart. The included choices are Safe, Basic, Optimal, Extreme and they give you the ability to create your own. That’s exactly what we are going to do in this thread and I’m hoping that with enough input and feedback we can create a CS-Cart configuration file that will be included in future WSSU releases.



I’ve currently installed WSSU on 4 different CS-Cart 2.0.15 installations and with about 2 days’ worth of testing in different server environments, I’ve come across what I hope is a tweaked config. I obviously cannot test with every environment and every add-on, so I’m depending on you to help me. This thread will be the place to ask for help installing, configuring and testing WSSU. It may not be possible to find a one-size-fits-all config file, but we should be able to at least get a Safe & Extreme that’s tweaked for CS-Cart.



Its free to try it out and you can grab it from HERE. If you end up loving it as much as I do and decide to purchase it, be sure to go through the review link above and save yourself 20% (I am not affiliated with WEBO and the discount links do not provide me with any monetary gain).

Installation is pretty straight forward but the wording in the documentation can be a little confusing. After you download the latest version of WSSU, extract it. In this example you have a file called webo.site.speedup.v1.2.0.cscart, and when you extract it, browse to the folder you extracted it to and inside you will see a folder called webositespeedup. Copy this folder to the CS-Cart addons directory on your server. Please note that this is not the addons folder located under skins/(your skin name). You are looking for the addons folder thats located in the root of your CS-Cart installation (for most people this will be public_html/addons).



You can find the official WSSU CS-Cart installation instructions HERE.



CONFIGURATION: These settings are based on WSSU beta version 1.2.0b



Straight out of the box I did not have any issues with the Safe, Basic or Optimal configurations; however the Extreme configuration file would break every install I applied it to. After chipping away at it slowly, I was able to get rid of most errors by disabling “Apply CSS Sprites” under the CSS Sprites tab. If Extreme mode causes your site not to load or you get a white/blank page, disable CSS Sprites.



Step 1. Under the “Options” tab, click on Create New. We will use this as our testing ground. (Advanced: After creating a custom configuration file, you will find the file located in /addons/websitespeedup/web-optimizer/config.user.php. If you wish to just copy and paste the settings that I am using in my current CS-Cart config file, you can get the code below).



Step 2. I believe the Optimal config settings will work for most users so you can begin by changing your config to match the settings of the Optimal config.



Step 3. Be sure to test all of your settings in debug mode before you make them live. WSSU allows you to do this by selecting your configuration and clicking on “Make Live”. Once your config is highlighted/active you can browse to you site with the following URL to check and see if anything is wonky - http://YOUR_DOMAIN_HERE/?web_optimizer_debug=1 (i.e. [url]Ecommerce Solutions and Software for all types of business - CS-Cart)



Once you are sure that everything is working correctly you can Enable the configuration and then make sure everything is happy.



Some good tools/sites to do some before and after testing include:



[url]http://www.webpagetest.org/test[/url] (enter your domain name, select the location nearest you, choose ie8, set number of runs to 4, and click submit)



[url]Website Speed Test | Pingdom Tools (enter your domain name and click test now)



If you use Firefox (and you should be) install the Firebug addon followed by the YSlow addon and the Page Speed addon. Once its installed, you can right-click on a page on your site and click Inspect Element and then select either the Page Speed tab or the YSlow tab and run them.

No issues = No reported issues

Issues = Some issues reported, see comments



Combine CSS: (Best settings seem to be ok in most cases.)

Combine all CSS in tags and (No issues)

Enable inline styles merging (No issues)

Enable external styles merging (No issues)



Combine JavaScript:
(Best settings seem to be ok. Safe combine mode does not seem to be needed, but use with caution depending on your addons.)

Combine only JavaScript included in tag (Some issues when combining in and . Just combining in seems ok)

Enable inline JavaScript merging (No issues)

Enable external JavaScript merging (No issues)

Force moving combined script to (No issues)

Remove duplicates (No issues)



Minify: (Best settings work in most cases, see comments.)

Minify CSS (No issues)

Minify with JSMin (Possible issue using Packer, YUI Compressor & JSMin seems safe)

Minify HTML (No issues)

Compress HTML to one string (Some have reported an issue, but not confirmed.)

Remove HTML comments (No issues)



Gzip: (Should be ok to select all options)

Gzip CSS (No issues)

Gzip JavaScript (No issues)

Gzip fonts (No issues)

Gzip HTML (No issues)

Check for gzip possibility via cookies (No issues)

Use deflate instead of gzip for IE6/7 (No issues)



Client side cache: (Should be ok to select all options)

Cache CSS (No issues)

Cache JavaScript (No issues)

Cache images (No issues)

Cache fonts (No issues)

Cache video files (No issues)

Cache static assets (No issues)

Cache HTML (No issues)

Default timeout to cache HTML (in seconds): 0 (Active discussion regarding this is needed)

Cache external files (No issues)



.htaccess:
(If an option is greyed out then your server does not support it (have your host enabled/install). Note that if you have mod_deflate you do not (cant) also have mod_gzip)

Enable .htaccess (No issues)

Place .htaccess file locally (not to Document Root) - (No issues)

Use mod_deflate + mod_filter (No issues)

Use mod_expires (No issues)

Use mod_headers (No issues)

Use mod_setenvif (No issues)

Use mod_rewrite (No issues)

Use mod_mime (No issues)



Performance: (A lot of these options are personal preference. Use caution with Don’t check cache files existence)

Ignore file modification time stamp (mtime) - (No issues)

Do not use regular expressions (No issues)

Restore CSS properties (No issues)

Days to store cache files: 0 (Active discussion regarding this is needed)

Cache Engine: File system (I have not been able to test with Memcached, someone let me know if there are any issues)



data:URI:

Apply data:URI (No issues)

Apply mhtml (No issues)

Maximum data:URI size (in bytes): 24576 (Maximum data length supported by IE8 is 32KB so this value is pretty solid)

Maximum mhtml size (in bytes): 51200

Separate images from CSS code (No issues, however in some tests you receive better Page Speed scores with this disabled)

Load images on DOMready event (No issues)



CSS Sprites: (There are currently issues with WSSU internal sprite creation. Try excluding images until you can get this working or use SpriteME and create them yourself)

Combine HTML images (No issues)

Combine images for the current page only (No issues, but this might be a personal preference based on the number of images on your pages)



Server side cache: (Weird refresh errors with CS-Cart when enabling Only cache first n bytes of content. Use with caution)

Cache generated HTML files (No issues)

Default HTML cache timeout (in seconds): 600 (Up for discussion)

Extreme mode (Ive enabled and diaabled this and Im still on the wall about it. Further testing/discussion is needed)



Unobtrusive JavaScript: (All options seem ok but this will be dependant on addons installed. More discussion is needed regarding Advanced mode/Advanced mode + inline code)

Basic mode (No issues)

Include combined JavaScript file before (Breaks JS completely (i.e. Hot Deals) for some people)

Move all JavaScript code to (Multiple possible issues. JavaScript not working or working with errors in IE browsers)

Move JavaScript widgets calls before (No issues)

Move counter calls before (No issues)

Move advertisement calls before (No issues)

Make iframes’ load delayed (No issues)



CDN: (Untested by me, but its next on my list)



My current config.user.php

```php
#########################################

WEBO Site SpeedUp Configuration ######

#########################################

Configuration title

$compress_options[‘title’] = “User configuration”;

Configuration description

$compress_options[‘description’] = “User configuration description.”;

Active configuration

$compress_options[‘config’] = “user”;

Add JS loader for all widgets on onload event

$compress_options[‘unobtrusive’][‘on’] = “0”;

Add merged script right before

$compress_options[‘unobtrusive’][‘body’] = “1”;

Put all scripts right before

$compress_options[‘unobtrusive’][‘all’] = “1”;

Put all known JS informers right before

$compress_options[‘unobtrusive’][‘informers’] = “1”;

Put all known JS counters right before

$compress_options[‘unobtrusive’][‘counters’] = “1”;

Put all known advertisement blocks right before

$compress_options[‘unobtrusive’][‘ads’] = “1”;

Load all iframes near

$compress_options[‘unobtrusive’][‘iframes’] = “1”;

Merge external JavaScript files

$compress_options[‘external_scripts’][‘on’] = “1”;

Merge inline scripts in head

$compress_options[‘external_scripts’][‘inline’] = “1”;

Move merged scripts to

$compress_options[‘external_scripts’][‘head_end’] = “1”;

Merge external CSS files

$compress_options[‘external_scripts’][‘css’] = “1”;

Merge inline styles in head

$compress_options[‘external_scripts’][‘css_inline’] = “1”;

Ignore list, files separated by space

$compress_options[‘external_scripts’][‘ignore_list’] = “joomla.javascript.js topsy.js wpsf-js.php tiny_mce.js tiny_mce_src.js tiny_init.js tiny_mce_gzip.php fckeditor.js”;

Ignore list, CSS files separated by space

$compress_options[‘external_scripts’][‘additional_list’] = “”;

Include CSS code to all generated files

$compress_options[‘external_scripts’][‘include_code’] = “”;

Include try-catch construction to merged JS file

$compress_options[‘external_scripts’][‘include_try’] = “0”;

Remove duplicates of common libraries

$compress_options[‘external_scripts’][‘duplicates’] = “1”;

Exclude the following scripts from minify

$compress_options[‘external_scripts’][‘minify_exclude’] = “”;

Performance options, don’t check files mtime

$compress_options[‘performance’][‘mtime’] = “1”;

Don’t use RegExp everywhere where it’s possible

$compress_options[‘performance’][‘plain_string’] = “1”;

Cache version, ignore cache integrity, no I/O overhead

$compress_options[‘performance’][‘cache_version’] = “0”;

Uniform cache files through all browsers

$compress_options[‘performance’][‘uniform_cache’] = “0”;

Restore missed CSS properties

$compress_options[‘performance’][‘restore_properties’] = “1”;

Days to delete old files from cache, 0 disables logic

$compress_options[‘performance’][‘delete_old’] = “0”;

Minify options, JS

$compress_options[‘minify’][‘javascript’] = “1”;

Minify JS inside tag. Please be carefull

$compress_options[‘minify’][‘javascript_body’] = “0”;

Minify JS with JSMin from Douglas Crockford

$compress_options[‘minify’][‘with_jsmin’] = “1”;

Minify JS with Dean Edwards Packer

$compress_options[‘minify’][‘with_packer’] = “0”;

Minify JS with YUI Compressor (requires java installed)

$compress_options[‘minify’][‘with_yui’] = “0”;

Minify CSS

$compress_options[‘minify’][‘css’] = “1”;

Minify CSS inside tag

$compress_options[‘minify’][‘css_body’] = “1”;

Remove whitespaces

$compress_options[‘minify’][‘page’] = “1”;

Remove comments from HTML. Some JS counters can be broken

$compress_options[‘minify’][‘html_comments’] = “1”;

Shrink HTML code to 1 string, CPU intensive

$compress_options[‘minify’][‘html_one_string’] = “1”;

CSS file name (only if 1 CSS set for website is used)

$compress_options[‘minify’][‘css_file’] = “”;

JS file name (only if 1 JS set for website is used)

$compress_options[‘minify’][‘javascript_file’] = “”;

CSS file host (both for CDN and merged file)

$compress_options[‘minify’][‘css_host’] = “”;

JavaScript file host (both for CDN and merged file)

$compress_options[‘minify’][‘javascript_host’] = “”;

Gzip options

$compress_options[‘gzip’][‘javascript’] = “1”;

$compress_options[‘gzip’][‘page’] = “1”;

$compress_options[‘gzip’][‘css’] = “1”;

Gzip font files (SVG, TTF, OTF, etc)

$compress_options[‘gzip’][‘fonts’] = “1”;

Check for gzip possibility via cookie

$compress_options[‘gzip’][‘cookie’] = “1”;

Exclude IE6/7 from gzip logic

$compress_options[‘gzip’][‘noie’] = “1”;

Compression levels for JS/HTML/CSS files, work only in PHP

$compress_options[‘gzip’][‘javascript_level’] = “9”;

$compress_options[‘gzip’][‘page_level’] = “9”;

$compress_options[‘gzip’][‘css_level’] = “9”;

$compress_options[‘gzip’][‘fonts_level’] = “9”;

Caching

$compress_options[‘far_future_expires’][‘javascript’] = “1”;

$compress_options[‘far_future_expires’][‘css’] = “1”;

Cache static assets via .htaccess or PHP proxy

$compress_options[‘far_future_expires’][‘images’] = “1”;

$compress_options[‘far_future_expires’][‘fonts’] = “1”;

Cache static assets (flash, video, etc) – only via .htaccess

$compress_options[‘far_future_expires’][‘video’] = “1”;

$compress_options[‘far_future_expires’][‘static’] = “1”;

Send cache headers for HTML files?

$compress_options[‘far_future_expires’][‘html’] = “1”;

Default timeout of client side HTML files caching, in seconds

$compress_options[‘far_future_expires’][‘html_timeout’] = “0”;

Add caching for external files

$compress_options[‘far_future_expires’][‘external’] = “1”;

Cache generated HTML files

$compress_options[‘html_cache’][‘enabled’] = “1”;

Cache timeout for generated HTML files, in seconds

$compress_options[‘html_cache’][‘timeout’] = “600”;

Flush head section with first N bytes of body?

$compress_options[‘html_cache’][‘flush_only’] = “0”;

Flush size of HTML body

$compress_options[‘html_cache’][‘flush_size’] = “1024”;

Parts of ignore URL for HTML cache, separated by space

$compress_options[‘html_cache’][‘ignore_list’] = “”;

Parts of user agents to output cached HTML, separated by space

$compress_options[‘html_cache’][‘allowed_list’] = “office data msfrontpage yahoo googlebot yandex yadirect dyatel msnbot twiceler”;

Cookies to skip HTML caching

$compress_options[‘html_cache’][‘additional_list’] = “”;

On or off

$compress_options[‘active’] = “0”;

Display a link back to Web Optimizer

$compress_options[‘footer’][‘text’] = “0”;

Image path for Web Optimizer, empty for text link

$compress_options[‘footer’][‘image’] = “web.optimizer.stamp.png”;

Text for a text link

$compress_options[‘footer’][‘link’] = “Accelerated with WEBO Site SpeedUp”;

CSS styles to place Web Optimizer stamp

$compress_options[‘footer’][‘css_code’] = “float:right;margin:-104px 4px -100px”;

Add a spot to : lang=“wo” or xml:lang=“wo”

$compress_options[‘footer’][‘spot’] = “1”;

Should Web Optimizer use data URIs for background images?

$compress_options[‘data_uris’][‘on’] = “1”;

Should Web Optimizer separate CSS for rules and images?

$compress_options[‘data_uris’][‘separate’] = “1”;

Should Web Optimizer load resource CSS on DOMloaded event?

$compress_options[‘data_uris’][‘domloaded’] = “1”;

Maximum size of images to be converted, in bytes

$compress_options[‘data_uris’][‘size’] = “24576”;

data:URI ignore list, files separated by space, i.e. head.jpg

$compress_options[‘data_uris’][‘ignore_list’] = “”;

Should Web Optimizer use mhtml for background images?

$compress_options[‘data_uris’][‘mhtml’] = “1”;

Maximum size of images to be converted into mhtml, in bytes

$compress_options[‘data_uris’][‘mhtml_size’] = “51200”;

mhtml ignore list, files separated by space, i.e. head.jpg

$compress_options[‘data_uris’][‘additional_list’] = “”;

Should Web Optimizer use CSS Sprites for background images?

$compress_options[‘css_sprites’][‘enabled’] = “0”;

Save 24bit images in JPEG not PNG

$compress_options[‘css_sprites’][‘truecolor_in_jpeg’] = “0”;

Ignore no dimensions for repeat-x / repeat-y Sprites

$compress_options[‘css_sprites’][‘aggressive’] = “0”;

Add additional 5px around images to CSS Sprites

$compress_options[‘css_sprites’][‘extra_space’] = “0”;

Exclude IE6 from CSS Sprites creation

$compress_options[‘css_sprites’][‘no_ie6’] = “0”;

Restrict large Sprites creation on GDlib failure, in pixels

$compress_options[‘css_sprites’][‘dimensions_limited’] = “900”;

CSS Sprites ignore list, files separated by space, i.e. head.jpg

$compress_options[‘css_sprites’][‘ignore_list’] = “corners.gif”;

Combine small HTML images to sprites?

$compress_options[‘css_sprites’][‘html_sprites’] = “1”;

Restrict large HTML images from merging

$compress_options[‘css_sprites’][‘html_limit’] = “100”;

Restrict HTML Sprites to the curent page only?

$compress_options[‘css_sprites’][‘html_page’] = “1”;

Parallel downloads

$compress_options[‘parallel’][‘enabled’] = “1”;

Check hosts availability or not?

$compress_options[‘parallel’][‘check’] = “0”;

Use CSS host for all CSS files?

$compress_options[‘parallel’][‘css’] = “0”;

Use JavaScript host for all CSS files?

$compress_options[‘parallel’][‘javascript’] = “0”;

List of hosts for parallel downloads, i.e. img i1 i2

$compress_options[‘parallel’][‘allowed_list’] = “”;

List of websites (saellites) to distribute through them,

i.e. satellite.com satellite2.com

$compress_options[‘parallel’][‘additional’] = “”;

List of satellites’ hosts, i.e. i1 i2 i3

$compress_options[‘parallel’][‘additional_list’] = “”;

Lisf of ignored images, separated by space, i.e. xxc.php

$compress_options[‘parallel’][‘ignore_list’] = “”;

Custom CDN usage, 0 - defailt, 1 - cdn.host.com, 2 - Coral CDN, 3 - WEBO CDN

$compress_options[‘parallel’][‘custom’] = “0”;

FTP creadentials to upload new files to CDN

$compress_options[‘parallel’][‘ftp’] = “”;

SSL secure host to use for all CDN assets

$compress_options[‘parallel’][‘https’] = “”;

Should be gzip / cache settings written via .htaccess?

$compress_options[‘htaccess’][‘enabled’] = “1”;

$compress_options[‘htaccess’][‘mod_deflate’] = “1”;

$compress_options[‘htaccess’][‘mod_gzip’] = “0”;

$compress_options[‘htaccess’][‘mod_expires’] = “1”;

$compress_options[‘htaccess’][‘mod_headers’] = “1”;

$compress_options[‘htaccess’][‘mod_setenvif’] = “1”;

$compress_options[‘htaccess’][‘mod_rewrite’] = “1”;

$compress_options[‘htaccess’][‘mod_mime’] = “1”;

Use local directory with installed website

$compress_options[‘htaccess’][‘local’] = “1”;

#########################################

?> ```

reserved

Things to test:


  1. Testing with & w/o CS-Cart internal caching enabled (also is there any effect regarding DB caching?)


  2. Determining which images are the culprits behind the internal WSSU sprite creation failing (DB images?)


  3. Lunch time (more to come)

How does it compare to Smart Optimizer and the free options in speeding up the site? I’d like to see ETInteractive run another cart on the same server with SmartOptimizer and other commonly used tools from threads here and compare that speed. I’m just not sold yet on wanting to dump $79 to $99 a year on this product. I’ll try and run some tests myself, I’m just swamped at the moment.

Im at the office now so I dont have the exact numbers in front of me but I actually did some testing of no optimization, smartoptimization, smarttoptimization + manual tweaks (minifiy, merge, sprites), and then WEBO.



It was roughly something like:



No optimization:

138 files loaded

22second load time through pingdom.com

Page Speed = 64/100

Yslow = 68 D



Smartoptimizer:

78 files loaded

14second load time through pingdom.com

Page Speed = 72/100

Yslow = 76 C



Smartoptimizer w/ manually doing CSS/JS merging, manual sprite creation and google minify.

51 files loaded

12 second load time through pingdom.com

Page Speed = 76/100

YSlow = 82 B



WSSU (WEBO)

30-31 files loaded

6-9 second load time through pingdom.com

Page Speed = 82/100

YSlow = 89 B



The biggest thing to keep in mind (the major differences between the 2).



Smartoptimizer:

  1. Does not work for sites that have mutliple subdomains on the same IP (i.e. if you want smartoptimizer on one site but not on another)
  2. No HTML minify, merging, or caching support
  3. No data:URI/mhtml support
  4. No ability to relocate or force DOMloading of JS
  5. No CSS or HTML sprite creation
  6. Limited CSS/JS minify/merge support (No ability to remove duplicates)
  7. No ability to test settings “virtually”
  8. Requires .htaccess to function and requires .htaccess & PHP modifications for configuration changes (which are minor).
  9. Requires TPL modification to use the merged CSS/JS files created by Smartoptimizer (most people dont even know that Smartoptimizer can do this).
  10. Not actively supported or updated.



    There are really about 20 more differences but these are the ones I quickly thought of during my morning coffee. Having CS-Cart integration is nice for those who want something quick and easy and/or dont have root access to their domains.



    The cost is a bit steep if you consider that this is comprised from a bunch of “free” utilities and tools and you can achieve almost the same affect but it would take you hours/days of work and be a gigantic pain in the ass to make changes/updates.



    I do not know what the renewal cost would be each year, Im hoping its not the same price as the initial cost. Maybe the WEBO admins will reply as they have been made aware of this thread.

Here is my config and was verified by WEBO support as well.

```php
#########################################

WEBO Site SpeedUp Configuration ######

#########################################

Configuration title

$compress_options[‘title’] = “Safe configuration”;

Configuration description

$compress_options[‘description’] = “Carefully tested configuration which provides significant speedup for your website and don/'t harms it anyway.”;

Active configuration

$compress_options[‘config’] = “user”;

Add JS loader for all widgets on onload event

$compress_options[‘unobtrusive’][‘on’] = “0”;

Add merged script right before

$compress_options[‘unobtrusive’][‘body’] = “1”;

Put all scripts right before

$compress_options[‘unobtrusive’][‘all’] = “1”;

Put all known JS informers right before

$compress_options[‘unobtrusive’][‘informers’] = “1”;

Put all known JS counters right before

$compress_options[‘unobtrusive’][‘counters’] = “1”;

Put all known advertisement blocks right before

$compress_options[‘unobtrusive’][‘ads’] = “1”;

Load all iframes near

$compress_options[‘unobtrusive’][‘iframes’] = “1”;

Merge external JavaScript files

$compress_options[‘external_scripts’][‘on’] = “1”;

Merge inline scripts in head

$compress_options[‘external_scripts’][‘inline’] = “1”;

Move merged scripts to

$compress_options[‘external_scripts’][‘head_end’] = “1”;

Merge external CSS files

$compress_options[‘external_scripts’][‘css’] = “1”;

Merge inline styles in head

$compress_options[‘external_scripts’][‘css_inline’] = “1”;

Ignore list, files separated by space

$compress_options[‘external_scripts’][‘ignore_list’] = “joomla.javascript.js topsy.js wpsf-js.php tiny_mce.js tiny_mce_src.js tiny_init.js tiny_mce_gzip.php fckeditor.js”;

Ignore list, CSS files separated by space

$compress_options[‘external_scripts’][‘additional_list’] = “”;

Include CSS code to all generated files

$compress_options[‘external_scripts’][‘include_code’] = “”;

Include try-catch construction to merged JS file

$compress_options[‘external_scripts’][‘include_try’] = “0”;

Remove duplicates of common libraries

$compress_options[‘external_scripts’][‘duplicates’] = “0”;

Exclude the following scripts from minify

$compress_options[‘external_scripts’][‘minify_exclude’] = “”;

Performance options, don’t check files mtime

$compress_options[‘performance’][‘mtime’] = “1”;

Don’t use RegExp everywhere where it’s possible

$compress_options[‘performance’][‘plain_string’] = “1”;

Cache version, ignore cache integrity, no I/O overhead

$compress_options[‘performance’][‘cache_version’] = “0”;

Uniform cache files through all browsers

$compress_options[‘performance’][‘uniform_cache’] = “0”;

Restore missed CSS properties

$compress_options[‘performance’][‘restore_properties’] = “1”;

Days to delete old files from cache, 0 disables logic

$compress_options[‘performance’][‘delete_old’] = “0”;

Minify options, JS

$compress_options[‘minify’][‘javascript’] = “1”;

Minify JS inside tag. Please be carefull

$compress_options[‘minify’][‘javascript_body’] = “0”;

Minify JS with JSMin from Douglas Crockford

$compress_options[‘minify’][‘with_jsmin’] = “0”;

Minify JS with Dean Edwards Packer

$compress_options[‘minify’][‘with_packer’] = “0”;

Minify JS with YUI Compressor (requires java installed)

$compress_options[‘minify’][‘with_yui’] = “1”;

Minify CSS

$compress_options[‘minify’][‘css’] = “1”;

Minify CSS inside tag

$compress_options[‘minify’][‘css_body’] = “1”;

Remove whitespaces

$compress_options[‘minify’][‘page’] = “1”;

Remove comments from HTML. Some JS counters can be broken

$compress_options[‘minify’][‘html_comments’] = “1”;

Shrink HTML code to 1 string, CPU intensive

$compress_options[‘minify’][‘html_one_string’] = “1”;

CSS file name (only if 1 CSS set for website is used)

$compress_options[‘minify’][‘css_file’] = “”;

JS file name (only if 1 JS set for website is used)

$compress_options[‘minify’][‘javascript_file’] = “”;

CSS file host (both for CDN and merged file)

$compress_options[‘minify’][‘css_host’] = “”;

JavaScript file host (both for CDN and merged file)

$compress_options[‘minify’][‘javascript_host’] = “”;

Gzip options

$compress_options[‘gzip’][‘javascript’] = “1”;

$compress_options[‘gzip’][‘page’] = “0”;

$compress_options[‘gzip’][‘css’] = “1”;

Gzip font files (SVG, TTF, OTF, etc)

$compress_options[‘gzip’][‘fonts’] = “1”;

Check for gzip possibility via cookie

$compress_options[‘gzip’][‘cookie’] = “1”;

Exclude IE6/7 from gzip logic

$compress_options[‘gzip’][‘noie’] = “1”;

Compression levels for JS/HTML/CSS files, work only in PHP

$compress_options[‘gzip’][‘javascript_level’] = “9”;

$compress_options[‘gzip’][‘page_level’] = “9”;

$compress_options[‘gzip’][‘css_level’] = “9”;

$compress_options[‘gzip’][‘fonts_level’] = “9”;

Caching

$compress_options[‘far_future_expires’][‘javascript’] = “1”;

$compress_options[‘far_future_expires’][‘css’] = “1”;

Cache static assets via .htaccess or PHP proxy

$compress_options[‘far_future_expires’][‘images’] = “1”;

$compress_options[‘far_future_expires’][‘fonts’] = “1”;

Cache static assets (flash, video, etc) – only via .htaccess

$compress_options[‘far_future_expires’][‘video’] = “1”;

$compress_options[‘far_future_expires’][‘static’] = “1”;

Send cache headers for HTML files?

$compress_options[‘far_future_expires’][‘html’] = “1”;

Default timeout of client side HTML files caching, in seconds

$compress_options[‘far_future_expires’][‘html_timeout’] = “60”;

Add caching for external files

$compress_options[‘far_future_expires’][‘external’] = “1”;

Cache generated HTML files

$compress_options[‘html_cache’][‘enabled’] = “1”;

Cache timeout for generated HTML files, in seconds

$compress_options[‘html_cache’][‘timeout’] = “3600”;

Flush head section with first N bytes of body?

$compress_options[‘html_cache’][‘flush_only’] = “0”;

Flush size of HTML body

$compress_options[‘html_cache’][‘flush_size’] = “1024”;

Parts of ignore URL for HTML cache, separated by space

$compress_options[‘html_cache’][‘ignore_list’] = “”;

Parts of user agents to output cached HTML, separated by space

$compress_options[‘html_cache’][‘allowed_list’] = “office data msfrontpage yahoo googlebot yandex yadirect dyatel msnbot twiceler”;

Cookies to skip HTML caching

$compress_options[‘html_cache’][‘additional_list’] = “”;

On or off

$compress_options[‘active’] = “0”;

Display a link back to Web Optimizer

$compress_options[‘footer’][‘text’] = “0”;

Image path for Web Optimizer, empty for text link

$compress_options[‘footer’][‘image’] = “web.optimizer.stamp.png”;

Text for a text link

$compress_options[‘footer’][‘link’] = “Accelerated with WEBO Site SpeedUp”;

CSS styles to place Web Optimizer stamp

$compress_options[‘footer’][‘css_code’] = “float:right;margin:-104px 4px -100px”;

Add a spot to : lang=“wo” or xml:lang=“wo”

$compress_options[‘footer’][‘spot’] = “1”;

Should Web Optimizer use data URIs for background images?

$compress_options[‘data_uris’][‘on’] = “1”;

Should Web Optimizer separate CSS for rules and images?

$compress_options[‘data_uris’][‘separate’] = “1”;

Should Web Optimizer load resource CSS on DOMloaded event?

$compress_options[‘data_uris’][‘domloaded’] = “1”;

Maximum size of images to be converted, in bytes

$compress_options[‘data_uris’][‘size’] = “24576”;

data:URI ignore list, files separated by space, i.e. head.jpg

$compress_options[‘data_uris’][‘ignore_list’] = “”;

Should Web Optimizer use mhtml for background images?

$compress_options[‘data_uris’][‘mhtml’] = “1”;

Maximum size of images to be converted into mhtml, in bytes

$compress_options[‘data_uris’][‘mhtml_size’] = “51200”;

mhtml ignore list, files separated by space, i.e. head.jpg

$compress_options[‘data_uris’][‘additional_list’] = “”;

Should Web Optimizer use CSS Sprites for background images?

$compress_options[‘css_sprites’][‘enabled’] = “1”;

Save 24bit images in JPEG not PNG

$compress_options[‘css_sprites’][‘truecolor_in_jpeg’] = “0”;

Ignore no dimensions for repeat-x / repeat-y Sprites

$compress_options[‘css_sprites’][‘aggressive’] = “0”;

Add additional 5px around images to CSS Sprites

$compress_options[‘css_sprites’][‘extra_space’] = “1”;

Exclude IE6 from CSS Sprites creation

$compress_options[‘css_sprites’][‘no_ie6’] = “1”;

Restrict large Sprites creation on GDlib failure, in pixels

$compress_options[‘css_sprites’][‘dimensions_limited’] = “900”;

CSS Sprites ignore list, files separated by space, i.e. head.jpg

$compress_options[‘css_sprites’][‘ignore_list’] = “corners.gif”;

Combine small HTML images to sprites?

$compress_options[‘css_sprites’][‘html_sprites’] = “0”;

Restrict large HTML images from merging

$compress_options[‘css_sprites’][‘html_limit’] = “200”;

Restrict HTML Sprites to the curent page only?

$compress_options[‘css_sprites’][‘html_page’] = “1”;

Parallel downloads

$compress_options[‘parallel’][‘enabled’] = “1”;

Check hosts availability or not?

$compress_options[‘parallel’][‘check’] = “1”;

Use CSS host for all CSS files?

$compress_options[‘parallel’][‘css’] = “0”;

Use JavaScript host for all CSS files?

$compress_options[‘parallel’][‘javascript’] = “0”;

List of hosts for parallel downloads, i.e. img i1 i2

$compress_options[‘parallel’][‘allowed_list’] = “”;

List of websites (saellites) to distribute through them,

i.e. satellite.com satellite2.com

$compress_options[‘parallel’][‘additional’] = “”;

List of satellites’ hosts, i.e. i1 i2 i3

$compress_options[‘parallel’][‘additional_list’] = “”;

Lisf of ignored images, separated by space, i.e. xxc.php

$compress_options[‘parallel’][‘ignore_list’] = “”;

Custom CDN usage, 0 - defailt, 1 - cdn.host.com, 2 - Coral CDN, 3 - WEBO CDN

$compress_options[‘parallel’][‘custom’] = “0”;

FTP creadentials to upload new files to CDN

$compress_options[‘parallel’][‘ftp’] = “”;

SSL secure host to use for all CDN assets

$compress_options[‘parallel’][‘https’] = “”;

Should be gzip / cache settings written via .htaccess?

$compress_options[‘htaccess’][‘enabled’] = “1”;

$compress_options[‘htaccess’][‘mod_deflate’] = “0”;

$compress_options[‘htaccess’][‘mod_gzip’] = “0”;

$compress_options[‘htaccess’][‘mod_expires’] = “1”;

$compress_options[‘htaccess’][‘mod_headers’] = “1”;

$compress_options[‘htaccess’][‘mod_setenvif’] = “1”;

$compress_options[‘htaccess’][‘mod_rewrite’] = “1”;

$compress_options[‘htaccess’][‘mod_mime’] = “1”;

Use local directory with installed website

$compress_options[‘htaccess’][‘local’] = “1”;

#########################################

?> ```

I’d gladly do that, anyone have a smart optimizer set of rules they use for CS?




Hi, are you using this with Zeke’s sqlite_caching?



Thank you.

At the moment yes I am, however Im interested in seeing differences between zekes updated caching, no caching and the default caching.



I do know that sql caching is planned in a future release of WSSU.

Here are some updates from last nights testing.



I was able to increase my YSlow score to 97/100 A by unchecking some of the Unobtrusive JavaScript options.



Include combined JavaScript file before - For some people this breaks JS completely in CS-Cart (things such as the Hot Deals rotator)



Move all JavaScript code to - This was causing error messages in IE (lower right hand corner youll see the ! saying that there is an error).



Also under data:URI I disabled “Separate images from CSS code”. Testing gave me faster results on page loads but increased my file count by 1 (from 30 to 31). Probably case by case on this one as it will depend on the size of your image files. Mine are too large to cache either way.



Disabling these also seemed to speed things up on my site lowering my PIngdom load times to around 6.5seconds steady.

[quote name=‘ETInteractive’]I’d gladly do that, anyone have a smart optimizer set of rules they use for CS?[/QUOTE]



Smart Optimizer installation isn’t quite plain, but it’s not too hard either

[URL=“GitHub - farhadi/SmartOptimizer: SmartOptimizer is an open source PHP program that enhances your website performance by optimizing the front-end using techniques such as minifying, compression, caching and concatenation on demand.”]http://github.com/farhadi/SmartOptimizer[/URL]

Has anyone had success with WEBO under XAMPP? The addon seems to install fine, but I then get:


[quote]There is a critical issue

WEBO Site SpeedUp automatic installation is failed[/quote]



when viewing admin.php?dispatch=webositespeedup.manage



thanks,

Glen

[quote name=‘sixnin9’]Has anyone had success with WEBO under XAMPP?[/QUOTE]



Glen, it seems it’s not an XAMPP compatibility issue, but a general rights/environment issue. Please check config.webo.php file inside the plugin for right paths (website_root / document_root). Also please check for .htaccess availability and existence inside WEBO Site SpeedUp folder - maybe AJAX requests are just not parsed correctly.

[quote]Glen, it seems it’s not an XAMPP compatibility issue, but a general rights/environment issue. Please check config.webo.php file inside the plugin for right paths (website_root / document_root). Also please check for .htaccess availability and existence inside WEBO Site SpeedUp folder - maybe AJAX requests are just not parsed correctly.[/quote]



I’ve updated .config.webo.php as follows

```php ## Website installation directory

$compress_options[‘website_root’] = “C:/xampp/htdocs/cscart_2012/”;

Document Root directory of the website

$compress_options[‘document_root’] = “C:/xampp/htdocs/cscart_2012/”; ```



.htaccess does exist in /addons/webositespeedup/web-optimizer/ and contains this

```php

order allow,deny

allow from all

```



I continue to see the “WEBO Site SpeedUp automatic installation is failed” error via the WEBO admin.



thanks,

Glen

Webo addon failed on new version of cs-cart. 2.2.1



Any idea,I emailed them but no respond yet.



thank you,

Albert

[quote name='albert@officeuniversal.co' timestamp='1311019250' post='117596']

Webo addon failed on new version of cs-cart. 2.2.1

[/quote]



Albert, we just need any website with 2.2.1 to test. Every new CS-Cart release break backward-compatibility, and it's hard for us to support our product in such environment.

[quote name='webo' timestamp='1311051757' post='117636']

Albert, we just need any website with 2.2.1 to test. Every new CS-Cart release break backward-compatibility, and it's hard for us to support our product in such environment.

[/quote]



You don't have a cs-cart pro ?



You can use the community version



Is this works on 2.1.4 pro version ?

worked on my 2.2.1 version. Page speed shows 99 points!