<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>I-Tech Web Design North Wales &#187; Performance</title>
	<atom:link href="http://www.itechwebdesign.co.uk/blog-web-design-north-wales/category/joomla/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.itechwebdesign.co.uk/blog-web-design-north-wales</link>
	<description>We offer professional website design services in North Wales and Chester areas</description>
	<lastBuildDate>Mon, 11 Mar 2013 14:24:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Nice Social Bookmark &#8211; no img width and height attributes</title>
		<link>http://www.itechwebdesign.co.uk/blog-web-design-north-wales/04/2011/nice-social-bookmark-no-img-width-and-height-attributes/</link>
		<comments>http://www.itechwebdesign.co.uk/blog-web-design-north-wales/04/2011/nice-social-bookmark-no-img-width-and-height-attributes/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 13:49:41 +0000</pubDate>
		<dc:creator>ewanvrooyen</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[image tag]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[social bookmark]]></category>

		<guid isPermaLink="false">http://www.itechwebdesign.co.uk/blog-web-design-north-wales/?p=271</guid>
		<description><![CDATA[Website producers often include images on their pages badly, creating accessibility issues for visitors and increasing page load times. It is important to include the width and height attributes in each image tag.  The mark-up is valid without a height &#8230; <a href="http://www.itechwebdesign.co.uk/blog-web-design-north-wales/04/2011/nice-social-bookmark-no-img-width-and-height-attributes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Website producers often include images on their pages badly, creating accessibility issues for visitors and increasing page load times.</p>
<p>It is important to include the width and height attributes in each image tag.  The mark-up is valid without a height and width attribute, but it is best practice to include them.</p>
<p>You can include them by adding the width and height attributes to the images in the following file: modules\mod_nice_social_bookmark\mod_nice_social_bookmark.php</p>
<p>Back up first!</p>
<p>The code for the whole file is below:</p>
<pre>&lt;?php

// no direct access

//defined( '_VALID_MOS' ) or die( 'Restricted access' );

$url = "http://".$_SERVER['HTTP_HOST'] . getenv('REQUEST_URI'); 

$rss_url = "http://".$_SERVER['HTTP_HOST'];

$isize = $params-&gt;get('isize');

$iset = $params-&gt;get('iset');

$iposition = $params-&gt;get('iposition');

$document = JFactory::getDocument();

$opac = $params-&gt;get('opac');

if ($opac=="yes"){

 $document-&gt;addStyleSheet('modules/mod_nice_social_bookmark/css/nsb-opac.css');

 }

 elseif ($opac=="invert"){$document-&gt;addStyleSheet('modules/mod_nice_social_bookmark/css/nsb-opac-inv.css');

 }

 else{$document-&gt;addStyleSheet('modules/mod_nice_social_bookmark/css/nsb.css');

 }

$twlink = $params-&gt;get('twlink');

$fblink = $params-&gt;get('fblink');

$mslink = $params-&gt;get('mslink');

$rsslink = $params-&gt;get('rsslink');

echo '&lt;div align="'.$iposition.'"&gt;';
$tt = $params-&gt;get('s1', 'yes');
if ($tt == "yes"){ if ($fblink == "")
echo '&lt;a id="l1" target="_blank" rel="nofollow" href="http://www.facebook.com/sharer.php?u='.$url.'&amp;title="&gt;&lt;img title="Facebook" border="0" src="modules/mod_nice_social_bookmark/icons/facebook_'.$iset.'_'.$isize.'.png" alt="Facebook" width="32px" height="32px"  /&gt;&lt;/a&gt;&amp;nbsp;';
else echo '&lt;a id="l1" target="_blank" rel="nofollow" href="http://'.$fblink.'"&gt;&lt;img title="Facebook" border="0" src="modules/mod_nice_social_bookmark/icons/facebook_'.$iset.'_'.$isize.'.png" alt="Facebook" width="32px" height="32px"/&gt;&lt;/a&gt;&amp;nbsp;';}
$tt = $params-&gt;get('s2', 'yes');
if ($tt == "yes"){ if ($mslink == "")
echo '&lt;a id="l2" target="_blank" rel="nofollow" href="http://www.myspace.com/Modules/PostTo/Pages/?l=3&amp;amp;u='.$url.'&amp;amp;title="&gt;&lt;img title="MySpace" border="0" src="modules/mod_nice_social_bookmark/icons/myspace_'.$iset.'_'.$isize.'.png" alt="MySpace"  width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';
else echo '&lt;a id="l2" target="_blank" rel="nofollow" href="http://'.$mslink.'"&gt;&lt;img title="MySpace" border="0" src="modules/mod_nice_social_bookmark/icons/myspace_'.$iset.'_'.$isize.'.png" alt="MySpace" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';}
$tt = $params-&gt;get('s3', 'yes');
if ($tt == "yes"){ if ($twlink == "")
echo '&lt;a id="l3" target="_blank" rel="nofollow" href="http://twitter.com/home?status='.$url.'&amp;amp;title="&gt;&lt;img title="Twitter" border="0" src="modules/mod_nice_social_bookmark/icons/twitter_'.$iset.'_'.$isize.'.png" alt="Twitter" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';
else echo '&lt;a id="l3" target="_blank" rel="nofollow" href="http://'.$twlink.'"&gt;&lt;img title="Twitter" border="0" src="modules/mod_nice_social_bookmark/icons/twitter_'.$iset.'_'.$isize.'.png" alt="Twitter" width="32px" height="32px"  /&gt;&lt;/a&gt;&amp;nbsp;';}
$tt = $params-&gt;get('s4', 'yes');
if ($tt == "yes")echo '&lt;a id="l4" target="_blank" rel="nofollow" href="http://digg.com/submit?phase=2&amp;amp;url='.$url.'&amp;amp;title="&gt;&lt;img title="Digg" border="0" src="modules/mod_nice_social_bookmark/icons/digg_'.$iset.'_'.$isize.'.png" alt="Digg" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';
$tt = $params-&gt;get('s5', 'yes');
if ($tt == "yes")echo '&lt;a id="l5" target="_blank" rel="nofollow" href="http://del.icio.us/post?url='.$url.'&amp;amp;title="&gt;&lt;img title="Delicious" border="0" src="modules/mod_nice_social_bookmark/icons/delicious_'.$iset.'_'.$isize.'.png" alt="Delicious" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';
$tt = $params-&gt;get('s6', 'yes');
if ($tt == "yes")echo '&lt;a id="l6" target="_blank" rel="nofollow" href="http://www.stumbleupon.com/submit?url='.$url.'&amp;amp;title="&gt;&lt;img title="Stumbleupon" border="0" src="modules/mod_nice_social_bookmark/icons/stumbleupon_'.$iset.'_'.$isize.'.png" alt="Stumbleupon" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';
$tt = $params-&gt;get('s7', 'yes');
if ($tt == "yes")echo '&lt;a id="l7" target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk='.$url.'&amp;amp;title="&gt;&lt;img title="Google Bookmarks" border="0" src="modules/mod_nice_social_bookmark/icons/google_'.$iset.'_'.$isize.'.png" alt="Google Bookmarks" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';
$tt = $params-&gt;get('s8', 'yes');
if ($tt == "yes"){if ($rsslink == "")
echo '&lt;a id="l8" target="_blank" rel="nofollow" href="'.$rss_url.'/index.php?format=feed&amp;amp;type=rss&amp;amp;title="&gt;&lt;img title="RSS Feed" border="0" src="modules/mod_nice_social_bookmark/icons/rss_'.$iset.'_'.$isize.'.png" alt="RSS Feed" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';
else echo '&lt;a id="l8" target="_blank" rel="nofollow" href="'.$rsslink.'"&gt;&lt;img title="RSS Feed" border="0" src="modules/mod_nice_social_bookmark/icons/rss_'.$iset.'_'.$isize.'.png" alt="RSS Feed" width="32px" height="32px" /&gt;&lt;/a&gt;&amp;nbsp;';}
echo '&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;';
?&gt;</pre>
<p>Hope this help.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.itechwebdesign.co.uk%2Fblog-web-design-north-wales%2F04%2F2011%2Fnice-social-bookmark-no-img-width-and-height-attributes%2F&amp;title=Nice%20Social%20Bookmark%20%26%238211%3B%20no%20img%20width%20and%20height%20attributes"><img src="http://www.itechwebdesign.co.uk/blog-web-design-north-wales/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.itechwebdesign.co.uk/blog-web-design-north-wales/04/2011/nice-social-bookmark-no-img-width-and-height-attributes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Speed up Joomla</title>
		<link>http://www.itechwebdesign.co.uk/blog-web-design-north-wales/03/2011/speed-up-joomla/</link>
		<comments>http://www.itechwebdesign.co.uk/blog-web-design-north-wales/03/2011/speed-up-joomla/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 16:39:01 +0000</pubDate>
		<dc:creator>ewanvrooyen</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://www.itechwebdesign.co.uk/blog-web-design-north-wales/?p=197</guid>
		<description><![CDATA[While Joomla is one of the most flexible and robust Content Management Systems available, it can suffer in the performance area.  There are some common things that can be done to help speed your site up.  While the best performance &#8230; <a href="http://www.itechwebdesign.co.uk/blog-web-design-north-wales/03/2011/speed-up-joomla/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>While Joomla is one of the most flexible and robust Content  Management Systems available, it can suffer in the performance area.   There are some common things that can be done to help speed your site  up.  While the best performance can be seen on a full dedicated server  running Lighttpd (It&#8217;s MUCH faster than Apache) and a local MySQL  database, acceptable performance levels can be achieved with almost any  hosting package.  For some administrators, upgrading to a dedicated  server might not be practical&#8230;</p>
<h3>Template Optimization</h3>
<p>We&#8217;ll start off this discussion with one of the most common  (and most detrimental) problems that I have seen with Joomla (and any  other site for that matter).  There exist literally thousands of  templates made specifically for Joomla, and most of them look quite  nice, but most have some severe performance penalties.  The problem is  that some of the templates out there use upwards of 70 separate images  to display the page.  Each image generates a new request (which adds the  network latency, usually between 0.1 seconds to as much as 1 second)  and has to be downloaded.  The problem is exacerbated when those images  are not as small (in terms of data size) as possible, and when they are  not optimized.  There exists a GREAT site that will help you determine  what template optimizations need to be done, make sure to run your site  through it after ever major change (<a title="The Website Analyzer" href="http://www.websiteoptimization.com/services/analyze/index.html" target="_blank">The Website Analyzer</a>).</p>
<h3>Gzip, Sometimes</h3>
<p>Encoding your pages with Gzip is an 90% solution&#8230;  If your  server&#8217;s processor is faster than your bandwidth (again, 90% of the  time), than enabling Gzip compression will actually speed up your site.   I say that because gzipping the pages does require some CPU  horsepower.  Try enabling Gzip and see if your site loads any faster  (especially on highly loaded servers).  If it doesn&#8217;t, or you get CPU  warnings from your host, disable Gzip.  It can hurt you, but most of the  time it does help.  The only way to find out is to try it.</p>
<h3>All Components are not Good Components</h3>
<p>If you look through the Joomla Extension directory, you&#8217;ll  find a component to do everything you could want (for the most part).   The problem is that some of these components are REALLY inefficient and  wind up slowing your site down dramatically.  If you want an easy way to  identify slow components that you may be using, install my page caching  component, but don&#8217;t enable caching (let it record the page load time  for each URL).  Then after a week or so, go through the list that was  generated, and find the slow URLS.  Those components will show you which  ones are slower than the rest.  If you can, delete the ones that are  really slow, and try another product.</p>
<h3>Statistics May Seem Nice, but&#8230;</h3>
<p>They use a ton of SQL queries to get done what they do.  They  are not worth it at all!  If you want nice stats, use Google Analytics  to track your users.  Stay away from 3pd stats components.  They do  generate nice stats, but at a huge performance penalty.  The only  statistic worth keeping is the search queries (from the Joomla config).   If you have access to the webserver, you can also disable logging  statistics from the server end as well (this process is much more  efficient, and only will really help if your server is heavily  loaded).</p>
<h3>Mambots are Really Powerful, but also Slow&#8230;</h3>
<p>Take a look at what mambots you are running.  If you are not  using any of them, then get rid of them (don&#8217;t just disable them,  uninstall them).  Every time you load a page, mambots are called as much  as 20 to 30 times.  If the code isn&#8217;t 100% efficient and needed, it&#8217;s a  waste of power.  This doesn&#8217;t mean that if you use the mambot, you  should still keep it.  There are some mambots that are notorious for  slowing a site down.  One of these is the AllVideos Plugin.  It&#8217;s a  great solution, but uses a LOT of queries to complete.</p>
<h3>SEF is not Server Friendly</h3>
<p>One of the best things you can do to a site, is make the  URL&#8217;s look more better.  The Joomla core does an acceptable job, but  there are a handful of 3pd components that make really nice URLs.  The  problem with these components, is that they are not very performance  friendly (they use a ton of queries).  I prefer OpenSEF to any of the  others (But it&#8217;s no longer actively developed) as it seems to be a good  mix of power, flexibility and performance.  Keep in mind, that using SEF  URLs is a tradeoff.  A good URL will look better to a search engine,  and to end users, but it hurts the load time.  Think carefully before  deciding to enable SEF URLs.  One thing you can do, is periodically  optimize the database by purging unpublished and invalid URLs from the  OpenSEF database (an option in the admin section of OpenSEF).</p>
<h3>Enable Caching as Much as Possible</h3>
<p>If you can, enable Joomla&#8217;s core content cache.  It does  speed things up when viewing content and modules (mambots don&#8217;t need to  be processed each time the page is loaded).  If you really want to speed  things up for unregistered users, take a look at my  Page Caching  component which caches entire pages.  This is probably the best  performance gain you can find you unregistered users (the majority of  users for 95% of websites).  This does not mean that you can forget  about the rest of these optimizations, because the registered users will  still see the uncached site.</p>
<h3>Find the Bad Queries</h3>
<p>From the Joomla config, enable debugging.  Then view your  site, and check out the database queries being executed.  You want this  number to be as low as possible (under 30 preferably, but under 50 or so  should suffice).  Start by looking at the recurring queries (ones that  are executed over and over).  You SHOULD be able to tell what extension  is generating the queries by the table they look at (for example,  &#8220;Select * from jos_opensef_config&#8221; is from OpenSEF).  There are two ways  of dealing with queries that run often.  You can either disable that  extension, or contact a developer to optimize the extension (either the  developer of the extension, or a freelance developer like me).</p>
<h3>Stay Away from Bridges</h3>
<p>A popular method of incorporating functionality into Joomla  is via a bridge.  This involves modifying the Joomla core and the core  of another program (such as SMF, or Gallery2) to provide the  functionality of both.  On the surface, this looks great because the  other program is often much more refined and has more features than any  &#8220;true&#8221; Joomla extensions available, but underneath is a different  story.  The problem is that both are independent systems, which means  each one needs to load its own &#8220;core&#8221; (including frameworks, user  management, and more).  This has a HUGE performance penalty, because you  are basically loading two pages for every page loaded.  The slight  functionality loss of going from SMF to something like Fireboard is well  worth the performance gains.</p>
<h3>Optimize your Database</h3>
<p>The one thing that is put under the most strain in most  Joomla installations is the Database server.  There are two main ways to  optimize the database.  Optimize the tables, and optimize the schema.   The difference, is that the tables are how the tables actually store the  data, and the schema is how they are supposed to store the data.  The  schema only needs to be optimized once, while the tables need to be  optimized regularly (as data is added, edited, and deleted).  To  optimize the schema, please refer to the article  Improving Joomla&#8217;s  Queries.  To optimize the tables go into phpMyAdmin, select all tables,  and click &#8220;optimize&#8221;.  To read more about optimizing the database  tables,  <a title="Optimize Table" href="http://dev.mysql.com/doc/refman/5.0/en/optimize-table.html">read this section from MySQL</a>.</p>
<h3>Finally, Backup and Monitor Your Server</h3>
<p>You MUST make regular backups, and move them off your  production server.  While you may be thinking &#8220;What does this have to do  with performance?&#8221;, it has EVERYTHING to do with performance.  Without  current backups, how will you be able to restore the site to a known  configuration if an install, update or tweak goes bad?  A sudden slow  down in the site could be from a hack attempt that injected malicious  code into your core (unlikely, but possible).  What happens if your  server decides to bite the bullet?  The best way to make the backups is  with an automated script (so that you can&#8217;t &#8220;forget&#8221;).  There are good  ones all over the internet (and one&#8217;s probably included in your control  panel if you have one), just google it.  Remember, before doing anything  to a site, BACKUP FIRST!</p>
<p>http://www.joomlaperformance.com/articles/performance/so_you_want_to_speed_up_joomla_3_14.html</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.itechwebdesign.co.uk%2Fblog-web-design-north-wales%2F03%2F2011%2Fspeed-up-joomla%2F&amp;title=Speed%20up%20Joomla"><img src="http://www.itechwebdesign.co.uk/blog-web-design-north-wales/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.itechwebdesign.co.uk/blog-web-design-north-wales/03/2011/speed-up-joomla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
