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

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 [url=“Optimizing Cs-Cart For Better Performance - Issues & Troubleshooting - CS-Cart Community Forums”]Optimizing Cs-Cart For Better Performance - Issues & Troubleshooting - CS-Cart Community Forums) 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?

[list]

[]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%

[/list]

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

[url=“http://artitec.com/en/products.html”]http://artitec.com/en/products.html[/url]:[list]

[
]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

[/list]

[quote name='Olof' timestamp='1427432180' post='209223']

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?[list]

[]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%

[/list]

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

[url=“http://artitec.com/en/products.html”]http://artitec.com/en/products.html[/url]:[list]

[
]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

[/list]

[/quote]

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.

[quote name='imac' timestamp='1427437952' post='209224']

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.

[/quote]



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.

[quote name='Olof' timestamp='1427451466' post='209253']

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.

[/quote]



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


```php

DirectoryIndex index.html index.php



Header append Vary: Accept-Encoding

Header set X-Content-Type-Options “nosniff”



order allow,deny

deny from all

SetEnv TZ Europe/Amsterdam



FileETag None



Header set Access-Control-Allow-Origin ""





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

.css.gz$>

ExpiresDefault “access plus 1 year”

ForceType text/css

Header set Content-Encoding: gzip

Header set Cache-control: private



#JavaScript w/gzip

.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









AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml





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]




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







ExpiresActive on

ExpiresDefault “access plus 2 days”





```



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.

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

[quote name='Olof' timestamp='1433968872' post='218307']

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

[/quote]



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

Hi Anthony,

We also have Buyshop w/modifications. plus some other stuff.

Thanks and good luck with server move

Olof