Website Speed
Permalink
Hello Guys,
We are making concrete5 website for about 2 years now. We have recently make this website livehttp://www.imagineorthodontics.com.au/,... but realised that the website is too slow comparing to our other concrete5 websites.
We have done so many things to optimize the speed but still when I try to go to another inner page it takes so much time!
one of my friend said it might be the concrete5 version that has the problem. The current concrete5 is 5.6.0.2. I would appreciate if some one can help please.
I can pay $50 to someone who can fix this problem. Please msg me your email and I'll be in touch.
Thank you
Cheers
Aida
We are making concrete5 website for about 2 years now. We have recently make this website livehttp://www.imagineorthodontics.com.au/,... but realised that the website is too slow comparing to our other concrete5 websites.
We have done so many things to optimize the speed but still when I try to go to another inner page it takes so much time!
one of my friend said it might be the concrete5 version that has the problem. The current concrete5 is 5.6.0.2. I would appreciate if some one can help please.
I can pay $50 to someone who can fix this problem. Please msg me your email and I'll be in touch.
Thank you
Cheers
Aida
Are you using the Full Page Cache option? This is something that should speed up your site a lot.
Two really easy things that will help greatly in your quest for performance.
Easy Performance Step 1
Add the following to the .htaccess file in the root of your site.
It will enable serving files compressed, set good cache defaults and more.
Easy Performance Step 2
Use a tool likehttp://imageoptim.com/ to compress all your images without losing quality. Soo easy!
Easy Performance Step 3 ~ BONUS
Try outhttp://gtmetrix.com/ on your site and see if there are other easy things to tweak.
Cheers!
Easy Performance Step 1
Add the following to the .htaccess file in the root of your site.
DirectoryIndex index.php index.html FileETag none Options -Indexes ServerSignature Off <IfModule mod_deflate.c> <FilesMatch "\.(css|htm|html|js|php|txt|xml)$"> SetOutputFilter DEFLATE </FilesMatch> </IfModule> <IfModule mod_expires.c> <FilesMatch "\.(css|gif|ico|jpeg|jpg|js|pdf|png|swf)$"> ExpiresActive On ExpiresDefault "access plus 2 years" </FilesMatch> <FilesMatch "\.(htm|html|php|txt|xml)$">
Viewing 15 lines of 24 lines. View entire code block.
It will enable serving files compressed, set good cache defaults and more.
Easy Performance Step 2
Use a tool likehttp://imageoptim.com/ to compress all your images without losing quality. Soo easy!
Easy Performance Step 3 ~ BONUS
Try outhttp://gtmetrix.com/ on your site and see if there are other easy things to tweak.
Cheers!
Hi @ForestMist, I also have site speed issues.
Can I ask if I add this code to the existing .htaccess file code (below) and if so where, or does it not matter? Or do I replace all of it with your code?
Thanks
David
DirectoryIndex index.php
AddType x-mapp-php5 .php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
<IfModule mod_deflate.c>
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
<IfModule mod_expires.c>
<IfModule mod_headers.c>
Header unset Pragma
FileETag None
Header unset ETag
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
# Set up caching on media files for 1 year (forever?)
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|gif|jpg|jpeg|png|swf|eot|ttf|otf|woff|svg|svgz)$">
ExpiresDefault A29030400
Header append Cache-Control "public"
</FilesMatch>
# Set up 31 days caching on commonly updated files
<FilesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A2678400
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
# Force no caching for dynamic files
<FilesMatch "\.(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
</IfModule>
</IfModule>
RewriteRule ^(.*)$ index.php/$1 [L]
# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
# -- concrete5 urls end --
Can I ask if I add this code to the existing .htaccess file code (below) and if so where, or does it not matter? Or do I replace all of it with your code?
Thanks
David
DirectoryIndex index.php
AddType x-mapp-php5 .php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
<IfModule mod_deflate.c>
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
<IfModule mod_expires.c>
<IfModule mod_headers.c>
Header unset Pragma
FileETag None
Header unset ETag
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
# Set up caching on media files for 1 year (forever?)
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|gif|jpg|jpeg|png|swf|eot|ttf|otf|woff|svg|svgz)$">
ExpiresDefault A29030400
Header append Cache-Control "public"
</FilesMatch>
# Set up 31 days caching on commonly updated files
<FilesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A2678400
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
# Force no caching for dynamic files
<FilesMatch "\.(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
</IfModule>
</IfModule>
RewriteRule ^(.*)$ index.php/$1 [L]
# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
# -- concrete5 urls end --
in my experience, slow sites are almost always caused by an over-worked server. You have to find out what is causing the slowdown before applying a solution.
1) Your server is over-worked by too many sites being hosted. This is a common shared-hosting issue that the host is not likely to admit is happening. Asking it to compress your contents before sending out the data will cause more work for the server and is unlikely to speed things up much.
2) Slow 'pipes' to the database - Some hosts have their servers set up where the data transfer speeds between the application and the database are too slow or too congested. C5's latest version 5.6.1.2 aims to reduce the number and size of the database calls but this is another server issue that's hard to fix with the .htaccess file.
3) An incorrectly set up AutoNav. I was called in to help with a slow site where the top navigation had no drop-downs however the AutoNav was set up to 'Display All' which meant that every time a page was rendered, the AutoNav had to pull all links to all pages (hundreds of them) but wasn't actually displaying any of them because the CSS/JS for the nav wasn't set up to display these sub-page links. Besides the time to pull all this junk from the database, the underlying HTML was huge because it was rendering all the links but the CSS was hiding them.
@thebigideasman... is there a live URL we could look at?
1) Your server is over-worked by too many sites being hosted. This is a common shared-hosting issue that the host is not likely to admit is happening. Asking it to compress your contents before sending out the data will cause more work for the server and is unlikely to speed things up much.
2) Slow 'pipes' to the database - Some hosts have their servers set up where the data transfer speeds between the application and the database are too slow or too congested. C5's latest version 5.6.1.2 aims to reduce the number and size of the database calls but this is another server issue that's hard to fix with the .htaccess file.
3) An incorrectly set up AutoNav. I was called in to help with a slow site where the top navigation had no drop-downs however the AutoNav was set up to 'Display All' which meant that every time a page was rendered, the AutoNav had to pull all links to all pages (hundreds of them) but wasn't actually displaying any of them because the CSS/JS for the nav wasn't set up to display these sub-page links. Besides the time to pull all this junk from the database, the underlying HTML was huge because it was rendering all the links but the CSS was hiding them.
@thebigideasman... is there a live URL we could look at?
Hi @mhawke and thanks for your reply.
The website iswww.www.fremingtoncommunity.com,... but to be honest I've already speeded it up from nearly 13 seconds to 3.9 secs just by updating to Concrete 5.6.1.2 which is better than great. And there are a couple of images that could still be optimised more.
Much more than that and I fear the rest might be a little above my pay/skills grade lol, which is why I wondered if the .htaccess file adjustment might also help?
By the way, my host is 1and1.co.uk - and before you all groan, they're great for the level of support they give us less knowledgeable mortals, while I learn this stuff.
Any assistance would gratefully received. Thanks
The website iswww.www.fremingtoncommunity.com,... but to be honest I've already speeded it up from nearly 13 seconds to 3.9 secs just by updating to Concrete 5.6.1.2 which is better than great. And there are a couple of images that could still be optimised more.
Much more than that and I fear the rest might be a little above my pay/skills grade lol, which is why I wondered if the .htaccess file adjustment might also help?
By the way, my host is 1and1.co.uk - and before you all groan, they're great for the level of support they give us less knowledgeable mortals, while I learn this stuff.
Any assistance would gratefully received. Thanks
It seems very fast from my end, especially after I've already visited a page so you must have the 'full page' cache on. This is great but make sure you (or your client) remember to turn it off when you make changes or they won't show up until the cache expires.
I'm certainly not saying that the .htaccess stuff isn't necessary or helpful. What I'm saying is that the .htaccess might cut 1/2 second off the render time but if the site takes 10 seconds to render, 9.5 seconds is equally unacceptable.
I'm certainly not saying that the .htaccess stuff isn't necessary or helpful. What I'm saying is that the .htaccess might cut 1/2 second off the render time but if the site takes 10 seconds to render, 9.5 seconds is equally unacceptable.
Thank you that's a useful tip to remember.
thebigideasman,
I would replace the existing .htaccess file with...
...which keeps the unique "AddType x-mapp-php5 .php" setting which may be necessary on your host server.
If you are serving up mp3, mov, avi and other kinds of files you'll probably want to add those to "IfModule mod_expires.c", FilesMatch logic rule (the access plus 2 years one) shown above.
BONUS INFO
As amazing as htaccess files are, they can't solve every performance issue. So if you have a slow overloaded web server or more likely, an overloaded MySQL server then your best bet to switch to a different web host. I heartily recommend the host I use myself for concrete5. That host is Site5. They are so awesome and I'm so glad I found them after years of dealing with slow hosts. More info athttp://www.site5.com/in.php?id=126019...
I firmly believe EVERY concrete5 should use an htaccess file similar to the one above. There is no good reason for not compressing things on the server (trivial amount of work) and setting reasonable caching options in order to help what is typically the weakest link in serving a web page. The client's connection to the internet. That goes double for tablet and mobile devices. Those cell bills are not cheap!
Or to put it another way... if you are working on your car and spend all your effort on the engine (concrete5 / server) while your tires are half-inflated (no htaccess improvements) then you'll never have the best experience you can.
I say do all the improvements you can muster. :)
Cheers!
I would replace the existing .htaccess file with...
AddType x-mapp-php5 .php DirectoryIndex index.php index.html FileETag none Options -Indexes ServerSignature Off <IfModule mod_deflate.c> <FilesMatch "\.(css|htm|html|js|php|txt|xml)$"> SetOutputFilter DEFLATE </FilesMatch> </IfModule> <IfModule mod_expires.c> <FilesMatch "\.(css|eot|gif|ico|jpeg|jpg|js|otf|pdf|png|swf|ttf|woff)$"> ExpiresActive On ExpiresDefault "access plus 2 years" </FilesMatch>
Viewing 15 lines of 25 lines. View entire code block.
...which keeps the unique "AddType x-mapp-php5 .php" setting which may be necessary on your host server.
If you are serving up mp3, mov, avi and other kinds of files you'll probably want to add those to "IfModule mod_expires.c", FilesMatch logic rule (the access plus 2 years one) shown above.
BONUS INFO
As amazing as htaccess files are, they can't solve every performance issue. So if you have a slow overloaded web server or more likely, an overloaded MySQL server then your best bet to switch to a different web host. I heartily recommend the host I use myself for concrete5. That host is Site5. They are so awesome and I'm so glad I found them after years of dealing with slow hosts. More info athttp://www.site5.com/in.php?id=126019...
I firmly believe EVERY concrete5 should use an htaccess file similar to the one above. There is no good reason for not compressing things on the server (trivial amount of work) and setting reasonable caching options in order to help what is typically the weakest link in serving a web page. The client's connection to the internet. That goes double for tablet and mobile devices. Those cell bills are not cheap!
Or to put it another way... if you are working on your car and spend all your effort on the engine (concrete5 / server) while your tires are half-inflated (no htaccess improvements) then you'll never have the best experience you can.
I say do all the improvements you can muster. :)
Cheers!
Thank you, I'll definitely do that, but for now the upgrade to Concrete 5.6.1.2 has given me a bigger headache in that my website now won't stay in edit mode and signs itself out when I literally click anything - page links, or dashboard etc. ...Oh hell!
Sorry guys, I must be going nuts because it's working again now - apologies.
Off to take my medication lol
Off to take my medication lol
Hi ForestMist,
Thanks for this - finally got around to swapping it out with the piecemeal tweaks I already had in the htaccess. Took the site from 75/100 to 86/100
On a new site with nothing yet in the htaccess moved from 66/100 to 86/100
(Chrome pagespeed measures)
Many thanks
Jeremy
Thanks for this - finally got around to swapping it out with the piecemeal tweaks I already had in the htaccess. Took the site from 75/100 to 86/100
On a new site with nothing yet in the htaccess moved from 66/100 to 86/100
(Chrome pagespeed measures)
Many thanks
Jeremy
Yay! Nice improvements.
Cheers! ^_^
Cheers! ^_^
Hi - I'm just following up to see what things you may have mplemented to help the performance of the site. It looks fast now.
I currently have a site using the viewport theme as well but our site performance is up and down - we updated to 5.6.1.2 and things initially improved dramatically. But now (a week later) it appears to have reverted to the same slow speed as before.
I'm trying to evaluate whether it our hosting, server settings or the concrete5 platform.
Our site -
Did you implement the .HTACCESS file tip that ForestMist suggested?
What do you have your cache paramters set to?
I'm looking for any suggestions and or helpful hints.
I currently have a site using the viewport theme as well but our site performance is up and down - we updated to 5.6.1.2 and things initially improved dramatically. But now (a week later) it appears to have reverted to the same slow speed as before.
I'm trying to evaluate whether it our hosting, server settings or the concrete5 platform.
Our site -
Did you implement the .HTACCESS file tip that ForestMist suggested?
What do you have your cache paramters set to?
I'm looking for any suggestions and or helpful hints.
The suggestion by ForestMist is good, but it only works if compression is enabled on the server. The easiest way to check on Cpanel is to see if you have an option "optimize site" in the Cpanel dashboard. If you don't see it, you need to enable in WHM (or ask your hosting provider).
From what I see, you need to enable compression (config the server for it, add the code from ForestMist above), turn on/tweak your caching, and then maybe optimize your images. The first two suggestions should speed things greatly.
From what I see, you need to enable compression (config the server for it, add the code from ForestMist above), turn on/tweak your caching, and then maybe optimize your images. The first two suggestions should speed things greatly.
Thanks - I will check these out and provide feedback.
@HOBOcs... IMHO, your server is the issue. Usinghttp://www.pingdom.com to analyse the site, it is either 'waiting to connect' or 'waiting' for the server for 85% of the 18 seconds it took to render the page. You are on 5.6.1.2 which has been optimized for speed. I think it would be a waste of time asking an overloaded server to do even more work to compress your site before it can start sending the data.
I'm sure it would help to shrink the images and optimize things but in my experience, no amount of tweaking will fix an overloaded server.
I'm sure it would help to shrink the images and optimize things but in my experience, no amount of tweaking will fix an overloaded server.
Thanks Mhawke - I've been in contact with my hosting company and I've always suspected that the server is overloaded (at times). They pointed me to the basic (and obvious) optimization techniques for C5 as the first stage - which I have been looking into over the last week. I will continue as a matter of good form and technique but I agree - if the server is overloaded then I'm fighting a losing battle. I will move to a new dedicated server and see how that goes.
Moved to new server (Not a dedicated one... yet)
Much improved but monitoring.
Much improved but monitoring.
Just to be clear....
The compressing and caching of assets (what the htaccess and image optimizing does) speed up the transfer time, which doesn't start until after the page renders.
These are great things to do to get a 3 second load time down to 2 seconds, and particularly relevant if you've got a lot of assets, or your customers are far away or in slow connections.
But in my experience, when c5 is slow, it's SLOW... Like 15 - 30 seconds slow. Solutions that work on the transfer (the forest mist stuff, google page speed, etc) are unlikely to do much for you in these cases.
Instead you should be looking at server side stuff. Memory, maybe. C5 caching, definitely. (Ironically, turning it off altogether gave me dramatic speed increases... Not sure how relevant that is for you...). Php apc, db calls, inefficient blocks, etc.
The compressing and caching of assets (what the htaccess and image optimizing does) speed up the transfer time, which doesn't start until after the page renders.
These are great things to do to get a 3 second load time down to 2 seconds, and particularly relevant if you've got a lot of assets, or your customers are far away or in slow connections.
But in my experience, when c5 is slow, it's SLOW... Like 15 - 30 seconds slow. Solutions that work on the transfer (the forest mist stuff, google page speed, etc) are unlikely to do much for you in these cases.
Instead you should be looking at server side stuff. Memory, maybe. C5 caching, definitely. (Ironically, turning it off altogether gave me dramatic speed increases... Not sure how relevant that is for you...). Php apc, db calls, inefficient blocks, etc.
Thanks Jshannon - I will check the caching options and effect. I've got the latest version (designed for perfomance) and the first couple of days after the upgrade things were beautiful. I suspect server load as the issue - just getting the hoster to confirm is the issue.
You might also want to check and see what your php.ini settings are to ensure that you have enough memory for PHP.
http://www.concrete5.org/documentation/background/version_history/5...
Just upgrade to 5.6.1.2 and see what happens.
You also have an issue where the drop-down menus disappear before the mouse can hover over them. Change line 122 of main.css the read: