Menu Content

Joomla Extensions

> Choose one to see more info

ARTIO JoomSEF Documentation

Michal Unzeitig
David Jozefov

Abstract

This document describes ARTIO JoomSEF component for Joomla, it functionality, installation procedure and usage.

This documentation can also be downloaded in PDF format.


Chapter 1. JoomSEF Introduction

Introduction of ARTIO JoomSEF component functionality, compatibility and licensing.

1.1. What is JoomSEF

ARTIO JoomSEF is a Joomla! component that generates and allows creation of search engine friendly (SEF) URLs, manages and generates HTTP document meta-data, such as description, keywords, title; returns proper 404 status code for missing content, provides logging of 404 errors, helps to manage 301 redirects, etc.

To provide maximum functionality, JoomSEF uses plug-in system, that allows SEO support for many popular Joomla! components. The pieces of plug-in code that provides the support for specific 3rd party component is called JoomSEF extension. Some of these extensions are available for free download, some are available under commercial 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.

1.2. Compatibility

JoomSEF is a component for Joomla! CMS, therefore it requires Joomla! to run. It is available in two editions:

  1. JoomSEF 3.x is compatible with Joomla 1.5.x

  2. JoomSEF 2.x is compatible with Joomla 1.0.x

In both cases, JoomSEF is compatible with web servers, that support URL rewrite functionality.

  • Apache with mod_rewrite module installed and activated

  • IIS versions 6, 7 with ISAPI rewrite module installed (we recommend using Helicon's ISAPI Rewrite v3)

  • other webservers with URL rewriting capabilities

JoomSEF also needs PHP version 5.1.0 or higher, the 5.2.x is recommended.

1.3. Software License

The most actual version of the ARTIO JoomSEF licensing conditions can be found at ARTIO website.

By installing and using this software, you agree to bind to the mentioned license conditions.

1.4. Main Features

1.4.1. URL Rewriting

JoomSEF's main functionality is to rewrite Joomla! standard URLs in a form of domain.tld/index.php?option=com_content&view=article&id=2&Itemid=5 to the more human readable and search engine understandable form of domain.tld/article-category/article-title. You can easily manage these URLs and make them look anything you like.

1.4.2. Meta Tags management

You can very easily set description, keywords and other meta tags for each URL separately, so you have maximum control of your meta tags. JoomSEF can also generate the meta tags for the most favourite components automatically for you.

1.4.3. JoomFish support

JoomSEF supports JoomFish (provides multilingual content) from its very first versions and since then it has many options to create multilingual SEF URLs.

1.4.4. 301 Redirects

If you ever want to change your URLs that are already well indexed by search engines, or when you migrate website to Joomla, you will need to set the 301 redirects from the old URLs to the new ones, so the old URLs remain functional without a penalization from search engines. Using JoomSEF you have three options to do this:

  1. The 301 Redirects feature - you can manually create individual redirects one by one; JoomSEF also creates these redirects automatically when you manually change some SEF URL, so the old one will still work

  2. The URL Aliases feature - for each SEF URL you can set list of aliases which will be redirected to it

  3. The .htaccess redirects feature - JoomSEF allows you to easily add 301 redirects directly to your .htaccess file without a need of fully understanding its syntax

1.4.5. SiteMap management

The XML Sitemap file is used to tell the search engines which pages on your web site you want to be indexed, what priority each of your pages has, how often the content of the pages changes and when was the page changed the last time, so search engines can optimize their indexing strategy based on this information. Using JoomSEF you can easily control all of this information without a need to write a single XML line.

1.4.6. Internal links

This feature allows you to create a set of words with assigned URLs. JoomSEF then automatically hyperlinks any appearance of these words in your pages content to their corresponding assigned URLs.

1.4.7. Automatic upgrades and extensions installation

Keeping your JoomSEF and its extensions up-to-date has never been simpler. On one page you can see what versions you have currently installed and what are the newest versions and you can automatically upgrade your JoomSEF or any of its installed extension with a single click. Moreover you can see a list of your components without a JoomSEF extension installed and if the extension is available on our server, you can get it again with a single click - the free extensions are installed right away and paid versions will redirect you to our e-shop.

Chapter 2. Installing JoomSEF

2.1. Obtaining JoomSEF

You can obtain JoomSEF by downloading from ARTIO webpage. The method of obtaining it may differ on whether you want to use free or paid edition.

Free edition of JoomSEF can be downloaded directly in Downloads section of the ARTIO website.

To download a paid version, you need a Download ID that you will receive by email when your payment for the component has been confirmed. Then you can download the component by clicking the link in the same email or by entering the Download ID at the Download Area of the ARTIO webshop.

JoomSEF is distributed as installable Joomla! ZIP package.

2.2. Starting Installation

Checklist before install:

  1. make sure the rewrite module is installed and available at your webserver

  2. check the write permissions on Joomla directories, see HelpSystem InfoDirectory permissions

  3. also check that directory /libraries/joomla/installer/adapters is writeable

To start installation:

  1. log-in to your Joomla! backend with Super Administrator privileges

  2. go to ExtensionsInstall/Uninstall

  3. under tab Install, in Upload package file select the distribution ZIP package and click Upload File & Install

  4. follow the installer instructions and check for any error

2.3. Installation

JoomSEF installation is fully automated in most cases. It will install:

  1. the main JoomSEF component (in components/com_sef and administrator/components/com_sef)

  2. JoomSEF system plugin (in plugins/system)

  3. language files (in administrator/languages)

  4. installer adapter that will enable installing JoomSEF extensions via standard Joomla installer (in libraries/joomla/installer/adapters)

  5. database tables (#__sefaliases, #__sefexts, #__sefexttexts, #__sefmoved, #__sefurls, #__sefurlword_xref, #__sefwords)

Except copying component files, JoomSEF will aso check for .htaccess file in the root of your Joomla site or create it if needed. (this only applies to Apache webservers) It will also attempt to determine your site base URL and base on its value set the RewriteBase value in the .htaccess file.

If the installer fails to detect the Joomla! site base URL correctly or the .htaccess files is not writeable or cannot be created, you may need to create/adjust the file after the component is installed. If something went wrong during install, you will mostly notice that by seeing 500 Internal server error on your front page, or by getting 404 Page not found error after clicking any link on the homepage.

2.3.1. .htaccess File

Usage of the .htaccess file (or similar on other webserver) is crucial for JoomSEF to run. (please note the directives includedUn a in .htaccess file can also be part of the web server global configuration) This file includes rules that are needed for Joomla to "understand" and handle the SEF URLs.

Except set of RewriteCond and RewriteRule directives, that make sure the processing of SEF URLs is handed to Joomla!, it includes following directives:

Table 2.1. .htaccess directives

RewriteEngine on Activates the URL rewrite feature of the webserver, it needs to be activated.
RewriteBase value

Identifies the site base URL relatively to domain root. This means that if your site is placed directly into the domain root, the value shall be just /. If so, in some cases, the whole directive can be left out completely (however, this does not work with every server setup).

If the site base is not same as domain root, but e.g. http://www.mysite.com/subfolder, then the value need to equal the path part of the URL, i.e. /subfolder, in the given example.

Wrong setting of the value will lead to situation, when click to any link in SEF format will go to 404 - Page not Found error message. So if this is your case, make sure the value is really correct.

Option FollowSymLinks

This directive is important only in cases, when your site uses symbolic links to point to specific content (available ony on Linux/Unix systems), so in most cases, it is not needed. On the other hand, usage of the Option directive in .htaccess file is often prohibited by global server config. In such case, the presence of the directive will lead to 500 - Internal Server Error message. (in so, try to comment this line out)


Editing .htaccess file is possible through JoomSEF editor (if writeable for Joomla), using FTP client or using Joomla component that allows editing files, such as eXplorer. When using FTP client, make sure that showing of hidden files is on, as files starting with "." are considered hidden at Unix/Linux systems.

2.3.2. Activating Joomla! SEO

For JoomSEF, to be active, two settings in Joomla! Global Configuration need to be switched on:

Search Engine Friendly URLs and Use Apache mod_rewrite

These can be either switched from JoomSEF Control Panel (in right-bottom box) or in (menu) SiteGlobal Configuration(tab) Site(box) SEO Settings

2.4. Uninstallation

To start uninstallation:

  1. log-in to your Joomla! backend with Super Administrator privileges

  2. go to ExtensionsInstall/Uninstall

  3. under Components tab select the SEF component and click Uninstall button in the toolbar

  4. uninstallation should complete automatically

Uninstallation will remove all the parts installed during Installation, however it will not remove the tables from the database, but will add the _bak suffix to their names instead.

Chapter 3. How It Works

3.1. URL Rewriting

Even though it is not the only function of JoomSEF anymore for quite some time now, the URL rewriting still remains its main feature. The standard Joomla! URL has the form of domain.tld/index.php?option=com_content&view=article&id=2&Itemid=5, which we call non-SEF URL. This tells Joomla!, that it should call the Content component (option variable) and select the menu item with Itemid 5. The other variables are meant directly for the Content component - they tell it to display single article (view variable) with id 2. This form is very easy for web server to understand, but it's not very informative for people or search engines, so JoomSEF translates this non-SEF URL to a more readable form of domain.tld/article-category/article-title. From this SEF URL you can easily tell what the page will be about and search engines may guess the website structure to better understand it and provide more relevant search results.

The reason why JoomSEF generated URLs are nicer than those generated by standard Joomla! SEF function is that JoomSEF stores the original Joomla URL in the database with the corresponding SEF URL. Standard Joomla! SEF does not use database, so all the variables needed for Joomla! have to be somehow encoded in the URL so Joomla! can parse all of them correctly. On the other hand, JoomSEF generated SEF URL can be anything you like and the variables needed for Joomla! are correctly taken from the database.

Each SEF URL is created when its non-SEF equivalent is first encountered on the web site so when someone opens the frontpage for the first time, only the URLs present on that page are created. When some of these URLs are then clicked and the new page is opened, more URLs present on the new page are created, so it takes some time until all the URLs of your web site are created in the database.

The process of converting non-SEF URL to SEF one is unfortunately not easy because every component uses its own variables and needs different SEF URL structure. To handle every component's URLs correctly JoomSEF uses small add-ons called JoomSEF Extensions that take care of converting URLs to SEF for individual components. So when converting some Joomla! URL to SEF, JoomSEF looks at the option variable to know which component this URL links to. Then it searches the installed JoomSEF Extensions and tries to use the corresponding extension, so every component you have installed in your Joomla! needs to have the JoomSEF Extension also installed so the URLs are converted to SEF correctly. If the JoomSEF Extension is not installed for the component, you can still use JoomSEF's basic rewriting (which creates SEF URL by storing individual variables values in URL separated by slash - ie. domain.tld/content/article/2) or there is still chance that the component comes with the standard Joomla! router, which can also be used with JoomSEF. If you don't want or can't use any of these, you can set JoomSEF not to SEF URLs for this particular component.

JoomSEF comes with the JoomSEF Extensions for standard Joomla! components preinstalled. You can get JoomSEF Extensions for other components from ARTIO website - some of them are free and some are paid. You can find the complete list of JoomSEF Extensions available from ARTIO here. You can also sometimes find JoomSEF Extensions made by 3rd party or directly by component's developers.

3.2. Support by components

The very important thing is that every component in Joomla! has to support SEF correctly, so all the links visible to users are sent to JoomSEF so it can rewrite them to SEF. As this is not always the case, Joomla! offers the way to handle this in a form of System - SEF plugin, so if you experience problems with some links not being SEF, check if the System - SEF plugin in Joomla! is enabled.

Another thing is, that when using SEF, URLs often look like domain.tld/menu/category/article so the web browsers think that the current directory on the web server is /menu/category, so it is important for the components to use absolute links when displaying images and using AJAX. Joomla! and JoomSEF offer the usage of base tag in your web site which can sometimes fix these problems, however if you use many components with such problems, it is often very difficult to find the configuration which would fix everything.

Chapter 4. Control Panel

Menu path: Components -> ARTIO JoomSEF ( -> Control Panel)

The control panel is the main page of JoomSEF's administration from which you can control all of JoomSEF's functionality. It is divided into three sections:

  1. Top - navigation menu and informative or error messages

  2. Left - action buttons (these will be described in another chapters)

  3. Right - informative panels

Figure 4.1. Control panel

Control panel


4.1. ARTIO JoomSEF panel

Provides basic information about the currently installed version of JoomSEF with its description and links to ARTIO website, license and donation through PayPal. It also shows the newest version available, if version checker is not disabled.

Figure 4.2. ARTIO JoomSEF panel

ARTIO JoomSEF panel


4.2. SEF Status panel

Shows the status of SEF related configuration on your website with buttons to enable or disable them, so you can control all the most important configuration at one place.

Figure 4.3. SEF Status panel

SEF Status panel


4.3. ARTIO Newsfeed panel

Shows the JoomSEF related newsfeed directly from ARTIO server.

Figure 4.4. ARTIO Newsfeed panel

ARTIO Newsfeed panel


4.4. Statistics panel

Shows the information about number of URLs stored in JoomSEF's database.

Figure 4.5. Statistics panel

Statistics panel


Chapter 5. Configuring JoomSEF

Most of the JoomSEF configuration is done by clicking the "Global Configuration" button on JoomSEF Control Panel or selecting the Components -> ARTIO JoomSEF -> Configuration menu. This will lead to a page with several configuration tabs, each of them described in a separate subchapter that follows. You can configure JoomSEF on global level here, but some of the settings can be overriden per component using the Manage Extensions page described in another chapter.

5.1. Basic Configuration Options

Options in this tab control JoomSEF's basic functions and basic SEF URL's appearance.

JoomSEF Enabled

This option controls whether JoomSEF will be used to process non-SEF URLs on your site. If disabled, the standard Joomla! core SEF will be used.

Default value: Yes

Disable creation of new SEF URLs

If this option is set to Yes, JoomSEF won't create any new SEF URLs and will use only the ones already created.

It is useful if you have a web site with static content and all of your URLs are created correctly, so you can be sure that no new URL will be created.

Default value: No

Number duplicate URLs

If set to No, duplicate URLs will be stored in database and only one of them will be used. JoomSEF tries to choose the best one, but that is not always possible. If there are many duplicates for one SEF URL, the links probably won't work correctly.

If set to Yes, duplicates will be numbered, so the correct URL will be always used.

Default value: No

Replacement character

This character will be used to replace unknown characters in the URL.

Default value: -

Page spacer character

This character will be used to separate the page number from the rest of the URL when Number duplicate URLs option is enabled.

Default value: -

Strip characters

These characters will be replaced by Replacement character in the URL. Separate the characters with | (pipe character).

Default value: ,|~|!|@|%|^|*|(|)|+|<|>|:|;|{|}|[|]|---|--|..|.

Trim friendly characters

These characters will be removed only from the beginning and the end of the URL.

Default value: -|.

Use Title or Alias

You can set Title and Alias for most items in Joomla! (articles, categories etc). Using this option you can select globally what will be used to create corresponding URLs. This option can be overriden and set separately for each component.

Default value: Full Title

File suffix

Use this option to set suffix for URLs. It is recommended to leave it blank or use common .html suffix to simulate static pages.

Default value: blank

Default index file

You can set a file which will be used for blank URL (homepage), so there will be for example http://domain.tld/index.php instead of just http://domain.tld/ created. This can be useful for some crawlers, but use it only if you experience problems with them.

Default value: blank

Page text

This text will be appended to URL for individual pages in listings. %s in the Page text will be replaced with a page number.

Default value: JText::_('PAGE')-%s

All lowercase

If set to Yes, whole URL will be converted to lowercase.

Default value: Yes

Use index for sections and categories

If set to Yes, the Default index file will also be appended to links to sections and categories for Content component.

Default value: Yes

www and non-www domain handling

Use this option to set how to handle domains with and without www.

Don't handle

JoomSEF will leave domain as it is.

Always use www domain

Any domain without www used to access the site will be redirected to the same domain with www.

Always use non-www domain

If a domain with www is used to access the site it will be redirected to the same domain without www.

Default value: Always use www domain (if domain with www was used when installing JoomSEF) / Don't handle (otherwise)

5.2. Advanced Configuration Options

The Advanced tab is used to configure some more advanced JoomSEF's functionality related to creating and processing of SEF URLs. It is separated into two boxes described in the following subchapters.

5.2.1. Advanced Configuration

Allow UTF-8 characters in URL

If set to Yes, all the characters except Strip Characters will be allowed in URLs. However, the Non-ascii char replacements are still applied.

Default value: No

Non-ascii char replacements

Here you can set the character pairs for replacement - the first character in a pair is replaced by the second one in the URL.

Characters in the pair are separated by | (pipe character) and pairs are separated by comma.

Default value: Á|A, Â|A, Å|A, Ă|A, Ä|A, À|A, Ć|C, Ç|C, Č|C, Ď|D, É|E, È|E, Ë|E, Ě|E, Ì|I, Í|I, Î|I, Ï|I, Ĺ|L, ľ|l, Ľ|L, Ń|N, Ň|N, Ñ|N, Ò|O, Ó|O, Ô|O, Õ|O, Ö|O, Ŕ|R, Ř|R, Š|S, Ś|O, Ť|T, Ů|U, Ú|U, Ű|U, Ü|U, Ý|Y, Ž|Z, Ź|Z, á|a, â|a, å|a, ä|a, à|a, ć|c, ç|c, č|c, ď|d, đ|d, é|e, ę|e, ë|e, ě|e, è|e, ì|i, í|i, î|i, ï|i, ĺ|l, ń|n, ň|n, ñ|n, ò|o, ó|o, ô|o, ő|o, ö|o, š|s, ś|s, ř|r, ŕ|r, ť|t, ů|u, ú|u, ű|u, ü|u, ý|y, ž|z, ź|z, ˙|-, ß|ss, Ą|A, µ|u, Ą|A, µ|u, ą|a, Ą|A, ę|e, Ę|E, ś|s, Ś|S, ż|z, Ż|Z, ź|z, Ź|Z, ć|c, Ć|C, ł|l, Ł|L, ó|o, Ó|O, ń|n, Ń|N

Exclude source info (Itemid)

If set to Yes, the Itemid variable will not be stored with URLs in the database. It is usually used together with Reappend source (Itemid) option when you are experiencing problems with modules not showing where they should.

Default value: No

Reappend source (Itemid)

Can only be used with Exclude source info (Itemid) option enabled. If set to Yes, the removed Itemid variable is appended back to URL as non-SEF variable.

Default value: No

Ignore multiple sources (Itemids)

If enabled, only one SEF URL will be created for links that differ only by the Itemid variable (same pages linked by different menu items). Helps preventing duplicates, but links sometime don't work as expected.

Default value: Yes

Append non-SEF variables to URL

If enabled, frequently changing variables are not stored in database, but they are appended to URLs as non-SEF variables instead. This reduces database usage and also helps preventing duplicates in some extensions.

Default value: Yes

Be tolerant to trailing slash

If enabled, both URL versions (with and without the trailing slash) will work. Otherwise only one version (the one stored in the database) will work.

Default value: Yes

Redirect nonSEF URLs to SEF

If enabled, when accessing the site using the non-SEF URL you will be redirected to the correct SEF URL.

Note: As a security measure, only links that already have the corresponding SEF URL created in the database will be redirected - no new SEF URLs will be created using this feature.

Default value: Yes

Use Moved Permanently redirection table

Enables the use of 301 Redirects. If enabled, when you manually change some SEF URL using the Manage SEF URLs page, the corresponding 301 redirect will be automatically created, so the old URL still works.

Default value: Yes

Ask before saving URL to Moved Permanently table

If enabled, when you manually change some SEF URL using the Manage SEF URLs page, you will be asked whether to automatically create the corresponding 301 redirect.

Default value: Yes

Do not remove SID from SEF URL

If set to Yes, the sid variable will not be removed from SEF URL and will be stored with it in the database. This make help some old components to work properly, but may create duplicities with others.

Default value: No

Set server QUERY_STRING

If set to Yes, the server QUERY_STRING variable will be set according to parsed variables. Fixes some redirection problems with VirtueMart and other components.

Default value: Yes

Parse Joomla SEO links

If set to Yes, JoomSEF will try to use core Joomla! SEF router to parse SEF URLs which JoomSEF couldn't find in database.

Default value: Yes

Filter variable values

If set to Yes, all variables in URLs will be checked and won't be SEFed if containing some of the potentionally dangerous words.

Default value: Yes

Filter these words

Set the words to be considered dangerous using the Filter variable values option. Separate each word by space.

Default value: http:// http// https:// https// www. @

Variables to exclude from filtering

Set variables to be excluded from Filter variable values option. Separate each variable by ; (semicolon).

Default value: blank

Filter system variables

If enabled, system variables (Itemid, tmpl, option, format, layout) will be filtered to contain only allowed values.

Default value: Yes

Prevent non-SEF variables from overwriting the parsed ones

If enabled, the parsed variables from SEF URL won't be overwritten by the same non-SEF variable appended to the SEF URL.

Default value: Yes

Custom non-SEF variables

List of variables to be globally considered non-SEF if Append non-SEF variables to URL option is enabled. Separate variables by semicolon.

Default value: blank

Automatic canonical link generation

If enabled, when the page is accessed using the SEF URL with some non-SEF variables appended, the canonical link will be automatically generated using the SEF URL only.

Default value: Yes

SEF URLs using component template

If enabled, the URLs with tmpl=component will be SEFed. This may interfere with some components using AJAX, so enable only if you need it.

Default value: No

Set page base href value

Controls the way the base href value is generated. May be used to fix some problems like images not shown correctly when using SEF URLs.

Yes - always use only base URL

The base href will be generated using the website's root URL.

Yes - always use full SEO URL

The base href will be generated using the current SEF URL.

No - disable base href generation

The base href won't be generated at all.

No - leave original

JoomSEF leaves the original Joomla! base href.

Default value: Yes - always use only base URL

Fix index.php links

If enabled, the index.php will be removed from non-SEF URLs, thus removing duplicates.

Default value: Yes

Fix document format

If enabled, fixes the document format when using PDF or feed links. Enable only if you are experiencing problems with them, may interfere with other plugins.

Default value: No

5.2.2. URL Source Tracing

This feature is used to store the information about SEF URL's origin in the database along with the URL. It may be helpful to find out where the strange URLs are coming from.

Enable URL source tracing

Whether the SEF URL's source should be traced and stored in the database. The information stored are:

  • URL of page that the SEF URL was generated on

  • The page's referrer

  • The user agent (useful to find out whether the URL was generated by a user or a bot)

  • The list of functions in the PHP code that called the URL generation

Default value: No

Tracing depth

How many function calls should be traced back.

Default value: 3

5.3. Cache Configuration Options

The Cache tab is used to control the URLs Cache behaviour. The cache is described in more detail in the URLs Cache section.

Use cache

Whether the URLs Cache functionality should be enabled.

Default value: Yes

Maximum cache size

How many SEF URLs may be stored in the cache. No more URLs are stored in cache when this limit is reached.

Default value: 1000

Minimum cache hits count

How many times the SEF URL needs to be visited before it's stored in the cache.

Default value: 10

Record hits for cached URLs

Whether to record hits count for URLs that are already stored in cache. This saves some database queries if set to No, but you can't keep track of how many times the cached URLs were really visited.

Default value: No

Display error if cache gets corrupted

Whether to display the error message in the frontend when the cache file gets corrupted.

Default value: No

5.4. Title and Meta Tags Configuration Options

5.4.1. Title and Meta Tags Configuration

These options are used to control how the SEF URLs Meta Tags will be shown in the page.

Enable MetaData generation

Whether the meta tags set for SEF URLs will be shown in the website's head section. If disabled, the standard Joomla! meta tags will be shown.

Default value: Yes

Prefer JoomSEF titles

Whether JoomSEF should control the page title's appearance or not. If set to No, the standard Joomla! page title will be used.

Default value: Yes

Use sitename in page titles

Defines how the site name is used in page titles. The site name is set in Joomla!'s Global configuration.

Yes - before page title

The site name will be prepended to the page title.

Yes - after page title

The site name will be appended to the page title.

No

The site name will not be used in the page title.

Default value: Yes - after page title

Sitename separator

The character that will be used to separate the site name and the page title if site name is to be added to page title.

Default value: -

Rewrite keywords

Whether the Joomla!'s generated keywords tag should be rewritten by the keywords from JoomSEF. If set to No, the keywords from JoomSEF will be appended to the Joomla!'s generated one.

Default value: Yes

Rewrite description

Whether the Joomla!'s generated description tag should be rewritten by the description from JoomSEF. If set to No, the description from JoomSEF will be appended to the Joomla!'s generated one.

Default value: Yes

Prevent sitename duplicity

Whether to prevent duplicity if the site name is the same as page title and site name is to be added to page title.

Default value: Yes

5.4.2. Global Meta Tags Configuration

You can set meta tags that will be globally shown on every page of your web site here.

Some predefined meta tags can be set in the Standard Meta Tags box - these include the generator tag and the meta tags with authentication keys for Google Webmaster Tools, Live.com Webmaster Central and Yahoo Site Explorer.

You can also set your own meta tags using the Custom Meta Tags box - just click the Add Meta tag button and set the name and content of the meta tag. To remove the meta tag, click the Remove Meta tag button.

5.5. SEO Configuration Options

The options available on the SEO tab is used to control the Internal Links functionality.

Nofollow external links

If enabled, JoomSEF will try to find all the external links (URLs to other domain) on your site and will add the rel="nofollow" to them, so search engines shouldn't crawl those links from your site.

Default value: No

Enable Internal links

Whether the Internal links functionality should be enabled.

Default value: Yes

Nofollow internal links

If enabled, the links created by the Internal links feature will have the rel="nofollow" added, so search engines shouldn't crawl those links.

Default value: No

Open links in new window

Whether the links created by the Internal links feature should be opened in new browser window.

Default value: No

Maximum links for each word

How many occurences of each word should be replaced by internal links assigned to it.

Default value: 1

5.6. SiteMap Configuration Options

You can control the behaviour of the SiteMap feature using the SiteMap tab.

5.6.1. SiteMap Configuration

XML file name

The Sitemap XML file name. This file will be generated in the website's root.

Default value: sitemap

Default Indexed

The default Indexed field value for the newly created SEF URLs.

Default value: No

Default Change frequency

The default Change frequency field value for the newly created SEF URLs.

Default value: weekly

Default Priority

The default Priority field value for the newly created SEF URLs.

Default value: 0.5

Show Date in sitemap

Whether the Date field (the lastmod tag) should be shown in the generated Sitemap XML file.

Default value: Yes

Show Change frequency in sitemap

Whether the Change frequency field (the changefreq tag) should be shown in the generated Sitemap XML file.

Default value: Yes

Show Priority in sitemap

Whether the Priority field (the priority tag) should be shown in the generated Sitemap XML file.

Default value: Yes

5.6.2. Ping Configuration

The Sitemap XML file can be automatically pinged to Google, Yahoo! and Bing every time you generate the new Sitemap XML file. You can also set the Ping services (see http://en.wikipedia.org/wiki/Ping_(blogging) for more information) which may be pinged manually from the Sitemap Manager page.

Ping after XML generation

If enabled, Sitemap XML file will be automatically pinged to Google, Yahoo! and Bing each time you generate the new Sitemap XML file.

Default value: Yes

Yahoo! Application ID

This needs to be set in order for Yahoo! ping to work correctly.

Default value: blank

Ping services

The list of Ping services (each on a separate line) to be pinged by the Ping Services button in the Sitemap Manager. The list of available Ping services may be found on the internet.

Default value: http://blogsearch.google.com/ping/RPC2, http://rpc.pingomatic.com/

5.7. JoomFish Related Configuration Options

The JoomFish tab lets you configure JoomSEF's handling of URLs on multilingual web sites when JoomFish component is installed.

Language integration

Determines how the language code will be integrated into the SEF URL.

include in path

The language code will be the first part of the SEF URL, for example: www.artio.net/en/news

add as suffix

The language code will be appended to the end of the SEF URL, for example: www.example.com/news_en

use different domains

Each language will use its own domain. These domains can be set in the Domain configuration section of the page.

do not add

The language code will not be added to SEF URL. This may be useful when each SEF URL is different for all languages (when you have all the articles correctly translated), so the URLs are not duplicated.

Default value: include in path

Always use language

If set to Yes, the lang variable will always be stored with the URL. If set to No, some URLs without the lang variable specified will show the page in an unspecified language.

Default value: Yes

Translate URLs

Whether the titles in the SEF URLs should be translated to match the language. If set to No, you shouldn't use the do not add option in Language integration setting, because there would be no way to determine the language that should be shown.

Default value: Yes

Get language from browser setting

Whether the language should be taken from user's browser setting if the language is not specified by the URL (for example for the frontpage).

Default value: Yes

Save language to cookie

Whether the last used language should be stored in the cookie, so when user opens your page again, the same language as last time will be used. This is also useful when some component uses redirections without the lang variable set - in such case, the page will not change the language randomly, but the current language is preserved.

Default value: Yes

Main language

You can select the language which will not have the language code integrated into the SEF URL. This language is also used when user opens the frontpage and language is not determined from browser or cookie.

Default value: (none)

Domain configuration

In this section you can set the domain for each language if use different domains option is selected for Language integration setting. Only the domain should be set in the field (without http:// or any slashes), for example: www.example.com for English and www.example.cz for Czech.

Default value: each language has the current domain set

Enable/Disable Jfrouter plugin

You can use this button to simply enable or disable the Jfrouter plugin. More information about the JoomSEF configuration with Jfrouter plugin may be found in Using JoomSEF with JoomFish usage tip.

5.8. 404 Page Options

You can set how JoomSEF should respond when someone tries to access some non-existent page on your web site using the options on the 404 Page tab.

5.8.1. 404 Page

In the 404 Page box you can set the basic options for displaying the 404 error page.

404 Page

What page should be displayed when 404 Not found error is detected.

(Custom 404 Page)

The Custom 404 Page will be shown. This page can be edited in the Custom 404 Page box on the same page. It is the automatically created uncategorized article with the 404 title.

(Front Page)

The web site's front page will be shown.

(Joomla! Error Page)

The standard Joomla!'s error page will be shown.

(other options)

You may select any other uncategorized article you have created to be shown as a 404 page.

Default value: (Custom 404 Page)

Show 404 Message

If enabled, the standard Joomla! message will also be shown on the 404 page.

Default value: No

Show Joomla! Template

Whether the 404 page should be shown with the selected Joomla! template. If disabled, the component template will be used.

Default value: Yes

Record 404 page hits

Whether the non-existent URLs should be stored in the 404 Log. If disabled, the number of SQL queries may be decreased, but you won't be able to see hits to non-existent pages (you may use the Google Webmaster Tools for this).

Default value: No

5.8.2. Default 404 Page - Itemid

Use this box to select the menu item to be used when the 404 page is displayed.

Use Itemid for Default 404 Page

If disabled, you won't be able to select which modules should be shown on the 404 page. If you want to be able to choose which modules should be shown on the 404 page, enable this option.

Default value: No

Select Itemid

Use this option to select the menu item which should be used for the 404 page. The modules assigned to this menu item will be displayed on the 404 page. You can also create a fake menu that is not displayed anywhere on your web site and select its menu item - that way you can have different modules displayed on the 404 page than anywhere else on your web site.

Default value: nothing selected

5.8.3. Custom 404 Page

You can use this box to edit your Custom 404 Page article. You can also use the Joomla!'s Article Manager for this - the Custom 404 Page is the uncategorized article with the 404 title.

5.9. Registration Options

The Registration tab includes options for better integration with ARTIO services.

5.9.1. ARTIO JoomSEF Registration

If you have purchased the paid version of ARTIO JoomSEF, enter your Download ID in the JoomSEF Download ID field. The ID is used to identify your copy during online updates.

5.9.2. ARTIO User Account

Here you may enter your account information for ARTIO web site if you have one. This may be used for better integration with technical support or providing relevant information to you. No information except these form info are sent from your site.

5.9.3. ARTIO News

Display ARTIO Newsfeed

Whether the ARTIO Newsfeed panel will be shown on the JoomSEF's Control panel page.

Default value: Yes

Check for newer versions

Whether the newest version available will be checked in the ARTIO JoomSEF panel on the JoomSEF's Control panel page.

Default value: Yes

Chapter 6. Working with URLs

JoomSEF generates SEF URLs automatically but sometimes you may want to adjust them a little bit. This chapter describes the options available to manage SEF URLs in JoomSEF's database.

6.1. URLs Management

The JoomSEF URL Manager can be opened from the Components -> ARTIO JoomSEF -> Manage SEF URLs menu or by clicking on Manage SEF URLs, Manage Custom URLs or View 404 Logs button in the JoomSEF Control panel - each of these buttons opens the same page with different view mode selected. The URL Manager allows you to view, create, modify, delete, import or export the SEF URLs in JoomSEF's database. The following sections describe the main JoomSEF URL Manager page and various tasks you can do with it.

6.1.1. Browsing SEF URLs

When you open JoomSEF URL Manager using the Manage SEF URLs menu item or JoomSEF control panel button, you will see the following list of the URLs stored in JoomSEF's database.

Figure 6.1. List of URLs

List of URLs


The columns are described in the following table.

Hits

Number of times the URL has been clicked.

SEF URL

The SEF URL visible on the page.

Real URL

The standard Joomla! URL that will be used when SEF URL is clicked.

Trace

The tracing information. This column is only visible if URL Source tracing is enabled. You can use this when debugging to find out how some bad SEF URL has been created - the page where the URL was created, Referer, User agent and backtrace of PHP functions to the specified level are stored here.

Enabled

If a SEF URL is disabled, then it is displayed on the web site as usual, but it shows the 404 - Not found page when clicked.

SEF

If you disable SEF for some URL, then its Real URL form will be shown on the web site.

Locked

If some URL is locked, it cannot be deleted in any way, so if you have some custom URL created, you can lock it so it can't be deleted accidentally.

Active

If there are some duplicate URLs (URLs with the same SEF URL but different Real URL) JoomSEF doesn't know which one of the Real URLs to use when the SEF URL is clicked. By making one of them Active, you tell JoomSEF which one it should always use.

Cached

Shows whether the URL is currently stored in JoomSEF's cache or not. This column is only visible when JoomSEF Cache is enabled.

You can also use the set of filters to filter displayed URLs by various criteria.

Figure 6.2. URLs Filters

URLs Filters

The ViewMode filter offers the following options:

Show All Redirects

Shows all the SEF URLs stored in database.

Show Custom Redirects

Shows only SEF URLs marked as custom.

Show SEF URLs

Shows only the automatically created SEF URLs (URLs not marked as custom).

Show Links to Homepage

Shows only URLs linking to the homepage.

Show 404 Log

Shows the 404 URLs log.

Show Duplicities

Shows only duplicate SEF URLs.

The Hits and Itemid filters are straightforward.

Filtering URLs by their SEF URL or Real URL can be based on textual match or by a regular expression - if you put a text directly, any URL containing that text will be matched, but if you use the 'reg:' prefix, then the regular expression search will be used. For example if you want to display only the URLs starting with home you can use the filter reg:^home.

The Component and Language filters are again straight forward, however the Language filter is only available if the JoomFish component is installed.

The Reset button resets the filters.

If the Show Links to Homepage view mode is selected, then there is also the Create links to homepage button visible in the Filters box. You can use it to create the URLs linking to homepage in every available language if they were not created automatically.

6.1.2. Using 404 URLs log

If the Record 404 page hits option is enabled in JoomSEF's configuration then all the URLs accessed on your site that returns the 404 error are logged in the database. You can browse this log by selecting the Show 404 Log view mode in JoomSEF URL Manager.

The layout is very similar to other view modes, however there is one special action available for logged 404 URLs - for each 404 URL you can directly create the 301 Redirect using the Create 301 button in the toolbar. This is very useful when for example some of the pages on your web site is not available any more, but it is still indexed by search engines or some users have it saved in their bookmarks. Using the 404 log you can find this out that some 404 URL is accessed many times and simply create the 301 Redirect to the new page, so users won't see the Not found error.

6.1.3. Using the toolbar

As in any other Joomla! component the toolbar contains buttons you can use to perform various tasks with the URLs. However, there were too many buttons for the actions affecting more than one URL at once, so we've decided to use a little different approach - as you can see on the following figure, there are two select boxes and a Proceed button in our toolbar.

Figure 6.3. JoomSEF URL Manager toolbar

JoomSEF URL Manager toolbar

The first select box is used to set if only the selected URLs (Only selected option) or all the URLs currently displayed (All filtered option) should be affected. When the All filtered option is selected and there is more than one page of displayed URLs, then ALL the displayed URLs will be affected, not only the ones displayed on the first page.

In the second box you can select the action to perform with the URLs.

By clicking the Proceed button the selected action will be performed.

6.1.4. Creating and modifying URLs

You can create new URL by clicking the New button in the toolbar. To modify existing URL you can either click the corresponding SEF URL in the list, or select the corresponding check box and click the Edit button in the toolbar. When creating or modifying the URL you will see the following page.

Figure 6.4. SEF URL page

SEF URL page

6.1.4.1. URL

On the URL tab you can set the basic parameters of the URL:

New SEF URL

The SEF URL to be displayed on the web site. The URL must be relative to the web site's root and cannot contain the leading slash.

Old non-SEF URL

The Real URL to be passed to Joomla! when this URL is accessed. This URL needs to start with the index.php and may not contain the Itemid variable which is set separately.

Itemid

The Itemid variable of the Real URL.

Save as Custom Redirect

Whether this URL should be marked as Custom.

Enabled

Whether this URL is enabled.

SEF

Whether this URL should be displayed as SEF.

Locked

Whether this URL is locked.

Trace Information

Shows the trace information stored with the current URL. This field is only visible when URL Source tracing is enabled.

6.1.4.2. Aliases

On the Aliases tab you can set the list of aliases to be assigned to this URL. Each alias will be 301 redirected to this URL. This feature is described in more detail in the SEF URLs Aliases section.

6.1.4.3. Meta Tags

The Meta Tags tab lets you set the meta tags that should be generated in the head section of your web site when this URL is accessed. This feature is described in more detail in the URLs Meta Tags section.

6.1.4.4. SiteMap

The SiteMap tab lets you set sitemap related parameters for this URL. This feature is described in more detail in the SiteMap chapter.

6.1.4.5. Internal Links

On the Internal LInks tab you can create a list of words that should link to this URL. This feature is described in more detail in the Internal Links section.

6.1.5. Importing and Exporting URLs

By using the import and export functions you can easily backup your SEF URLs, transfer them to another web (for example from the development to the production web site) or migrate your SEF URLs from another SEF component to JoomSEF or from Joomla 1.0 to Joomla 1.5.

6.1.5.1. Exporting URLs

The export functionality is implemented as one of the actions you can do with URLs from the toolbar, so you can just choose which URLs you want to export using the first select box in the toolbar, select the Export action in the second box and click the Proceed button. The SQL file with the exported URLs will be generated and offered for you to save.

6.1.5.2. Importing URLs

When you click the Import button in the toolbar you will be taken to the Import URLs page.

Figure 6.5. Import URLs

Import URLs

To import the URLs from a file with previously exported URLs use the Import URLs From File box - just select the file in the Import File field and click the Import URLs button. Using this function you can import URLs exported from any previous version of JoomSEF or even from sh404SEF or AceSEF components - the file format will be recognized automatically and imported correctly. When importing URLs from JoomSEF version 2.x or earlier the Joomla 1.0 URLs will be automatically updated to the Joomla 1.5 format. When importing URLs from sh404SEF make sure to first import the URLs and then the meta tags.

If you've had sh404SEF or AceSEF previously installed you can use the Import URLs From Database box to import the URLs directly from their database - just click the Import URLs from AceSEF table or Import URLs from sh404SEF table button.

6.2. URLs Meta Tags

Each URL in the JoomSEF's database may have the following meta data assigned:

Title

The individual page title (title tag) and title meta tag.

Description

The description meta tag.

Keywords

The keywords meta tag.

Content-Language

The lang meta tag.

Robots

The robots meta tag.

Googlebot

The google meta tag.

Canonical Link

The canonical link tag.

When someone opens the SEF URL, JoomSEF sets the meta data for the page according to the meta tags set and according to settings on Title & Meta Tags tab in JoomSEF's Configuration. If any of the meta tags is not set, JoomSEF does not use an empty value, but it keeps the default meta tags provided by Joomla! instead. Some JoomSEF Extensions can generate the meta tags for SEF URLs automatically from the pages content.

There are two ways to manage the meta tags described in following sections.

6.2.1. URL Manager

You can use the URL Manager to set all of the available meta tags for each URL individually. This can be achieved using the SEF URL page (as described in Creating and modifying URLs section) on Meta Tags tab.

Figure 6.6. Meta Tags tab

Meta Tags tab

6.2.2. Meta Tags Manager

The Meta Tags Manager can be used to set the Title, Description and Keywords meta tags for multiple URLs at once. You can open the Meta Tags Manager using the Manage Meta Tags menu item or Manage Meta Tags button in the JoomSEF's Control panel.

Figure 6.7. Meta Tags Manager

Meta Tags Manager

Here you can see the list of URLs with their Title, Description and Keywords meta tags. You can change these meta tags for all the URLs displayed on the page and then save them all at once by clicking the Save or Apply button in the toolbar.

You can also use the Filters box to display only the URLs you want to manage meta tags for.

6.3. URLs Cache

Even when all the URLs on the page have their SEF form already created, each non-SEF URL that should be converted to SEF when browsing the page still requires one query to the database to look it up, which may sum up to many queries for each page display if there are many URLs on the page. The database load can be decreased by using the URLs caching.

Everytime someone opens some SEF URL in his browser, the hits count of the URL is increased by one. When the hits count exceeds the predefined threshold the URL is stored in the cache file on the disk. Everytime the URL needs to be converted from non-SEF form to SEF, the cache is checked first and if the URL is found there, there's no need to query the database. The whole cache file is loaded from disk to memory only once when the page is opened, so the cache lookup is very fast.

You can control the URLs cache parameters in the JoomSEF's configuration on the Cache tab. The settings are described in the Cache Configuration Options section.

6.4. Purging, Deleting and Updating URLs

When the SEF URL is once created for the non-SEF one it is then always used even when you change some configuration so the different SEF URL would be created. There are three options to create SEF URLs with the new configuration.

6.4.1. Purging URLs

Purging the URLs basically deletes all the automatically created SEF URLs that are not marked as Locked from the database. No URLs saved as Custom or Locked are deleted. The deleted URLs are then created again when browsing the page with the new configuration.

You can purge the URLs using the Purge URLs button in JoomSEF's Control panel.

6.4.2. Deleting URLs

If you don't want to purge all the URLs, for example if you change the URLs generation settings only for one component, you can use the URLs Manager and using the Filters delete only the SEF URLs that need to be recreated.

More information about the URLs Manager can be found in the URLs Management section.

6.4.3. Updating URLs

The Update URLs feature found in the JoomSEF's Control panel goes through all the automatically created SEF URLs that are not Locked and creates them again using the current configuration. However, it is needed to emulate the Joomla! frontend in the backend for this function to work, which is not always easy, so the resulting SEF URLs may sometimes use different language files than in the real frontend, so the results may be a little different. As with purging, only the URLs that are not saved as Custom or Locked are updated.

Chapter 7. JoomSEF Extensions

As was explained in the How It Works chapter, each component you have installed in Joomla! needs its own JoomSEF Extension installed in JoomSEF for SEF URLs to be created correctly for the component.

JoomSEF comes with the preinstalled extensions for the following standard Joomla! components:

  • Banners

  • Contacts

  • Content

  • Mail To

  • News Feeds

  • Search

  • User

  • Web Links

  • Wrapper

You can get JoomSEF Extensions for other components from ARTIO website - some of them are free and some are paid. You can find the complete list of JoomSEF Extensions available from ARTIO here. You can also sometimes find JoomSEF Extensions made by 3rd party or directly by component's developers.

7.1. Extensions Management Page

The Extensions Management page can be opened using the Extensions Management button in the JoomSEF's Control panel or the Manage Extensions menu item. There are two lists on the page - the top list shows the installed JoomSEF Extensions and the bottom list shows the installed Joomla! components without the JoomSEF Extension installed.

7.1.1. Installed JoomSEF Extensions List

Figure 7.1. Installed JoomSEF Extensions

Installed JoomSEF Extensions

The Installed JoomSEF Extensions list contains the following fields:

SEF Extensions

The name of the JoomSEF Extensions.

Component

The name of the component the extension belongs to.

Author

Author of the extension.

Version

The currently installed extension version.

Date

The date when the currently installed extension version has been released.

Newest version

The newest version of the extension available on the ARTIO Upgrade server. The dash means that this extension is not available on ARTIO Upgrade server.

Type

Whether the extension on ARTIO Upgrade server is Free or Paid.

If the extension is Paid, the key icon can be used to enter your extension download ID. If the key icon is in grayscale, the download ID is not set. If the key icon is gold, the download ID is set (however, the key icon color does not mean that the download ID is valid).

Upgrade

If there is newer version available on the ARTIO Upgrade server, the Upgrade button can be used to directly upgrade your installed extension.

Active Handler

The currently active handler of the component. These are described in the Component Handlers section.

7.1.2. Components Without JoomSEF Extension Installed List

Figure 7.2. Components without JoomSEF Extension installed

Components without JoomSEF Extension installed

The list of components without JoomSEF Extension installed contains the following fields:

Component

The name of the component.

Extension Availability

Whether the extension for this component is available on ARTIO Upgrade server and whether it's Free or Paid.

If the extension is Paid, the key icon can be used to enter your extension download ID. If the key icon is in grayscale, the download ID is not set. If the key icon is gold, the download ID is set (however, the key icon color does not mean that the download ID is valid).

Installation

If the extension is available on the ARTIO Upgrade server, the Get Extension button can be used to directly install it. If the extension is paid and the download ID is not set, you will be taken to the ARTIO E-Shop page instead.

Active Handler

The currently active handler of the component. These are described in the Component Handlers section.

Parameters

The Parameters icon can be used to open the component's URL creation parameters. These are described in the Extension Parameters section.

7.2. Extension Installation and Uninstallation

7.2.1. Installation

The JoomSEF Extensions use the standard Joomla! ZIP installation package format. There are three ways to install the JoomSEF Extension:

  1. The fastest and easiest way is to use the Get Extension button in the Extensions Management page described in the previous Components Without JoomSEF Extension Installed List section.

  2. If you already have the installation ZIP package downloaded, you can use the standard Joomla! installer to install the JoomSEF Extension like any other Joomla! extension. The installer can be accessed from the Extensions -> Install / Uninstall menu.

  3. If for some reason the standard Joomla! installer does not work for you (either you use an old version of JoomSEF which does not support it, or there was some error during the JoomSEF installation), you can use the Install SEF Extension page. This can be accessed by clicking the Install button in the Extensions Management page toolbar.

7.2.2. Uninstallation

Even though the standard Joomla! installer can be used to install the JoomSEF Extension, it is not the standard Joomla! extension, so the Joomla! installer cannot be used to uninstall it. The only way to uninstall the JoomSEF Extension is by following these steps:

  1. Open the Extensions Management page in JoomSEF.

  2. Select the radio button next to the JoomSEF Extension in the list you want to uninstall.

  3. Click the Uninstall button in the toolbar.

7.3. Extension Parameters

You can control the form of the URLs generated for each component using the Extension parameters. These can be easily accessed by clicking the extension or component name in the list on the Extensions Management page.

There are several groups of parameters each on the separate tab described in the following sections.

7.3.1. Extension tab

Figure 7.3. Extension tab

Extension tab

The Extension tab contains the parameters that are specific for the current extension. It is the main extension parameters tab where you can set the appearance of the URLs generated for the component. This tab is available only for components that have the corresponding JoomSEF Extension installed. You can see the example of this tab for Content extension in the figure above.

7.3.2. Meta Tags tab

Figure 7.4. Meta Tags tab

Meta Tags tab

The Meta Tags tab is also available only for components with JoomSEF Extension installed and only if the extension supports JoomSEF's automatic meta tags generation feature. The options are also specific for the component. You can set how the meta tags should be generated for the selected component here.

7.3.3. Common tab

Figure 7.5. Common tab

Common tab

The Common tab contains the options that are common for all the components. These options are:

Number duplicate URLs

You can either use the configuration from JoomSEF's Global configuration or override it specifically for this component.

Default value: Use global config

Automatic canonical link generation

You can either use the configuration from JoomSEF's Global configuration or override it specifically for this component.

Default value: Use global config

Ignore multiple sources

You can either use the configuration from JoomSEF's Global configuration or override it specifically for this component.

Default value: Use global config

Itemid handling

If set to Use global config, the Exclude source info (Itemid) and Reappend source info (Itemid) options from JoomSEF's Global configuration will take effect. If set to Override, the Itemid won't be excluded from URL.

Default value: Use global config

Override Itemid

If the Itemid handling is set to Override, here you can set the custom Itemid which will always be used for this component URLs. If left blank, the original Itemid from the URL will be used.

Default value: blank

Ignore Itemids

A comma separated list of Itemids that will be ignored, so if JoomSEF encounters one of these Itemids in the URL, it will handle it as if Ignore multiple sources is enabled. So if you have two menu items linking to the same content, you can set one of them to be ignored and the other one will be always used.

Default value: blank

Use site name

Whether to show the site name in the page title for this component.

Default value: Yes

Custom site name

Here you can set custom site name to be used in the page title for this component instead of the default one. Default site name will be used if left blank.

Default value: blank

Items per page

If you have problems with pagination, you can manually set number of items per page for this component here. If left blank, this option won't have any effect.

Default value: blank

Handling

Use this option to set the URLs handler for this component. The URL handlers are described in detail in Component Handlers section.

Default value: JoomSEF handler

Show Menu Title

Whether the menu item title should be present in the URL.

Default value: Yes

Custom Menu Title

Here you can set the custom menu item title to be used in all URLs for this component. If left blank, the default menu item title will be used.

Default value: blank

Custom non-SEF variables

A semicolon separated list of variables that should be treated as non-SEF for this component. You can use this if you have problems with some URLs not generated correctly and creating duplicates in the database, for example if the new version of the component is installed that is not supported by installed JoomSEF Extension yet, and there are some duplicate SEF URLs created in the database that differ in Real URLs only by some variable, or there is some variable which value is unique for each user visiting the site (for example download_id in VirtueMart), you can set this variable as non-SEF so it won't be stored in the Real URLs in the database and will be added as non-SEF to the SEF URL (for example: /shop/download?download_id=123456789).

Default value: blank

Do not SEF URLs matching regular expression

Every URL for this component will be checked against the regular expression pattern set here and if it matches it, the URL won't be converted to SEF. Can be useful if some URLs of the component are not working correctly with JoomSEF, so you can specifically exclude them from being SEFed.

Default value: blank

7.3.3.1. Component Handlers

Each component can have its own handler set in JoomSEF which controls how the URLs for this component are treated. The available options are:

JoomSEF handler

This is the default handler for every component. First it tries to use the installed JoomSEF Extension for the component. If there is no extension installed, then it tries to use the component's own Joomla! router. If the component doesn't come with the Joomla! router then it just creates the SEF URLs using the menu item title used for the component.

JoomSEF basic rewriting

This handler is better then JoomSEF default handler if there is neither a JoomSEF extension nor a Joomla! router available for the component. It creates the SEF URL by taking values of all the variables in the original non-SEF URL and joining them using slashes. Only the lang, option and Itemid variables are handled differently - lang is handled according to JoomFish related configuration and the menu item title is used instead of option and Itemid. So for example the index.php?option=com_virtuemart&category_id=7&lang=en&page=shop.browse&Itemid=53 non-SEF URL would be converted to something like /en/shop/shop-browse/7.

Default Joomla! router

If this handler is active, JoomSEF will redirect and URL for this component to be processed by the standard Joomla! SEF router.

Don't SEF

When this option is selected, no URL for this component will be converted to SEF and the original non-SEF URLs will be used.

If the JoomSEF handler is selected, the Active Handler column in the lists on the Extensions Management page will show either JoomSEF extension, Component's router or JoomSEF default handler according to which one is currently available for the component. Based on the JoomSEF handler priorities, only JoomSEF extension can be shown in the Installed SEF Extensions list (since the JoomSEF Extension has highest priority and it is istalled) and only the Component's router or JoomSEF default handler can be shown in the Components without SEF Extension installed list depending on the availability of component's own router (because the JoomSEF Extension is not installed for the component).

7.3.4. Registration tab

Figure 7.6. Registration tab

Registration tab

The Registration tab is used only to set the extension's Download ID for the JoomSEF Extensions that are paid. You need to set the Download ID for the paid extensions here so you can use the Upgrade feature for them.

7.3.5. Variables Filtering tab

Figure 7.7. Variables Filtering tab

Variables Filtering tab

The Variables filtering feature is used as a security measure. You can use it to set which variables are only allowed in the URLs for the component and what are their allowed values using the regular expression rules. This is very useful as a protection from duplicate content penalization and from some attacks on your web site.

The usage is:

  1. Set the variables you want to filter in the Filter variables field and click the Apply button in the toolbar. Only variables present in this field are shown in the Available variables list above.

  2. In the Add rule section create the regular expression for the variable filter test. Check the Negate this rule box if the variable must NOT contain the value described by the regular expression. Click the Add rule button.

  3. Select the rule in the Rules list and add variables that should be tested with this rule from the Available variables list to the Assigned variables list.

  4. Repeat steps 2 and 3 until all your filters are created. Then click the Save or Apply button in the toolbar.

You can find the example of Variables filtering usage in the Content extension parameters.

The options available on this tab are:

Filter variables

A semicolon separated list of variables that should be present in the Available variables list.

Default value: blank

Accept only filtered variables

If set to Yes, any variable not present in the Filter variables list will cause the URL to fail the variable filter test. Otherwise, the variables not present in the Filter variables list just won't be tested.

Default value: No

URLs that fail the variable filter test

Specify what to do when the URL fails the variable filter test:

Don't SEF variable

Only the variable that failed the test will not be included in SEF URL and will be appended as non-SEF variable.

Don't SEF URL

The whole URL won't be SEFed, but it will still work when clicked.

Don't process at all

The whole URL won't be SEFed and will display the 404 error when clicked.

Default value: Don't SEF URL

Chapter 8. 301 Redirects

The 301 redirects are proper way to redirect one URL to another if the latter one should always be used instead of the first one, for example when automatically redirecting non-SEF URLs to SEF ones the 301 code tells search engines, that non-SEF URL should not be used and the SEF URL should be used instead, thus eliminating some problems with duplicate content penalization when using Joomla!.

Apart from the automatic redirections there are also three options in JoomSEF to manually set your own 301 redirects, described in the following sections.

8.1. Internal 301 Redirects

The main purpose of these redirects is not to lose the position in search engines when you already have SEF URLs indexed and you want to manually change some of them, so the old indexed SEF URL should still work and be redirected to the new SEF URL. For these redirects to work, the Use Moved Permanently redirection table option has to be enabled in JoomSEF's Configuration on the Advanced tab. These redirects are then created automatically anytime you change some SEF URL stored in the database using the SEF URLs Manager.

Because of the original purpose of this feature the Internal 301 Redirects work only for SEF URLs without any non-SEF variables and only for one domain (they cannot be used to redirect to another web site - that's why they're called Internal).

8.1.1. Managing Internal 301 Redirects

You can browse the Internal 301 Redirects either by using the Manage 301 Redirects menu item or the Manage Internal 301 Redirects button from JoomSEF's Control panel.

Figure 8.1. Internal 301 Redirects Manager

Internal 301 Redirects Manager

The fields in the manager are very straightforward:

Moved from URL

The original old SEF URL which should be redirected from.

Moved to URL

The new SEF URL which should be redirected to.

Last used

The date and time the old URL has been last accessed and redirected to the new URL.

When creating new Internal 301 Redirect or modifying the existing one the following page is shown:

Figure 8.2. Internal 301 Redirect page

Internal 301 Redirect page

As explained above, both the Moved from URL and Moved to URL need to be the correct SEF URLs without any domain or non-SEF variables.

8.2. 301 Redirects using .htaccess

301 Redirects using .htaccess file are described in the Edit .htaccess file section.

8.3. SEF URLs Aliases

SEF URLs Aliases are basically different URLs for existing SEF URLs. By accessing any of the SEF URL alias you will be redirected with the 301 code to the corresponding SEF URL. Each SEF URL may have any number of aliases assigned. The big advantage of using aliases is that they can be any URL, not just the SEF one, for example the URLs from your old web site that was using some non-SEF variables that you need to migrate to Joomla! with completely SEF URLs.

8.3.1. Managing SEF URL Aliases

The SEF URL Aliases can be set when creating new SEF URL or modifying the existing one using the SEF URL Manager - the aliases can be set on the Aliases tab:

Figure 8.3. SEF URL Aliases

SEF URL Aliases

You can enter one SEF URL Alias per line in the Alias list field. The aliases must be relative without the leading slash (so they cannot contain the domain part) and they may contain non-SEF variables. Some correct examples are: old-url.html or article.php?id=10. Incorrect aliases are: www.domain.tld/something.htm (is not relative) or /something.php (contains the leading slash).

Chapter 9. SiteMap

Table of Contents

9.1. SiteMap Manager

JoomSEF allows you to generate the Sitemap XML file that you can use to tell search engines which URLs you want to index on your web site. The default Sitemap file configuration options can be found in JoomSEF's Configuration and are described in the Sitemap Configuration Options section.

The Sitemap XML format is fairly simple, but JoomSEF provides graphical interface to further simplify the task of managing your Sitemap XML file. If you're interested, you can find more information about the Sitemap XML file format at http://en.wikipedia.org/wiki/Sitemaps.

9.1. SiteMap Manager

The graphical SiteMap Manager can be opened using the SiteMap menu item or the Manage SiteMap button in JoomSEF's Control panel.

Figure 9.1. SiteMap Manager

SiteMap Manager

Here you can see the list of all your SEF URLs and their assigned Sitemap properties. The fields are:

SEF URL

The SEF URL.

Real URL

The Real URL for the SEF URL.

Indexed

Whether the URL will be present in the Sitemap XML file.

Date

The date that the file was last modified.

Change Frequency

How frequently the page is usually changed.

Priority

The priority of the URL relative to other URLs on the site.

9.1.1. Using the SiteMap Manager

The usage of the SiteMap Manager is easy, but it can be a little confusing for the beginners. Before the Sitemap XML file may be created, you first need to select which URLs should be present in it and what are their parameters. To do this, follow these steps:

  1. On the first page of URLs, check the box in the Indexed field for those you want to be present in the Sitemap XML file.

  2. Set the desired Date, Change Frequency and Priority values for the selected URLs.

  3. Click the Apply button in the toolbar - this is very important, since the selected values are not stored when switching to another page!

  4. Go to next page and repeat the steps, until all the URLs you want to be present in the Sitemap XML file are selected as Indexed.

To simplify the task of selecting the URLs as Indexed, you may use the Filters fields to display only the URLs you want to index. You can also use the Action fields in the toolbar to set the properties for multiple URLs at once.

When you have all the URLs selected as Indexed and their properties are set correctly, just click the Generate XML button in the toolbar and the Sitemap XML file will be created for you according to the options set in the JoomSEF's Configuration on the SiteMap tab. When the XML file is generated, it can be either pinged automatically to Google, Yahoo, Bing or some other services, or you can ping them manually using the buttons in the toolbar. You can also use the file for example in the Google Webmaster Tools.

Chapter 10. Extra features

This chapter describes some features that are not the main part of JoomSEF's functionality, but may be very useful.

10.1. Edit .htaccess file

JoomSEF offers you the graphical interface to edit your .htaccess file directly in your Joomla! administration area. In order for this function to work correctly the .htaccess file needs to be writable by your web server, for example when using Apache the .htaccess file either needs to be owned by www-data user (or any other user used by your Apache server) or needs to have the 0666 access rights set.

To edit your .htaccess file you can use one of the two modes available - Simple and Advanced. These are described in the following sections.

10.1.1. Simple View

The Simple view can be accessed by clicking the Edit .htaccess menu item or the Edit .htaccess button in JoomSEF's Control panel. It lets you very easily manage the 301 Redirects and the main options available in your .htaccess file.

10.1.1.1. 301 Redirects

You can use the 301 Redirects in the .htaccess file to redirect one SEF URL to another URL. Unlike the Internal 301 Redirects the .htaccess 301 Redirects can be used to redirect some URL to a different domain. In the Simple view you can see the list of your .htaccess 301 Redirects:

Figure 10.1. .htaccess 301 Redirects

.htaccess 301 Redirects

You can very easily manage these redirects using the New, Edit and Delete buttons in the toolbar. The fields of the redirects are as follows:

Redirect from

The original SEF URL that should be redirected. This URL must be relative to your web site root (without the domain) and must start with the slash.

Redirect to

The new URL that should be redirected to. This URL doesn't need to be SEF and it can either be the full absolute URL (with domain part) or the URL relative to your web site root but starting with the slash.

10.1.1.2. RewriteBase Option

You can enable (which is recommended) or disable and set the value for the RewriteBase option here. This is important to be set correctly for correct functionality of JoomSEF.

Set RewriteBase to / if your site is located in domain root (i.e. http://www.sitename.com) or use relative path, i.e. /joomlashop if your site is located in domain's subfolder (i.e. http://www.sitename.com/joomlashop).

10.1.1.3. FollowSymLinks Option

You can enable or disable the FollowSymLinks option here. Enabling this option can cause 500 Internal error if it's not allowed in global web server configuration. For most sites that do not use symbolic links having this option enabled is not needed.

10.1.2. Advanced View

When in Simple view click the Advanced Edit button in the toolbar to access the Advanced view. In this mode you can basically just edit your .htaccess file manually like you were using any text editor, but you don't need to leave the Joomla! administration area. But be aware that any incorrect change in your .htaccess file can make your website inaccessible!

Figure 10.2. Edit .htaccess - Advanced view

Edit .htaccess - Advanced view

10.2. Internal links

The Internal links feature allows you to assign words to SEF URLs - these words then will be found in the articles text on your site and made link to the selected URL. For example you can assign the word license to URL of your Licensing policy and every license word in your articles will automatically link to your Licensing policy site. If there is more than one SEF URL assigned to one word, the popup with all the links available will be shown when the word is clicked on the site:

Figure 10.3. Multiple SEF URLs assigned to one word

Multiple SEF URLs assigned to one word

The Internal links feature can be configured in JoomSEF's Configuration on the SEO tab - the options are described in the SEO Configuration Options section.

Since you can assign more than one words to point to one URL and one word can point to more than one URL, there are two places to manage Internal links - in the SEF URL Manager you can assign words to individual URLs and in the Words Manager you can assign URLs to individual words. Both methods are described in the following sections.

10.2.1. Assigning words to URLs

The words can be assigned to SEF URL using the SEF URL Manager when you edit the individual SEF URL on the Internal Links tab.

Figure 10.4. Internal Links tab

Internal Links tab

The fields available are:

Linked words

The list of words that currently link to the selected SEF URL. You can remove a word from this list using the Remove selected button.

Add word

Use this field to add a new word to the Linked words list. When you type in the field, the words already stored in the Words Manager are suggested as you type, so you can either select the already known word or type a new one. The word is added by clicking the Add word button.

10.2.2. Assigning URLs to words

You can assign the existing SEF URLs to words using the Words Manager, which can be opened using the Manage Words button on the JoomSEF's Control panel.

Figure 10.5. Words Manager

Words Manager

You can use the Words Manager to create, edit or delete the words which have SEF URLs assigned. The Word Edit page is very similar to the Internal Links tab in the SEF URL Edit page:

Figure 10.6. Word Edit page

Word Edit page

The fields are:

Word

The word. You can change it here.

Linked URLs

The list of URLs currently linked by the selected word. You can use the Remove selected button to remove URLs from the list.

Add URL

Use this field to add SEF URL to the Linked URLs list. When you type the list of available SEF URLs is displayed. You can only add the existing SEF URL, so you need to select the URL from the list and then click the Add URL button.


Chapter 11. Upgrades

JoomSEF offers very comfort way to upgrade both the component itself and its extensions using one simple Upgrade page. You can access the Upgrade page using the Upgrade menu item or Check Updates button in JoomSEF's Control panel. The options of upgrade process are described in the following sections.

11.1. Upgrading JoomSEF

There are two ways to upgrade JoomSEF - either by using the downloaded installation ZIP package or by automatically upgrading from ARTIO server.

11.1.1. Upgrade from installation ZIP package

You can use this option if you have JoomSEF's installation ZIP package downloaded. Select the package in the Package File field of the Upload Package File box and click the Upload File & Install button:

Figure 11.1. Upload Package File box

Upload Package File box

The package file needs to contain the same or newer version of JoomSEF than the one currently installed. If the package file with the same version is used, the reinstall is initiated (only the files are rewritten, so you won't lose any of your configuration or SEF URLs).

Be aware of using the correct package - if you have paid version of JoomSEF installed and you select the package with free version to upgrade to, your paid version will be changed to free one. This also works in the opposite way - if you have free version installed, and you purchase and download the paid package, you can use it to change your free version to paid one without losing any configuration and SEF URLs.

11.1.2. Upgrade from ARTIO server

JoomSEF can also be upgraded automatically from the ARTIO Upgrade server. This function can be used to upgrade your JoomSEF or to reinstall it if you already have the newest version installed. Just be aware to set your Download ID corectly in JoomSEF's Configuration on the Registration tab if you are using the paid version of JoomSEF, otherwise your version will be changed to free one when using this feature. It can also be used in the opposite way - if you have free version of JoomSEF installed and you've purchased the paid version, just set your Download ID in JoomSEF's Configuration and use this feature to change your version to paid one. You won't lose any of your configuration or the SEF URLs when using this function.

According to the Download ID set, there are two options how the Upgrade page can look like:

  1. Download ID not set or not valid (the warning is also shown in this case)

    Figure 11.2. Upgrade without Download ID set

    Upgrade without Download ID set

  2. Download ID set and valid

    Figure 11.3. Upgrade with Download ID set

    Upgrade with Download ID set

Furthermore, if your JoomSEF is already up to date, there is the Reinstall button instead of the Upgrade button available:

Figure 11.4. Online JoomSEF reinstall

Online JoomSEF reinstall

11.2. Upgrading JoomSEF Extensions

On the bottom of the Upgrade page there is a list of installed JoomSEF Extensions shown:

Figure 11.5. JoomSEF Extensions Upgrade

JoomSEF Extensions Upgrade

For every extension, there are the currently installed version, the newest version available on the ARTIO Server and the type of the extension displayed. If there is a newer version available, the Upgrade button is shown in the Upgrade column for the extension.

Free extensions can be upgraded using the Upgrade button right away. For the paid extensions, the valid Download ID needs to be set in the extension's parameters on the Registration tab. This is signaled by the color of the key icon next to the Paid word - if the key is gray, the Download ID is not set, otherwise the key is gold. You can click the key icon to directly set the Download ID for the extension.

JoomSEF Extensions can also be upgraded in a similar way directly on the Extensions Management page.

Chapter 12. Usage Tips

12.1. Using JoomSEF with JoomFish

The best way to use JoomSEF with JoomFish is to disable the System - Jfrouter plugin in your Joomla's Plugin Manager. JoomSEF will then take care of all the language recognition.

If for any reason you want to have the JoomFish router enabled, JoomSEF is capable of working together with it if you have JoomFish version at least 2.0.3 or newer installed, but you must follow a few rules to configure JoomSEF properly for this. When JoomFish router is enabled, there are some restrictions for using the options in the JoomSEF's Configuration on the JoomFish tab:

Language integration

This option must match the setting set in the JoomFish router parameters - only the include in path and use different domains options are available.

Always use language

This option should be enabled.

Translate URLs

There is no restriction for this option.

Get language from browser setting

This option is not available, since JoomFish router controls this.

Save language to cookie

This option is not available, since JoomFish router controls this.

Main language

This option does not work when JoomFish router is enabled, so it must be set to (none).

Domain configuration

This is not available, since JoomFish router controls the domains used.

If you set the options properly according to these rules and to match the settings made in the JoomFish router parameters, JoomSEF should work with JoomFish router enabled.

Chapter 13. Troubleshooting

You can find the information about common problems encountered when using JoomSEF in our FAQ at http://www.artio.net/faqs.

New JoomSEF 4.3.0!

02.01.2013

We just released new major version of JoomSEF 4, so the current version is now 4.3.0. The main new feature is support for Joomla! 3.0! Please note that due to this change a minimum version of Joomla! that JoomSEF 4 requires is 2.5.6. Joomla! 1.6, 1.7 and older versions of 2.5 are no longer supported! Make sure that your Joomla! is up-to-date before updating JoomSEF.

Click to learn more about the changes.

JoomSEF Updates February 2012

21.02.2012

Ostrava, 20.2.2012 - New releases of both JoomSEF 3 for Joomla 1.5 and JoomSEF 4 for Joomla 1.6/1.7/2.5 were just released. Actual JoomSEF versions are 4.2.4 and 3.9.4. Also new extensions were released since the last update. Click to learn more about changes.

New JoomSEF 4.2.0 and 3.9.0!

28.11.2011

Ostrava, 28.11.2011 - We are releasing new major version of both JoomSEF 4 and 3. These version include several brand new and exciting features, such as 3rd level domain support for individual components, direct access to Google analytics with Flash charts, full-featured sitemaps, web-crawl functions, ...

JoomSEF Updates October 2011

09.10.2011

Ostrava, 9.10.2011 - New releases both of JoomSEF 3 for Joomla 1.5 and JoomSEF 4 for Joomla 1.6/1.7 was just released. Actual version are 4.1.1 and 3.8.3. Several new extensions for both these versions were also released.

User Login Empty