There seems to be a trend of 404 errors, login problems, etc with problems I have been seeing, I think it is time to address these issues and write an article about the SEO/SEF configuration.
Let me start out about what SEO/SEF is.SEO is an acronym for Search Engine Optimization. It describes the techniques used to enhance a webpage's search engine ranking. The goal of SEO is to get listed on targeted keyword searches, increasing the site's Search Engine originated traffic. For example, if an user searches "web templates", a large human-written article on a well known website gets a higher position in results, while a page containing "web templates" search phrase 100 times on an obscure website will rank very low. Actually, Google may ban a site for unfair techniques, so the second page in our example may not show up in results at all (because keyword stuffing is not tricking SEs today as it used to in the 90s).
A good website is a website with rich, valuable information. We're talking about unique, well-structured text content, cross-linked for easier user access Large articles are a good thing for both human users and SEs. Without the content you can have the best Search Engine Optimization in the world and it will not help.
Adding fresh information to your website on a regular basis makes it more appealing to SE's. Google determines the site update frequency, and sets the website indexing interval accordingly. A frequently updated website gets indexed more often. (Indexing is the SE refresh mechanism. A SE runs automated software [called crawler, or bot] to check websites for content updates)
It's also important to avoid duplicating content on your website. It may be interpreted by the SEs as a spam attempt.
Let me explain a little bit about this and how it works.First and foremost, your server has to support .htaccess, virtual paths make sure your site is correctly configured to use www or non-www site wide, use a .htaccess hack to make this work.
Lets look at the web address for a second:
www.site.org/index.php?option=com_weblinks&task=view&Itemid=22 All of the stuff after the ? tells the server that you are sending information from one page to another and the next page that loads is looking for a value to do something. With the address above we can break it down like so:
option=com_weblinks
task=view
Itemid=22
This is telling Joomla to VIEW the component Web Links and the item 22
Here is a more easier to follow example:I have a page that I want to give you an option
Option 1 - Submit Article
Option 2 - Read Articles
Option 3 - Delete Article
I am going to choose option 2 - When I call the articles.php page it will look like this:
http://www.sample.com/articles.php?option=2 When the articles.php page opens up there is a string in the page that will look for the option you have chosen.
<?php option = $_GET("option"); ?>
This is how Joomla works natively. When the SEF is turned on it changes everything after the ? to "virtual" paths now it would look something like this:
http://www.site.com/component/option,com_weblinks/Itemid,22/ Your server MUST support this method and you have to have the new .htaccess file to be setup properly. This is not REALLY making it Search Engine Friendly, it is making it HUMAN READABLE. Search Engines can read everything as long as it is not password protected or turned off.
Now there is the last option Add suffix to URL's: Depending on the type of document it is trying to use it will add a suffix to the URL.
ALTHOUGH! when you enable SEF the site has to populate the new links, same as when you disable the SEF. It may break your site. So do this with care and make sure you understand what all of the items do. Also check your .htaccess file to make sure it is setup properly.
{ADDENDUM}For further review, let's determine if SEO/SEF is even compatible with your server.
Using your favorite ftp software, in your root directory, locate the .htaccess file. Then open it up in a text editor, if you do not see that file go ahead and create a new .htaccess file and take note of the period at the beginning of the file. The first line of this file, you will need following line: redirect /firefox
http://www.getfirefox.com Save the file, open up your web browser and type in the address bar
www.yoursite.com/firefox, use your domain name in the yoursite.com portion. If you get redirected to the Firefox web page then it was successful, if not, then you need to change the web server httpd.conf file. If you are unable to do this you will need to contact your hosting company to do this for you
If something happens you can revert back to non-SEF by simply:
open you file manager or FTP client, and use it to rename your .htaccess back to htaccess.txt
Next, open your configuration.php file which is also located in your Joomla root folder) and change the
$mosConfig_sef = '1';
line to:
$mosConfig_sef = '0';
Save the configuration.php and you're back to non-SEF, but working URLs.
To finalize this post, if you wish to enable the SEO/SEF make sure it is completely done, and published live for 1 week. Then enable the SEO/SEF settings. Test each link manually and make sure everything is working.