1.6 Slow Site. [solved]
1.6 Slow Site. [solved]
My site is running slow and I'm not sure if it's me or my host. I'm using StartLogic. Their cpanel is super slow too. I've searched the forums and have tried numerous solutions, but it's just slow. I have contacted my host and they don't see a problem and then after contacting them the site was faster for about 2 days and then slowed down again. I'm on a 24mb connection and I see a problem.
I'd really appreciate any advice.
http://www.california-naturals.com/
[color=black]-- Here's the Config file.
# So I have no idea what my memory limit is, but in the php.ini file I change it to 24 from 8 and I don't know if they will allow more. I've checked their knowledge base and there's no rules listed.
$config['php_memory_limit'] = '24M';
$config['process_whole_template'] = true;
$config['debug'] = false;
$config['output_compression'] = false;
#--- Data Base Settings --#
$config['db_hostname'] = 'serveraddress';
$config['db_username'] = 'username';
$config['db_password'] = 'password';
$config['db_name'] = 'databasename';
$config["db_port"] = '';
$config['db_prefix'] = 'cms_';
$config['persistent_db_conn'] = true;
$config['use_adodb_lite'] = true;
#Path Settings
$config['root_url'] = 'http://www.california-naturals.com';
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')
{
$config['root_url'] = str_replace('http','https',$config['root_url']);
}
$config['root_path'] = '/home/users/web/b607/sl.calbever/public_html';
$config['admin_dir'] = 'somename';
$config['previews_path'] = '/home/users/web/b607/sl.calbever/public_html/tmp/cache';
$config['uploads_path'] = $config['root_path'].'/uploads';
$config['uploads_url'] = $config['root_url'] . '/uploads';
#Upload Settings
$config['max_upload_size'] = 12000000;
$config['default_upload_permission'] = '664';
#Usability Settings
#Allow smarty {php} tags? These could be dangerous if you don't trust your users.
$config['use_smarty_php_tags'] = false;
#Automatically assign alias based on page title?
$config['auto_alias_content'] = true;
#------------
#URL Settings
#------------
$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '.htm';
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
#Image Settings
$config['image_manipulation_prog'] = 'GD';
$config['image_transform_lib_path'] = '/usr/bin/ImageMagick/';
$config['image_uploads_path'] = '/home/users/web/b607/sl.calbever/public_html/uploads/images';
$config['image_uploads_url'] = $config['root_url'] . '/uploads/images';
#Locale/Encoding Settings
$config['locale'] = '';
$config['default_encoding'] = '';
$config['admin_encoding'] = 'utf-8';
$config['set_names'] = true;
$config['wiki_url'] = 'http://wiki.cmsmadesimple.org/index.php ... dmin_Panel';[/color]
[/b]
----- HTACCESS
Options +FollowSymLinks
#DirectoryIndex index.php
# CMS Made Simple settings
RewriteEngine on
RewriteBase /
#option to remove directory listings in all folder (avoid publishing unwanted contents)
Options -Indexes
#
# Deny access to config.php
order allow,deny
deny from all
#
# URL Filtering helps stop some hack attempts
#IF the URI contains a "http:"
RewriteCond %{QUERY_STRING} http\: [OR]
#OR if the URI contains a "["
RewriteCond %{QUERY_STRING} \[ [OR]
#OR if the URI contains a "]"
RewriteCond %{QUERY_STRING} \] [OR]
#OR if the URI contains a ""
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
#OR if the script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#OR if any script is trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
#OR if the URI contains UNION
RewriteCond %{QUERY_STRING} UNION [OR]
#OR if the URI contains a double slash
RewriteCond %{QUERY_STRING} // [OR]
#OR if the URI contains a *
RewriteCond %{QUERY_STRING} \*
#then deny the request (403)
RewriteRule ^.*$ - [F,L]
# End URL Filtering
# No sense advertising what we are running
ServerSignature Off
# THIS IS FOR PRETTY URL'S
# This redirects from http://cal to www - don't remove.
# --Used
RewriteCond %{HTTP_HOST} !^www\.california-naturals\.com$ [NC]
RewriteRule ^(.*)$ http://www.california-naturals.com/$1 [L,R=301]
# Not used
# CMS Made Simple settings
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# RewriteCond %{REQUEST_URI} !/$
# RewriteCond %{REQUEST_URI} !\.
# RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
# -- Used
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# -- not used
# RewriteRule ^(.+)(.html)?$ index.php?page=$1 [QSA]
# Rewrites the RSS feed
# Rewrites urls
# -- Used
RewriteRule ^(.+).htm$ index.php?page=$1 [QSA]
RewriteRule ^feeds/news(.+)$ index.php?page=feeds/news$1
Any help will be appreciated.
Thanks !
I'd really appreciate any advice.
http://www.california-naturals.com/
[color=black]-- Here's the Config file.
# So I have no idea what my memory limit is, but in the php.ini file I change it to 24 from 8 and I don't know if they will allow more. I've checked their knowledge base and there's no rules listed.
$config['php_memory_limit'] = '24M';
$config['process_whole_template'] = true;
$config['debug'] = false;
$config['output_compression'] = false;
#--- Data Base Settings --#
$config['db_hostname'] = 'serveraddress';
$config['db_username'] = 'username';
$config['db_password'] = 'password';
$config['db_name'] = 'databasename';
$config["db_port"] = '';
$config['db_prefix'] = 'cms_';
$config['persistent_db_conn'] = true;
$config['use_adodb_lite'] = true;
#Path Settings
$config['root_url'] = 'http://www.california-naturals.com';
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')
{
$config['root_url'] = str_replace('http','https',$config['root_url']);
}
$config['root_path'] = '/home/users/web/b607/sl.calbever/public_html';
$config['admin_dir'] = 'somename';
$config['previews_path'] = '/home/users/web/b607/sl.calbever/public_html/tmp/cache';
$config['uploads_path'] = $config['root_path'].'/uploads';
$config['uploads_url'] = $config['root_url'] . '/uploads';
#Upload Settings
$config['max_upload_size'] = 12000000;
$config['default_upload_permission'] = '664';
#Usability Settings
#Allow smarty {php} tags? These could be dangerous if you don't trust your users.
$config['use_smarty_php_tags'] = false;
#Automatically assign alias based on page title?
$config['auto_alias_content'] = true;
#------------
#URL Settings
#------------
$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '.htm';
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
#Image Settings
$config['image_manipulation_prog'] = 'GD';
$config['image_transform_lib_path'] = '/usr/bin/ImageMagick/';
$config['image_uploads_path'] = '/home/users/web/b607/sl.calbever/public_html/uploads/images';
$config['image_uploads_url'] = $config['root_url'] . '/uploads/images';
#Locale/Encoding Settings
$config['locale'] = '';
$config['default_encoding'] = '';
$config['admin_encoding'] = 'utf-8';
$config['set_names'] = true;
$config['wiki_url'] = 'http://wiki.cmsmadesimple.org/index.php ... dmin_Panel';[/color]
[/b]
----- HTACCESS
Options +FollowSymLinks
#DirectoryIndex index.php
# CMS Made Simple settings
RewriteEngine on
RewriteBase /
#option to remove directory listings in all folder (avoid publishing unwanted contents)
Options -Indexes
#
# Deny access to config.php
order allow,deny
deny from all
#
# URL Filtering helps stop some hack attempts
#IF the URI contains a "http:"
RewriteCond %{QUERY_STRING} http\: [OR]
#OR if the URI contains a "["
RewriteCond %{QUERY_STRING} \[ [OR]
#OR if the URI contains a "]"
RewriteCond %{QUERY_STRING} \] [OR]
#OR if the URI contains a ""
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
#OR if the script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#OR if any script is trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
#OR if the URI contains UNION
RewriteCond %{QUERY_STRING} UNION [OR]
#OR if the URI contains a double slash
RewriteCond %{QUERY_STRING} // [OR]
#OR if the URI contains a *
RewriteCond %{QUERY_STRING} \*
#then deny the request (403)
RewriteRule ^.*$ - [F,L]
# End URL Filtering
# No sense advertising what we are running
ServerSignature Off
# THIS IS FOR PRETTY URL'S
# This redirects from http://cal to www - don't remove.
# --Used
RewriteCond %{HTTP_HOST} !^www\.california-naturals\.com$ [NC]
RewriteRule ^(.*)$ http://www.california-naturals.com/$1 [L,R=301]
# Not used
# CMS Made Simple settings
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# RewriteCond %{REQUEST_URI} !/$
# RewriteCond %{REQUEST_URI} !\.
# RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
# -- Used
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# -- not used
# RewriteRule ^(.+)(.html)?$ index.php?page=$1 [QSA]
# Rewrites the RSS feed
# Rewrites urls
# -- Used
RewriteRule ^(.+).htm$ index.php?page=$1 [QSA]
RewriteRule ^feeds/news(.+)$ index.php?page=feeds/news$1
Any help will be appreciated.
Thanks !
Last edited by pgwalsh on Thu Nov 05, 2009 11:41 pm, edited 1 time in total.
Re: 1.6 Slow Site.
works fast over here... ;)
yslow says...
Grade
C
Overall performance score 76 Ruleset applied: -CDN URL: http://www.california-naturals.com/
* ALL (21)
* FILTER BY:
* CONTENT (6)
* COOKIE (2)
* CSS (6)
* IMAGES (2)
* JAVASCRIPT (4)
* SERVER (4)
*
AMake fewer HTTP requests
*
FCompress components with gzip
*
AAvoid CSS expressions
*
AMinify JavaScript and CSS
*
FConfigure entity tags (ETags)
*
CReduce the number of DOM elements
*
AUse cookie-free domains
*
AMake favicon small and cacheable
*
APut CSS at top
*
N/AMake JavaScript and CSS external
*
AAvoid URL redirects
*
AMake AJAX cacheable
*
AAvoid HTTP 404 (Not Found) error
*
AAvoid AlphaImageLoader filter
*
FAdd Expires headers
*
APut JavaScript at bottom
*
AReduce DNS lookups
*
ARemove duplicate JavaScript and CSS
*
AUse GET for AJAX requests
*
AReduce cookie size
*
ADo not scale images in HTML
Grade A on Make fewer HTTP requests
This page has 4 external stylesheets. Try combining them into one.
Decreasing the number of components on a page reduces the number of HTTP requests required to render the page, resulting in faster page loads. Some ways to reduce the number of components include: combine files, combine multiple scripts into one script, combine multiple CSS files into one style sheet, and use CSS Sprites and image maps.
»Read More
Grade F on Compress components with gzip
There are 7 plain text components that should be sent compressed
* http://www.california-naturals.com/
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/curvycorners.js
* http://www.california-naturals.com/ccorners.js
Compression reduces response times by reducing the size of the HTTP response. Gzip is the most popular and effective compression method currently available and generally reduces the response size by about 70%. Approximately 90% of today's Internet traffic travels through browsers that claim to support gzip.
»Read More
Grade A on Avoid CSS expressions
CSS expressions (supported in IE beginning with Version 5) are a powerful, and dangerous, way to dynamically set CSS properties. These expressions are evaluated frequently: when the page is rendered and resized, when the page is scrolled, and even when the user moves the mouse over the page. These frequent evaluations degrade the user experience.
»Read More
Grade A on Minify JavaScript and CSS
Minification removes unnecessary characters from a file to reduce its size, thereby improving load times. When a file is minified, comments and unneeded white space characters (space, newline, and tab) are removed. This improves response time since the size of the download files is reduced.
»Read More
Grade F on Configure entity tags (ETags)
There are 8 components with misconfigured ETags
* http://www.california-naturals.com/uplo ... d_img2.gif
* http://www.california-naturals.com/uplo ... flower.png
* http://www.california-naturals.com/images/cms/logo1.gif
* http://www.california-naturals.com/uplo ... sidbar.gif
* http://www.california-naturals.com/uplo ... _badge.gif
* http://www.california-naturals.com/uplo ... 3_kahe.jpg
* http://www.california-naturals.com/curvycorners.js
* http://www.california-naturals.com/ccorners.js
Entity tags (ETags) are a mechanism web servers and the browser use to determine whether a component in the browser's cache matches one on the origin server. Since ETags are typically constructed using attributes that make them unique to a specific server hosting a site, the tags will not match when a browser gets the original component from one server and later tries to validate that component on a different server.
»Read More
Grade C on Reduce the number of DOM elements
There are 1386 DOM elements on the page
A complex page means more bytes to download, and it also means slower DOM access in JavaScript. Reduce the number of DOM elements on the page to improve performance.
»Read More
Grade A on Use cookie-free domains
When the browser requests a static image and sends cookies with the request, the server ignores the cookies. These cookies are unnecessary network traffic. To workaround this problem, make sure that static components are requested with cookie-free requests by creating a subdomain and hosting them there.
»Read More
Grade A on Make favicon small and cacheable
A favicon is an icon associated with a web page; this icon resides in the favicon.ico file in the server's root. Since the browser requests this file, it needs to be present; if it is missing, the browser returns a 404 error (see "Avoid HTTP 404 (Not Found) error" above). Since favicon.ico resides in the server's root, each time the browser requests this file, the cookies for the server's root are sent. Making the favicon small and reducing the cookie size for the server's root cookies improves performance for retrieving the favicon. Making favicon.ico cacheable avoids frequent requests for it.
»Read More
Grade A on Put CSS at top
Moving style sheets to the document HEAD element helps pages appear to load quicker since this allows pages to render progressively.
»Read More
Grade N/A on Make JavaScript and CSS external
Only consider this if your property is a common user home page.
* There are a total of 7 inline scripts
Using external JavaScript and CSS files generally produces faster pages because the files are cached by the browser. JavaScript and CSS that are inlined in HTML documents get downloaded each time the HTML document is requested. This reduces the number of HTTP requests but increases the HTML document size. On the other hand, if the JavaScript and CSS are in external files cached by the browser, the HTML document size is reduced without increasing the number of HTTP requests.
»Read More
Grade A on Avoid URL redirects
URL redirects are made using HTTP status codes 301 and 302. They tell the browser to go to another location. Inserting a redirect between the user and the final HTML document delays everything on the page since nothing on the page can be rendered and no components can be downloaded until the HTML document arrives.
»Read More
Grade A on Make AJAX cacheable
One of AJAX's benefits is it provides instantaneous feedback to the user because it requests information asynchronously from the backend web server. However, using AJAX does not guarantee the user will not wait for the asynchronous JavaScript and XML responses to return. Optimizing AJAX responses is important to improve performance, and making the responses cacheable is the best way to optimize them.
»Read More
Grade A on Avoid HTTP 404 (Not Found) error
Making an HTTP request and receiving a 404 (Not Found) error is expensive and degrades the user experience. Some sites have helpful 404 messages (for example, "Did you mean ...?"), which may assist the user, but server resources are still wasted.
»Read More
Grade A on Avoid AlphaImageLoader filter
The IE-proprietary AlphaImageLoader filter attempts to fix a problem with semi-transparent true color PNG files in IE versions less than Version 7. However, this filter blocks rendering and freezes the browser while the image is being downloaded. Additionally, it increases memory consumption. The problem is further multiplied because it is applied per element, not per image.
»Read More
Grade F on Add Expires headers
There are 12 static components without a far-future expiration date.
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/uplo ... d_img2.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... flower.png
* (2009/11/2) http://www.california-naturals.com/images/cms/logo1.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... sidbar.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... _badge.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... 3_kahe.jpg
* (2009/11/2) http://www.california-naturals.com/curvycorners.js
* (2009/11/2) http://www.california-naturals.com/ccorners.js
Web pages are becoming increasingly complex with more scripts, style sheets, images, and Flash on them. A first-time visit to a page may require several HTTP requests to load all the components. By using Expires headers these components become cacheable, which avoids unnecessary HTTP requests on subsequent page views. Expires headers are most often associated with images, but they can and should be used on all page components including scripts, style sheets, and Flash.
»Read More
Grade A on Put JavaScript at bottom
There are 2 Javacript scripts found in the head of the document
* http://www.california-naturals.com/curvycorners.js
* http://www.california-naturals.com/ccorners.js
JavaScript scripts block parallel downloads; that is, when a script is downloading, the browser will not start any other downloads. To help the page load faster, move scripts to the bottom of the page if they are deferrable.
»Read More
Grade A on Reduce DNS lookups
The Domain Name System (DNS) maps hostnames to IP addresses, just like phonebooks map people's names to their phone numbers. When you type URL www.yahoo.com into the browser, the browser contacts a DNS resolver that returns the server's IP address. DNS has a cost; typically it takes 20 to 120 milliseconds for it to look up the IP address for a hostname. The browser cannot download anything from the host until the lookup completes.
»Read More
Grade A on Remove duplicate JavaScript and CSS
Duplicate JavaScript and CSS files hurt performance by creating unnecessary HTTP requests (IE only) and wasted JavaScript execution (IE and Firefox). In IE, if an external script is included twice and is not cacheable, it generates two HTTP requests during page loading. Even if the script is cacheable, extra HTTP requests occur when the user reloads the page. In both IE and Firefox, duplicate JavaScript scripts cause wasted time evaluating the same scripts more than once. This redundant script execution happens regardless of whether the script is cacheable.
»Read More
Grade A on Use GET for AJAX requests
When using the XMLHttpRequest object, the browser implements POST in two steps: (1) send the headers, and (2) send the data. It is better to use GET instead of POST since GET sends the headers and the data together (unless there are many cookies). IE's maximum URL length is 2 KB, so if you are sending more than this amount of data you may not be able to use GET.
»Read More
Grade A on Reduce cookie size
HTTP cookies are used for authentication, personalization, and other purposes. Cookie information is exchanged in the HTTP headers between web servers and the browser, so keeping the cookie size small minimizes the impact on response time.
»Read More
Grade A on Do not scale images in HTML
yslow says...
Grade
C
Overall performance score 76 Ruleset applied: -CDN URL: http://www.california-naturals.com/
* ALL (21)
* FILTER BY:
* CONTENT (6)
* COOKIE (2)
* CSS (6)
* IMAGES (2)
* JAVASCRIPT (4)
* SERVER (4)
*
AMake fewer HTTP requests
*
FCompress components with gzip
*
AAvoid CSS expressions
*
AMinify JavaScript and CSS
*
FConfigure entity tags (ETags)
*
CReduce the number of DOM elements
*
AUse cookie-free domains
*
AMake favicon small and cacheable
*
APut CSS at top
*
N/AMake JavaScript and CSS external
*
AAvoid URL redirects
*
AMake AJAX cacheable
*
AAvoid HTTP 404 (Not Found) error
*
AAvoid AlphaImageLoader filter
*
FAdd Expires headers
*
APut JavaScript at bottom
*
AReduce DNS lookups
*
ARemove duplicate JavaScript and CSS
*
AUse GET for AJAX requests
*
AReduce cookie size
*
ADo not scale images in HTML
Grade A on Make fewer HTTP requests
This page has 4 external stylesheets. Try combining them into one.
Decreasing the number of components on a page reduces the number of HTTP requests required to render the page, resulting in faster page loads. Some ways to reduce the number of components include: combine files, combine multiple scripts into one script, combine multiple CSS files into one style sheet, and use CSS Sprites and image maps.
»Read More
Grade F on Compress components with gzip
There are 7 plain text components that should be sent compressed
* http://www.california-naturals.com/
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/stylesheet.php?...
* http://www.california-naturals.com/curvycorners.js
* http://www.california-naturals.com/ccorners.js
Compression reduces response times by reducing the size of the HTTP response. Gzip is the most popular and effective compression method currently available and generally reduces the response size by about 70%. Approximately 90% of today's Internet traffic travels through browsers that claim to support gzip.
»Read More
Grade A on Avoid CSS expressions
CSS expressions (supported in IE beginning with Version 5) are a powerful, and dangerous, way to dynamically set CSS properties. These expressions are evaluated frequently: when the page is rendered and resized, when the page is scrolled, and even when the user moves the mouse over the page. These frequent evaluations degrade the user experience.
»Read More
Grade A on Minify JavaScript and CSS
Minification removes unnecessary characters from a file to reduce its size, thereby improving load times. When a file is minified, comments and unneeded white space characters (space, newline, and tab) are removed. This improves response time since the size of the download files is reduced.
»Read More
Grade F on Configure entity tags (ETags)
There are 8 components with misconfigured ETags
* http://www.california-naturals.com/uplo ... d_img2.gif
* http://www.california-naturals.com/uplo ... flower.png
* http://www.california-naturals.com/images/cms/logo1.gif
* http://www.california-naturals.com/uplo ... sidbar.gif
* http://www.california-naturals.com/uplo ... _badge.gif
* http://www.california-naturals.com/uplo ... 3_kahe.jpg
* http://www.california-naturals.com/curvycorners.js
* http://www.california-naturals.com/ccorners.js
Entity tags (ETags) are a mechanism web servers and the browser use to determine whether a component in the browser's cache matches one on the origin server. Since ETags are typically constructed using attributes that make them unique to a specific server hosting a site, the tags will not match when a browser gets the original component from one server and later tries to validate that component on a different server.
»Read More
Grade C on Reduce the number of DOM elements
There are 1386 DOM elements on the page
A complex page means more bytes to download, and it also means slower DOM access in JavaScript. Reduce the number of DOM elements on the page to improve performance.
»Read More
Grade A on Use cookie-free domains
When the browser requests a static image and sends cookies with the request, the server ignores the cookies. These cookies are unnecessary network traffic. To workaround this problem, make sure that static components are requested with cookie-free requests by creating a subdomain and hosting them there.
»Read More
Grade A on Make favicon small and cacheable
A favicon is an icon associated with a web page; this icon resides in the favicon.ico file in the server's root. Since the browser requests this file, it needs to be present; if it is missing, the browser returns a 404 error (see "Avoid HTTP 404 (Not Found) error" above). Since favicon.ico resides in the server's root, each time the browser requests this file, the cookies for the server's root are sent. Making the favicon small and reducing the cookie size for the server's root cookies improves performance for retrieving the favicon. Making favicon.ico cacheable avoids frequent requests for it.
»Read More
Grade A on Put CSS at top
Moving style sheets to the document HEAD element helps pages appear to load quicker since this allows pages to render progressively.
»Read More
Grade N/A on Make JavaScript and CSS external
Only consider this if your property is a common user home page.
* There are a total of 7 inline scripts
Using external JavaScript and CSS files generally produces faster pages because the files are cached by the browser. JavaScript and CSS that are inlined in HTML documents get downloaded each time the HTML document is requested. This reduces the number of HTTP requests but increases the HTML document size. On the other hand, if the JavaScript and CSS are in external files cached by the browser, the HTML document size is reduced without increasing the number of HTTP requests.
»Read More
Grade A on Avoid URL redirects
URL redirects are made using HTTP status codes 301 and 302. They tell the browser to go to another location. Inserting a redirect between the user and the final HTML document delays everything on the page since nothing on the page can be rendered and no components can be downloaded until the HTML document arrives.
»Read More
Grade A on Make AJAX cacheable
One of AJAX's benefits is it provides instantaneous feedback to the user because it requests information asynchronously from the backend web server. However, using AJAX does not guarantee the user will not wait for the asynchronous JavaScript and XML responses to return. Optimizing AJAX responses is important to improve performance, and making the responses cacheable is the best way to optimize them.
»Read More
Grade A on Avoid HTTP 404 (Not Found) error
Making an HTTP request and receiving a 404 (Not Found) error is expensive and degrades the user experience. Some sites have helpful 404 messages (for example, "Did you mean ...?"), which may assist the user, but server resources are still wasted.
»Read More
Grade A on Avoid AlphaImageLoader filter
The IE-proprietary AlphaImageLoader filter attempts to fix a problem with semi-transparent true color PNG files in IE versions less than Version 7. However, this filter blocks rendering and freezes the browser while the image is being downloaded. Additionally, it increases memory consumption. The problem is further multiplied because it is applied per element, not per image.
»Read More
Grade F on Add Expires headers
There are 12 static components without a far-future expiration date.
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/stylesheet.php?...
* (2009/11/2) http://www.california-naturals.com/uplo ... d_img2.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... flower.png
* (2009/11/2) http://www.california-naturals.com/images/cms/logo1.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... sidbar.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... _badge.gif
* (2009/11/2) http://www.california-naturals.com/uplo ... 3_kahe.jpg
* (2009/11/2) http://www.california-naturals.com/curvycorners.js
* (2009/11/2) http://www.california-naturals.com/ccorners.js
Web pages are becoming increasingly complex with more scripts, style sheets, images, and Flash on them. A first-time visit to a page may require several HTTP requests to load all the components. By using Expires headers these components become cacheable, which avoids unnecessary HTTP requests on subsequent page views. Expires headers are most often associated with images, but they can and should be used on all page components including scripts, style sheets, and Flash.
»Read More
Grade A on Put JavaScript at bottom
There are 2 Javacript scripts found in the head of the document
* http://www.california-naturals.com/curvycorners.js
* http://www.california-naturals.com/ccorners.js
JavaScript scripts block parallel downloads; that is, when a script is downloading, the browser will not start any other downloads. To help the page load faster, move scripts to the bottom of the page if they are deferrable.
»Read More
Grade A on Reduce DNS lookups
The Domain Name System (DNS) maps hostnames to IP addresses, just like phonebooks map people's names to their phone numbers. When you type URL www.yahoo.com into the browser, the browser contacts a DNS resolver that returns the server's IP address. DNS has a cost; typically it takes 20 to 120 milliseconds for it to look up the IP address for a hostname. The browser cannot download anything from the host until the lookup completes.
»Read More
Grade A on Remove duplicate JavaScript and CSS
Duplicate JavaScript and CSS files hurt performance by creating unnecessary HTTP requests (IE only) and wasted JavaScript execution (IE and Firefox). In IE, if an external script is included twice and is not cacheable, it generates two HTTP requests during page loading. Even if the script is cacheable, extra HTTP requests occur when the user reloads the page. In both IE and Firefox, duplicate JavaScript scripts cause wasted time evaluating the same scripts more than once. This redundant script execution happens regardless of whether the script is cacheable.
»Read More
Grade A on Use GET for AJAX requests
When using the XMLHttpRequest object, the browser implements POST in two steps: (1) send the headers, and (2) send the data. It is better to use GET instead of POST since GET sends the headers and the data together (unless there are many cookies). IE's maximum URL length is 2 KB, so if you are sending more than this amount of data you may not be able to use GET.
»Read More
Grade A on Reduce cookie size
HTTP cookies are used for authentication, personalization, and other purposes. Cookie information is exchanged in the HTTP headers between web servers and the browser, so keeping the cookie size small minimizes the impact on response time.
»Read More
Grade A on Do not scale images in HTML
Re: 1.6 Slow Site.
That was a lot of info. Kinda like my first post.JeremyBASS wrote: works fast over here... ;)
yslow says...
Not familiar with yslow. My grade is a C, lovely.
It's strange that it takes between 10 and 14 seconds with Safari and Firefox, but 4 seconds with Camino. IE is slow too, but that's on a virtual machine via wireless.
So what's the deal with yslow? I searched it and it looks like a yahoo tool. You recommend it I suppose?
Re: 1.6 Slow Site.
yes if you want to be serious about web design... IMHO.. you neeed tools.. onw is yslow which is a plugin for firebug for FF... I'd suggest much more but that is a good one to start off with...So what's the deal with yslow? I searched it and it looks like a yahoo tool. You recommend it I suppose?
IE was the fastest here... but all where a 1-3 sec dl with a clean cache...IE is slow too, but that's on a virtual machine via wireless.
Also... look in to db caching.. do a seach here for CMSMS speed...
Cheers
Jeremy
Re: 1.6 Slow Site.
I'd like to be somewhat serious, however, I run a beverage company and therefor have limited time.JeremyBASS wrote: yes if you want to be serious about web design... IMHO.. you neeed tools.. onw is yslow which is a plugin for firebug for FF... I'd suggest much more but that is a good one to start off with...

I'll look into it. Seems there's a lot of room for improvement.Also... look in to db caching.. do a seach here for CMSMS speed...
Cheers
Jeremy
Re: 1.6 Slow Site.
Hi,
The site works as fast as any other in FF and IE over here (Ireland).
Could it be that it takes its time transferring data from Google Analytics?
Just an idea: Sure you need to know the visitors details, maybe try a few pages without the google code and see if that is the cause of the delay.
A.
The site works as fast as any other in FF and IE over here (Ireland).
Could it be that it takes its time transferring data from Google Analytics?
Just an idea: Sure you need to know the visitors details, maybe try a few pages without the google code and see if that is the cause of the delay.
A.
Re: 1.6 Slow Site.
This value should be set to true (if possible).pgwalsh wrote: -- Here's the Config file.
$config['output_compression'] = false;
Any help will be appreciated.
Re: 1.6 Slow Site.
Okay... Will do.cyberman wrote:This value should be set to true (if possible).pgwalsh wrote: -- Here's the Config file.
$config['output_compression'] = false;
Any help will be appreciated.
Is this the same thing as zlib.output_compression in the php.ini file?
Last edited by pgwalsh on Wed Nov 04, 2009 4:43 pm, edited 1 time in total.
Re: 1.6 Slow Site.
I just added Google Analytics and didn't notice a change. Not sure if I'll keep it or not as I'm just testing it out. I'll figure out more within the next couple weeks as we will have a write-up and spotlight in a locale newspaper and they are including us in their mailer with a link to the site. Should be interesting.Aureli wrote: Hi,
The site works as fast as any other in FF and IE over here (Ireland).
Could it be that it takes its time transferring data from Google Analytics?
Just an idea: Sure you need to know the visitors details, maybe try a few pages without the google code and see if that is the cause of the delay.
A.
Re: 1.6 Slow Site.
If you fallow the yslow it'll help tell you if you need the
$config['output_compression'] = false; set to ture as you'll be able to read if the server is already gziping it...
And I high disagree that the Google Analytics would be a concern as they are on a CDN and to which this means there is a high chance those files will be delivered to the client faster than you own content would be .....
I can tell you from looking at your site there is at least 5-7 small tweaks you can do that will speed up the site, save you money if you pay by cycle and improve the snappiness overall. Many of them can be found in the tip area here and all over the forum...
This is My2Cents on it. Cheers
jeremy
$config['output_compression'] = false; set to ture as you'll be able to read if the server is already gziping it...
And I high disagree that the Google Analytics would be a concern as they are on a CDN and to which this means there is a high chance those files will be delivered to the client faster than you own content would be .....
I can tell you from looking at your site there is at least 5-7 small tweaks you can do that will speed up the site, save you money if you pay by cycle and improve the snappiness overall. Many of them can be found in the tip area here and all over the forum...
This is My2Cents on it. Cheers
jeremy
Re: 1.6 Slow Site.
Okay well I'm scoring an 85 now, but I'm still having expire and ETAG issues with 5 files that are in my uploads/images and and 1 in my images directory. They're all images I've uploaded. I did add:JeremyBASS wrote: If you fallow the yslow it'll help tell you if you need the
$config['output_compression'] = false; set to ture as you'll be able to read if the server is already gziping it...
And I high disagree that the Google Analytics would be a concern as they are on a CDN and to which this means there is a high chance those files will be delivered to the client faster than you own content would be .....
I can tell you from looking at your site there is at least 5-7 small tweaks you can do that will speed up the site, save you money if you pay by cycle and improve the snappiness overall. Many of them can be found in the tip area here and all over the forum...
This is My2Cents on it. Cheers
jeremy
I re-uploaded the images using the FileManger and it appears to have fixed them, but I'm not sure if this is temporary or not? What's the deal with that?
Header unset ETag
FileETag None
I saw your tips and tricks with expire tags, but I wasn't sure what a UDT was and where to put everything. http://forum.cmsmadesimple.org/index.ph ... 682.0.html
I'll work on it some more and see if I can get things cleaned up.
Last edited by pgwalsh on Wed Nov 04, 2009 11:34 pm, edited 1 time in total.
Re: 1.6 Slow Site.
Here is a tip... in you rule sets make one to set as a default and take of the CDN... you then see that you’re at a 89... good job I did see a about a measurable difference in FF and IE... in just this template area and what yslow covers, here are some other thing to think about...pgwalsh wrote:Okay well I'm scoring an 89 now, but I'm still having expire and ETAG issues with 5 files that are in my uploads/images and and 1 in my images directory. They're all images I've uploaded. I did add:JeremyBASS wrote: If you fallow the yslow it'll help tell you if you need the
$config['output_compression'] = false; set to ture as you'll be able to read if the server is already gziping it...
And I high disagree that the Google Analytics would be a concern as they are on a CDN and to which this means there is a high chance those files will be delivered to the client faster than you own content would be .....
I can tell you from looking at your site there is at least 5-7 small tweaks you can do that will speed up the site, save you money if you pay by cycle and improve the snappiness overall. Many of them can be found in the tip area here and all over the forum...
This is My2Cents on it. Cheers
jeremy
Header unset ETag
FileETag None
I saw your tips and tricks with expire tags, but I wasn't sure what a UDT was and where to put everything. http://forum.cmsmadesimple.org/index.ph ... 682.0.html
I'll work on it some more and see if I can get things cleaned up.
one you could wrap your js at the bottom to in window.onload = function() {} IIRC it shouldn't aftect the GA code. so it'd be like this...
Code: Select all
<__script__ type="text/javascript">
/* <![CDATA[ */
window.onload = function() {
writeJavaScriptCookie();
function writeJavaScriptCookie() {
var date = new Date();
…
}
writeResolutionCookie();
function writeResolutionCookie() {
var date = new Date();
date.setTime(date.getTime()+(60*60*1000));
…ETC
var the_depthcookie="cmsms_statistics_module_colordepth=";
the_depthcookie=the_depthcookie+cd;
the_depthcookie = the_depthcookie + ";expires=" + the_cookie_date;
document.cookie=the_depthcookie;
}
}
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try {
var pageTracker = _gat._getTracker("UA-11165180-2");
pageTracker._trackPageview();
} catch(err) {}
}
/* ]]> */
</__script>
What is good there is those scripts are not DOM forming and don't need to be processed till after load. That means more client side resources to process the page’s DOM fast even on slow pcs.
Other easy things there that would help are :
1.)This page has 4 external stylesheets. Try combining them into one. Also you can force the to be static.. few mods out there that can do that for you .. or if you’re using a real file, the deep caching trick on that post you found will overcome the ETAG and max-age changes made... in fact Let's say you have an image... the header image and it changes week to week, but you don't know how to add the .htacccess rules, well that UDT (user defined tags) sets it so that if the file ever changes on the server, it'll pull up that header img... that UDT forces an un-caching of a file of your choice under a setup of full client side file caching.
2.) thou the js round corners seems great at first I have tested out that the traditional imgs at the sides work great and process fast which will bring you "There are 1179 DOM elements on the page" in yslow down.
a good example is here is the sprite based corners that us only 2 count them 2 images to produce 8 different colored and styled corners... http://www.hairologie.com/users/37/80/SwissSalon.html ...NOTE: this is a beta site that is on a super slow host and it's total dead-download is~400kb at this point... it need to be packed up.
Doing this one change will have a big ripple. You lose two js scripts, all that js messing with the dom while loading, plus you get way more control with images and CSS then js for design. This Is just the start... If you do a lot of sites then you do this all right off the bat then it's creation time is the same. Some Other things.. based on
Turn off modules you don't use, set everything you can to cache, pages and all. Use as few Global Content Blocks or at least wisely as each on is a DB query. Install a DB cache for you server if you can. Oh I bet I can name off tons more that I do by habit.
Here is the latest site I'm working and you'll see it packet to the gills yet it scores an A grade,
renders in and on a 100% dynamic (no pages cached)
Empty Cache
HTTP Requests - 53
Total Weight - 532.9K
and of that 33 Image 416.6K (~300kb loaded after the DOM formation and js script renders)
Primed Cache:
HTTP Requests - 1
Total Weight - 8.2K
for most pages....
(Pre launch 80% done) http://www.visitnorthcentralidaho.org/
I do lot of this by habit so that site only has just about 30 hours in it, and that is in the user end you don't see.... I hope that helps.
Cheers
Jeremy
Re: 1.6 Slow Site. [solved]
Thanks everyone for your help, especially Jeremy, I've ironed out a lot of issues. Still more to do, but much better now.


Re: 1.6 Slow Site. [solved]
You might want to check the text in the footer as it keeps the site from validating...
Re: 1.6 Slow Site. [solved]
glad you got it going faster... may take a look at your side bar...
class="hascontent">
have a great one... Cheers
Jeremy
class="hascontent">
have a great one... Cheers
Jeremy