version 1.4.2
compatible with Joomla 1.0.x
by ARTIO s.r.o.
last updated on 16th of April 2007
ARTIO JoomSEF is a Joomla! component that generates and allows creation of Search Engine Friendly (SEF) URLs for Apache and IIS, returns proper 404 status code for missing content, provides logging of 404 errors, and creation of special "shortcut" URLs that allow the user to redirection to the new URL.
Starting with version 1.3.0 JoomSEF also allows control of specific meta tags, such as description or keywords for each generated URL. JoomSEF comes with SEF support for most popular Joomla! components. Some of those are delivered free as part of the JoomSEF instllation package and some are also available under commerial licence. If you are missing a support for your favourite component, ARTIO may develop it on request.
This documents describes how to install and setup ARTIO JoomSEF Joomla! component. You can view this documentation again by selecting the "ARTIO JoomSEF Documentation" button from the ARTIO JoomSEF Control Panel.
This software is distributed under GNU General Public Licence. By installing and using this software, you agree to bind to the licence conditions.
Please note that some add-on parts for this software (component and module extensions) may be available under other (commercial) licence conditions.
You can view installation instructions below by clicking the appropriate arrow.
If your .htaccess file was set as writable the install may have updated it already and you shouldn't have to worry about it.
If your site is in a subdirectory be sure to change the RewriteBase line accordingly. ex/ RewriteBase /joomla
## # @version $Id: htaccess.txt 2368 2006-02-14 17:40:02Z stingrey $ # @package Joomla # @copyright Copyright (C) 2005 Open Source Matters. All rights reserved. # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL # Joomla! is Free Software ## ##################################################### # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE # # The line just below this section: 'Options FollowSymLinks' may cause problems # with some server configurations. It is required for use of mod_rewrite, but may already # be set by your server administrator in a way that dissallows changing it in # your .htaccess file. If using it causes your server to error out, comment it out (add # to # beginning of line), reload your site in your browser and test your sef url's. If they work, # it has been set by your server administrator and you do not need it set here. # # Only use one of the two SEF sections that follow. Lines that can be uncommented # (and thus used) have only one #. Lines with two #'s should not be uncommented # In the section that you don't use, all lines should start with # # # For Standard SEF, use the standard SEF section. You can comment out # all of the RewriteCond lines and reduce your server's load if you # don't have directories in your root named 'component' or 'content' # # If you are using a 3rd Party SEF or the Core SEF solution # uncomment all of the lines in the '3rd Party or Core SEF' section # ##################################################### ##### SOLVING PROBLEMS WITH COMPONENT URL's that don't work ##### # SPECIAL NOTE FOR SMF USERS WHEN SMF IS INTEGRATED AND BRIDGED # OR ANY SITUATION WHERE A COMPONENT's URL's AREN't WORKING # # In both the 'Standard SEF', and '3rd Party or Core SEF' sections the line: # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## # May need to be uncommented. If you are running your Joomla! from # a subdirectory the name of the subdirectory will need to be inserted into this # line. For example, if your Joomla! is in a subdirectory called '/test/', # change this: # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## # to this: # RewriteCond %{REQUEST_URI} ^(/test/component/option,com) [NC,OR] ##optional - see notes## # ##################################################### ## Can be commented out if causes errors, see notes above. Options FollowSymLinks # # mod_rewrite in use RewriteEngine On # Uncomment following line if your webserver's URL # is not directly related to physical file paths. # Update Your Joomla! Directory (just / for root) # RewriteBase / ########## Begin Standard SEF Section ## ALL (RewriteCond) lines in this section are only required if you actually ## have directories named 'content' or 'component' on your server ## If you do not have directories with these names, comment them out. # #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## #RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] #RewriteRule ^(content/|component/) index.php # ########## End Standard SEF Section ########## Begin 3rd Party or Core SEF Section # #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php # ########## End 3rd Party or Core SEF Section
Since JoomSEF 1.3.2 support for IIS servers has been retested and updated.
JoomSEF has been succesully tested on IIS5 and IIS6. As the installation process is quite complex, we provide just the basic hints here. If you have problems setting this up, please contact our support team (please note that the support is a paid service).
########## Begin 3rd Party or Core SEF Section # RewriteCond %{URL} ^(/component/option,com) [NC,OR] ##optional - see notes## RewriteCond %{URL} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule /joomla/demo/(.*) /joomla/demo/index.php [L,U]
Using the Internet Services Manager, right-click the directory in which Joomla! is installed. Select properties >> Custom Error set the 404 to URL:/joomla/index.php set the 405 to URL:/joomla/index.php
## # @version $Id: htaccess.txt 2368 2006-02-14 17:40:02Z stingrey $ # @package Joomla # @copyright Copyright (C) 2005 Open Source Matters. All rights reserved. # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL # Joomla! is Free Software ## ##################################################### # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE # # The line just below this section: 'Options FollowSymLinks' may cause problems # with some server configurations. It is required for use of mod_rewrite, but may already # be set by your server administrator in a way that dissallows changing it in # your .htaccess file. If using it causes your server to error out, comment it out (add # to # beginning of line), reload your site in your browser and test your sef url's. If they work, # it has been set by your server administrator and you do not need it set here. # # Only use one of the two SEF sections that follow. Lines that can be uncommented # (and thus used) have only one #. Lines with two #'s should not be uncommented # In the section that you don't use, all lines should start with # # # For Standard SEF, use the standard SEF section. You can comment out # all of the RewriteCond lines and reduce your server's load if you # don't have directories in your root named 'component' or 'content' # # If you are using a 3rd Party SEF or the Core SEF solution # uncomment all of the lines in the '3rd Party or Core SEF' section # ##################################################### ##### SOLVING PROBLEMS WITH COMPONENT URL's that don't work ##### # SPECIAL NOTE FOR SMF USERS WHEN SMF IS INTEGRATED AND BRIDGED # OR ANY SITUATION WHERE A COMPONENT's URL's AREN't WORKING # # In both the 'Standard SEF', and '3rd Party or Core SEF' sections the line: # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## # May need to be uncommented. If you are running your Joomla! from # a subdirectory the name of the subdirectory will need to be inserted into this # line. For example, if your Joomla! is in a subdirectory called '/test/', # change this: # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## # to this: # RewriteCond %{REQUEST_URI} ^(/test/component/option,com) [NC,OR] ##optional - see notes## # ##################################################### ## Can be commented out if causes errors, see notes above. Options FollowSymLinks # # mod_rewrite in use RewriteEngine On # Uncomment following line if your webserver's URL # is not directly related to physical file paths. # Update Your Joomla! Directory (just / for root) # RewriteBase / ########## Begin Standard SEF Section ## ALL (RewriteCond) lines in this section are only required if you actually ## have directories named 'content' or 'component' on your server ## If you do not have directories with these names, comment them out. # RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] RewriteRule ^(content/|component/) index.php # ########## End Standard SEF Section ########## Begin 3rd Party or Core SEF Section # #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes## #RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule (.*) index.php # ########## End 3rd Party or Core SEF Section
Make sure that:
If your web site uses non-lating languages (such as greek, hebrew, etc.), make sure to configure the character conversion map correctly in JoomSEF Configuration / Non-ascii character replacements for all characters your language is using.
The format you need to use is oldChar1|newChar1,oldChar2|newChar2,... .
Example: α|a,β|b,γ|c,...
Starting with version 1.3.0, JoomSEF provides automatic updates capabilities.
Thanks to this feature, it is no longer needed to uninstall and install the component each time you want to upgrade to higher version. After activating the automatic upgrade tool in the JoomSEF control panel, the component will check, whether newer version is available on-line and if yes, it will automatically download it and install rewriting your current version.
Using the ARTIO JoomSEF configuration is fairly straight forward. For more information on each item hover your mouse over the blue (i) images when you are in the configuration screen.
When you save the configuration it will remove all your URL's from the database. If you have a high traffic site it may be wise to put it offline before saving the ARTIO JoomSEF config or purging the database and go and browse your site starting at the main page. This will create the URL's properly for you and prevent numbers from being added to the ends of URL's people were browsing that changed.
You may want to purge the 404 log before creating fresh urls.
To achieve maximum performance, you should consider several things.
Always have the lates JoomSEF version installed as we continue optimizations with every release.
Enable Joomla! caching.
Use JoomSEF Configuration to turn SEF off for those components you do not need it or which generate too many unoptimized links. Typically when you note links like 45.html, 46.html, ..., something is probably wrong.
If certain component is using pagination, sorting and similar parameters an advanced configuration option "Append non-SEF variables to URL" may significantly reduce a number of SEF links generated and thus also your DB load. However, please note that the excluded variables will be reappened to your URL in standard form as &varname=value.
JoomSEF will always be a DB-driven SEO component. It will produce very nice and highly editable URLs for you, but for the cost of higher load for your DB. When configured properly and cached, the load increase should not be significant, but especially with big and frequently visited sites, pay a special attention to configuration and installed modules and plan your SEO carefully.
If you are facing duplicate content items links e.g. http://yoursite.you/article.html, http://yoursite.you/article-2.html, etc. that lead to the same content, this is most probably caused by so called "Itemid" variable (although there may be other reasons also).
The Itemid is internal Joomla! variable used to identify the source of a URL link. E.g. main menu or sub menu item that your visitor used to get to a certain content. According to this variable, different Joomla! configurations are applied - e.g. what template will be used or what modules will be visible, etc.
Since JoomSEF 1.4.0, several new configuration options are provided in "Advanced configuration" section. The option "Exclude source info" may be used to exclude the Itemid variable from the URL and thus eliminate the duplicates caused by it. However, ignoring it completely may lead to unwanted Joomla! functionality, like not swithing the templates as desired or so. Whether this will be a problem for you or not depends mainly on the way how your site is designed and how complicated it is. If you need to fix this, the Itemid should be "reappended" to the SEF URL as an extra part using the option "Reappend source". Then the resulting URL will look http://yoursite.you/article.html&Itemid=xy.
You can modify URL's to your liking. Go into the ARTIO JoomSEF Control Panel and click ' View/Edit SEF Urls'. Select the URL you wish to modify. If you click the check box labeled 'Save as Custom Redirect' it will place this URL into the 'Custom Redirect' area which you can navigate to from the ARTIO JoomSEF Control Panel. When you click 'View/Edit Custom Redirects' you will see your URL in here now instead. These urls will not be removed when you save the config. You can modify these and save them as you wish.
This is particularly useful if you are updating from an old site because any URL's that are no longer availble will be logged. You can view these URL's by clicking 'View/Edit 404 Logs' in the ARTIO JoomSEF Control Panel. You can redirect visitors to the new page by selecting the URL you wish to modify and entering the new url. Note: The ability to enter non-Joomla! URL's into this area is coming soon! This will allow you to easily transfer a non-Joomla! site to Joomla using ARTIO JoomSEF and any of your old URL's will be redirected to the new page within Joomla!.
It is recommended to backup your database before doing this.
You can also import and export URL's from the Custom Redirect area. To do this click the 'Import/Export Custom URLS' link above the table of URL's. To backup your URL's click the 'Backup Custom URLS' button and you will be presented with a file named 'ARTIO JoomSEF_custom_urls.sql' to download.
If you want to import your urls browse to the file and click the 'Import Custom URLS' button.
The support for Joomla! core components, such as banners, content, contacts, news, newsfeeds, weblinks, etc. is already integrated in the JoomSEF component. Optimization of URLs for these components requires no further efforts.
The situation is slightly different for 3rd party components. There exists many 3rd party components and modules for Joomla!, which usually differ significantly in complexity and structure. This means that for some of those (usually the simple ones), the SEO will worctionality, insufficient SEO, or generation of duplicate URLs. These can be either skipped in JoomSEF Control Panel, so no SEF URLs will be generated for them, or will require a special "extensions".k using the the default JoomSEF component handler. The others (usually more complex ones) may cause problems when used with the default handler. Such problems may include errors, loss of fun
Extensions are special pieces of code for JoomSEF, written with particular 3rd party component in mind (e.g. VirtueMart, JoomlaBoard, ...}. Such extension can be either part of the component/module self (provided by component/module author), may come as part of JoomSEF installation package or be provided by 3rd parties. ARTIO offeres most of such extensions available for free as part of the JoomSEF distribution package. However, some of the extensions are provided also under commercial licence. Bellow, you may find list of official extenstions available for JoomSEF.
We hope this list will be spread fast. Our priority is to add support for the most popular extensions first. If you haven't found your favourite component/module here and it does not work with JoomSEF correctly, you may contact us and we may develop a needed extension for you.
To install extra SEF extension for a component, use installer accessible from the JoomSEF Control Panel.
ARTIO JoomSEF is a free software. However the development costs are same as for any other software. If you are satistifed with this software and you would like us to implement new features, fix the bugs promptly and publish new releases regularily, you can send us a donation and thus support the JoomSEF further development.
You may do so via PayPal service using your credit card or transfer, or you can send us the payment directly.
Bank account information:
Recieving Bank: Ceskoslovenska obchodni banka (CSOB)
Address: Hollarova 5, Ostrava, Czech Republic
Account No.: 199371035, Bank code: 0300
SWIFT: CEKOCZPP
IBAN: CZ1303000000000199371035
If you need more help with the ARTIO JoomSEF component, visit our webpages at http://www.artio.cz and check our FAQs & support forums.
JoomSEF may add user-invisible links pointing to websites of JoomSEF authors (ARTIO s.r.o.) and/or to its sponsors. Such links appear in page footers or meta tag fields of pages, where it is used. This has no direct influence to functionality of your site.
Similarily to Joomla! software, these may be removed if you wish to do so. However, by keeping them, you help us develop the software further and increase the number of users.
You may also purchase a commercial version of JoomSEF that does not contain these advertisement links. This component is available from on-line store at http://www.artio.cz/en/e-shop.
ARTIO s.r.o.
Mrstikova 840/6
Ostrava - Marianske Hory
70900 Czech Republic
http://www.artio.net
info@artio.net
Michal Unzeitig, team leader
David Jozefov, developer
Petr Vlasak, developer