Jump to content

  • You cannot start a new topic
  • You cannot reply to this topic

Speed Issue. Gtmetrix Top 5 Priorities, Where To Start? Rate Topic   - - - - -

 
  • Olof
  • Senior Member
  • Members
  • Join Date: 25-Jun 11
  • 209 posts

Posted 27 March 2015 - 04:56 AM #1

Hello,

We are getting quite concerned about the speed of our website. It was never quick but after activating filters, it has gotten worse. I have read various posts on the forum (like http://forum.cs-cart...lter categories) but would love to hear what our top action points should be, based on your experience. We ran GTMetrix and it gave us these top 5 priorities, but are they the best starting points to improve the speed of a website running CSC?
  • Leverage browser caching (our current rating 0% vs GTMetrix average of 60%)
  • Defer parsing of javascript (our current rating 1% vs ... 60%)
  • Serve resources from a consistent URL (our current rating 9% vs avg 95%)
  • Optimize images (69% vs avg 77%
  • Prefer asynchronous resources (70% vs avg 96%
Thank you in advance for any tips.
We use version 4.1.3 with 3rd party theme Buyshop, hosted on Siteground.

Regards,
Olof

P.S. see below some data, based on GTMetrix report we ran on our Products main page
http://artitec.com/en/products.html:
  • Page speed rating: C (71%)
  • YSlow rating: C (75%)
  • Page load time: 11,34 seconds
  • Total page size: 3.66 Mb
  • Total number of requests: 275


 
  • imac
  • Head of Product
  • CS-Cart Architects
  • Join Date: 22-Nov 05
  • 2074 posts

Posted 27 March 2015 - 06:32 AM #2

Hello,

We are getting quite concerned about the speed of our website. It was never quick but after activating filters, it has gotten worse. I have read various posts on the forum (like http://forum.cs-cart...er%20categories) but would love to hear what our top action points should be, based on your experience. We ran GTMetrix and it gave us these top 5 priorities, but are they the best starting points to improve the speed of a website running CSC?

  • Leverage browser caching (our current rating 0% vs GTMetrix average of 60%)
  • Defer parsing of javascript (our current rating 1% vs ... 60%)
  • Serve resources from a consistent URL (our current rating 9% vs avg 95%)
  • Optimize images (69% vs avg 77%
  • Prefer asynchronous resources (70% vs avg 96%
Thank you in advance for any tips.
We use version 4.1.3 with 3rd party theme Buyshop, hosted on Siteground.

Regards,
Olof

P.S. see below some data, based on GTMetrix report we ran on our Products main page
http://artitec.com/en/products.html:
  • Page speed rating: C (71%)
  • YSlow rating: C (75%)
  • Page load time: 11,34 seconds
  • Total page size: 3.66 Mb
  • Total number of requests: 275

Olof,

First thing I would recommend you is to install 4.3.1 Beta 4 on this server, make store import (transfer your current) and test it.
Most probably 4.3.1 will solve most of the problems.
Ilya Makarov,
CS-Cart Architect Team
Suggest and vote for new features | Report a bug

 
  • Olof
  • Senior Member
  • Members
  • Join Date: 25-Jun 11
  • 209 posts

Posted 27 March 2015 - 10:17 AM #3

Olof,

First thing I would recommend you is to install 4.3.1 Beta 4 on this server, make store import (transfer your current) and test it.
Most probably 4.3.1 will solve most of the problems.


Ilya,
Thanks for your quick reply. What you are suggesting, while understandable, is quite a big thing for us. We had quite a bit of custom work done, plus custom work on the theme, lots of add-ons, etc..
We want to move to 4.3.1 anyways, but since we do not know its final release date, we would prefer to implement some other speed tips for now.

 
  • Mongoose
  • Senior Member
  • Members
  • Join Date: 08-Mar 13
  • 985 posts

Posted 10 June 2015 - 11:43 AM #4

Ilya,
Thanks for your quick reply. What you are suggesting, while understandable, is quite a big thing for us. We had quite a bit of custom work done, plus custom work on the theme, lots of add-ons, etc..
We want to move to 4.3.1 anyways, but since we do not know its final release date, we would prefer to implement some other speed tips for now.


Hello Olof,

I am using 4.2.3 and 4.2.4. Currently my results are a better than yours. We only thing we did on our sites was to amend the .htacces file with this code

DirectoryIndex index.html index.php
<IfModule mod_headers.c>
Header append Vary: Accept-Encoding
Header set X-Content-Type-Options "nosniff"
<Files .htaccess>
  order allow,deny
  deny from all
SetEnv TZ Europe/Amsterdam
</Files>
FileETag None
<FilesMatch "\.(ttf|ttc|otf|eot|woff|css)$">
  Header set Access-Control-Allow-Origin "*"
</FilesMatch>
<IfModule mod_expires.c>
  Header unset ETag
  ExpiresActive on
  ExpiresDefault		  "access plus 1 month"
  #CSS
  ExpiresByType text/css		 "access plus 1 year"
  #Data interchange
  ExpiresByType application/json	    "access plus 0 seconds"
  ExpiresByType application/ld+json   "access plus 0 seconds"
  ExpiresByType application/vnd.geo+json   "access plus 0 seconds"
  ExpiresByType application/xml "access plus 0 seconds"
  ExpiresByType text/xml		 "access plus 0 seconds"
  #Favicon (cannot be renamed!) and cursor images
  ExpiresByType image/x-icon    "access plus 1 year"
  #HTML components (HTCs)
  ExpiresByType text/x-component	    "access plus 1 month"
  #HTML
  ExpiresByType text/html	    "access plus 1 month"
  #JavaScript
  ExpiresByType application/javascript   "access plus 1 year"
  #Manifest files
  ExpiresByType application/manifest+json   "access plus 1 year"
  ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
  ExpiresByType text/cache-manifest   "access plus 0 seconds"
  #Media
  ExpiresByType audio/ogg	    "access plus 1 month"
  ExpiresByType image/gif	    "access plus 1 month"
  ExpiresByType image/jpeg	  "access plus 1 month"
  ExpiresByType image/png	    "access plus 1 month"
  ExpiresByType video/mp4	    "access plus 1 month"
  ExpiresByType video/ogg	    "access plus 1 month"
  ExpiresByType video/webm	  "access plus 1 month"
  #Web feeds
  ExpiresByType application/atom+xml   "access plus 1 hour"
  ExpiresByType application/rss+xml   "access plus 1 hour"
  #Web fonts
  ExpiresByType application/font-woff   "access plus 1 month"
  ExpiresByType application/font-woff2   "access plus 1 month"
  ExpiresByType application/vnd.ms-fontobject  "access plus 1 month"
  ExpiresByType application/x-font-ttf   "access plus 1 month"
  ExpiresByType font/opentype   "access plus 1 month"
  ExpiresByType image/svg+xml   "access plus 1 month"
  #CSS w/gzip
  <FilesMatch .*\.css.gz$>
   ExpiresDefault "access plus 1 year"
   ForceType text/css
   Header set Content-Encoding: gzip
   Header set Cache-control: private
  </FilesMatch>
  #JavaScript w/gzip
  <FilesMatch .*\.js.gz$>
   ExpiresDefault "access plus 1 year"
   ExpiresByType application/javascript "access plus 1 year"
   ForceType text/javascript
   Header set Content-Encoding: gzip
   Header set Cache-control: private
  </FilesMatch>
</IfModule>
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
Options -MultiViews
#Redirects go here
#RewriteCond %{REQUEST_URI} .*\/SEO_URL\.html
#RewriteRule ^.*$ http://www.domainname.com/NEW_SEO_URL.html [L,R=301]
AddEncoding gzip .gz
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} \.(js|css)$
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
RewriteCond %{REQUEST_URI} ^api/(.*)$ [or]
RewriteCond %{REQUEST_URI} .*/api/(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*api/(.*)$ api.php?_d=$1&ajax_custom=1 [L,QSA]
RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml)$ [or]
RewriteCond %{REQUEST_URI} store_closed.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)\/(.*)$ $2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L,QSA]
</IfModule>
<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml
  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>
<ifmodule mod_expires.c>
<Filesmatch "\.(jpg|jpeg|png|gif|js|css|swf|ico|woff|mp3)$">
    ExpiresActive on
    ExpiresDefault "access plus 2 days"
</Filesmatch>
</ifmodule>

This improved our ranking quite bit but like you we are not there yet.

We are also planning our move to 4.3.1 in the next 6 months but for now we could do a lot better if we could delay the load of the javascripts when our page loads.

running CS Cart V4.10.3.SP1 


 
  • Olof
  • Senior Member
  • Members
  • Join Date: 25-Jun 11
  • 209 posts

Posted 10 June 2015 - 08:41 PM #5

Hi Anthony,

Thanks for sharing that code! We will look into it. At the moment, we are having a discussion whether we should keep trying to tweak our current 4.1.3 version, or move over to version 4.3.2 (bug release of 4.3.1) with its better speed but also requires us to look at our custom work stuff...

Thanks again
Olof

 
  • Mongoose
  • Senior Member
  • Members
  • Join Date: 08-Mar 13
  • 985 posts

Posted 12 June 2015 - 10:45 AM #6

Hi Anthony,

Thanks for sharing that code! We will look into it. At the moment, we are having a discussion whether we should keep trying to tweak our current 4.1.3 version, or move over to version 4.3.2 (bug release of 4.3.1) with its better speed but also requires us to look at our custom work stuff...

Thanks again
Olof


Hi Olof

I fully understand, we are also questioning if we should not go from 4.2.4 and 4.2.3 to 4.3.2

We have not done serious custom work besides having modified our third party theme (Buyshop) to fit our stores.

Slight update on my part - I just messed up my Apache installation and now in the process of moving to another server.
Not a fun thing to do.

Greetings

Anthony

running CS Cart V4.10.3.SP1 


 
  • Olof
  • Senior Member
  • Members
  • Join Date: 25-Jun 11
  • 209 posts

Posted 12 June 2015 - 11:51 AM #7

Hi Anthony,
We also have Buyshop w/modifications. plus some other stuff.
Thanks and good luck with server move
Olof