SEO may sound complicated and expensive, but there are a number of things you can do to improve your search engine ranking that won’t have you spending a dime or tearing your hair out. Here is a list of the 10 simplest SEO tips and tricks for Joomla sites. Now here are 10 easy, cheap ways to improve your SEO. 1) Don't install any sample data when you set up a Joomla! site. When you launch your Joomla! Site, it’s very easy to forget to delete all the demo articles that come with it. That will give you pages, links and newsfeeds that are irrelevant to your topic. Delete your sample data and don't forget to empty your trash as well! 2) Your Site Name should be your site’s name. There can be a temptation to cram as many keywords as possible into the "Site Name" field. It doesn't help and when users register at your site, they get an email saying "Welcome to Widgets, Buy Widgets, Cheap Widgets, Bargain Widgets!" You don't want that. 3) Turn off your PDF links. When we analyze Joomla! Sites, we often find PDFs ranking higher than the original pages. Because PDF pages have no menu links, they're a dead-end. Users can't move from the PDF to the rest of your site. So turn off those links. 4) Don't waste your site's link juice with lots of social bookmarking links. Lets face it, very few pages have a chance to hit the Digg home page or do well on Reddit, so only place those buttons on your best articles. Your visitors appreciate clean, uncluttered pages -- and so do search engines. 5) Redirect the www and non-www versions of your site to the same place. All you need to do is add this little piece of code to your .htaccess file. Note: Replace MyDomain with your domain name and .com with your domain extension. ## Can be commented out if causes errors. Options FollowSymLinks # mod_rewrite in use RewriteEngine On RewriteCond %{HTTP_HOST} ^MyDomain.com$ [NC] RewriteRule ^(.*)$ http://www.MyDomain.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} !^.*MyDomain.com [NC] RewriteRule (.*) http://www.MyDomain.com/$1 [R=301,L] Code (markup): 6) Turn on your cache. Search in Google and you'll see a size for each site. Smaller, faster sites are more popular with visitors and with Google. One easy way to make your site act small and load faster is to turn on your cache in Global Configuration. 7) Enter a full description for all your sections and categories. These pages are great for organizing your site... and for improving Page Rank. If you organize your sections and categories carefully, your site becomes very easy for both people and search-engine spiders to navigate. 8) Less is often more Having thousands of Joomla! pages indexed in Google isn't always a good thing, especially if those pages don't bring value. Some components, for example, can produce lots of extra pages that are completely worthless. One easy way to check if your site is putting garbage on Google is to search for site:mydomain.com. If you find pages that don't have good content, you might want to remove them. 9) Empty your global configuration metadata. I'm sure you're all big fans of Joomla!, but I'm equally sure that "Joomla! - the dynamic portal engine and content management system" doesn't describe your site. Take it out. 10) Be confident. Joomla! is fantastic software that allows you to easily create lots of high quality pages that are great for your SEO. If you keep a close eye on your site and take the time to learn how Joomla! works, there's no reason why you shouldn't have top-flight search engine rankings!
Good stuff thank you. I also am sort of new to the Joomla scene and converted a 5 year old site from netobjects fusion to joomla with a Rocket Theme. It's been quite the experience and now I only struggle with seo. Doing everything in my power to do it right. When I finally switched the site live we flatlined on sales leads. It is finally starting to come around after much patience hard work and Marconi dinners. The site is http://www.nicecarvings.com
Thanks, I followed your #5 rule for my homepage... Did you do this on all your internal pages as well or just homepage?
I am having details about keywords for my website in global config. metadata. Will this create any problem?
HI, Nice work. 1) Don't install any sample data when you set up a Joomla! site. How do we delete ? Thanks,
Go to the article manager, check the box of the article you want to delete. Select the trash icon from the top. Section column will give you clues.
You should also rel=nofollow your email icon at the top right if it's not already, and modify the header title to be <h1> as joomla doesn't do that
Real practical advises. Thank you. Do you know if system "generator" make any difference for SEO? I always change that to be equal to site description but never followed if it makes a difference.
No, the generator tag does nothing for SEO, but remove it because i don't like People knowing which cms I use
wow... excellent stuff. Just worth mentioning that ive been bending rule #2 around alot. There are many positive results if done properly..
i apoligise. I mean that its good to change your site's title in your menu parameter settings, so that your homepage has rich meaningful titles, but your site name should def be your site name.
Now a days my site being headache for me cause its in Joomla. As view of SEO There are lots of Error on page I am seeing. I don't understand that how fix it.
For me works very well to insert the tag "title" into the main menu. This works on J 1.5.x v, I haven't tested on news J versions. Here the code : You have to make the override of this file : modules\mod_mainmenu\tmpl\default.php copy it into templates\yourtemplate\html\mod_mainmenu\default.php where "your template" is the name of your template If the folder doesn't exist create it. You'll have to look for this code: function modMainMenuXMLCallback(&$node, $args) { and put in just below this line this code : then you'll have to look for this code : $user = &JFactory::getUser(); $menu = &JSite::getMenu(); $active = $menu->getActive(); and put in just below this lines this code: if($node->attributes('id') != "" ){ $itemid = $node->attributes('id'); } if ($node->name() == 'a'){ $item = $menu->getItem($itemid); $menu_params = new JParameter( $item->params ); $title = $menu_params->get( 'page_title') ? $menu_params->get('page_title') : $item->name; if($title) {$node->addAttribute('title', $title);} } Then you'll have to go into the voice Parameters (system) of a voice of your main menu and insert the title that you want.It'll be the tag title. I hope it will be useful, despite my bad English
For me works very well to insert the tag "title" into the main menu. This works on J 1.5.x v, I haven't tested on news J versions. Here the code : You have to make the override of this file : modules\mod_mainmenu\tmpl\default.php copy it into templates\yourtemplate\html\mod_mainmenu\default.php where "your template" is the name of your template If the folder doesn't exist create it. You'll have to look for this code: [COLOR=#000000][B]function[/B][/COLOR] modMainMenuXMLCallback[COLOR=#009900]([/COLOR][COLOR=#339933]&[/COLOR][COLOR=#000088]$node[/COLOR][COLOR=#339933],[/COLOR] [COLOR=#000088]$args[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR] Code (markup): and put in just below this line this code : then you'll have to look for this code : [COLOR=#000088]$user[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#339933]&[/COLOR]JFactory[COLOR=#339933]::[/COLOR][COLOR=#004000]getUser[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR]; [COLOR=#000088]$menu[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#339933]&[/COLOR]JSite[COLOR=#339933]::[/COLOR][COLOR=#004000]getMenu[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR]; [COLOR=#000088]$active[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$menu[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]getActive[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR]; Code (markup): and put in just below this lines this code: [COLOR=#b1b100]if[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$node[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]attributes[/COLOR][COLOR=#009900]([/COLOR]'id'[COLOR=#009900])[/COLOR] [COLOR=#339933]!=[/COLOR] [COLOR=#0000ff]""[/COLOR] [COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR] [COLOR=#000088]$itemid[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$node[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]attributes[/COLOR][COLOR=#009900]([/COLOR]'id'[COLOR=#009900])[/COLOR]; [COLOR=#009900]}[/COLOR] [COLOR=#b1b100]if[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#000088]$node[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]name[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR] [COLOR=#339933]==[/COLOR] 'a'[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR] [COLOR=#000088]$item[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$menu[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]getItem[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$itemid[/COLOR][COLOR=#009900])[/COLOR]; [COLOR=#000088]$menu_params[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000000][B]new[/B][/COLOR] JParameter[COLOR=#009900]([/COLOR] [COLOR=#000088]$item[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]params[/COLOR] [COLOR=#009900])[/COLOR]; [COLOR=#000088]$title[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$menu_params[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]get[/COLOR][COLOR=#009900]([/COLOR] 'page_title'[COLOR=#009900])[/COLOR] ? [COLOR=#000088]$menu_params[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]get[/COLOR][COLOR=#009900]([/COLOR]'page_title'[COLOR=#009900])[/COLOR] [COLOR=#339933]:[/COLOR] [COLOR=#000088]$item[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]name[/COLOR]; [COLOR=#b1b100]if[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$title[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]{[/COLOR][COLOR=#000088]$node[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]addAttribute[/COLOR][COLOR=#009900]([/COLOR]'title'[COLOR=#339933],[/COLOR] [COLOR=#000088]$title[/COLOR][COLOR=#009900])[/COLOR];[COLOR=#009900]}[/COLOR] [COLOR=#009900]}[/COLOR] Code (markup): Then you'll have to go into the voice Parameters (system) of a voice of your main menu and insert the title that you want.It'll be the tag title. I hope it will be useful, despite my bad English