Menu Content

Joomla Extensions

> Choose one to see more info

ARTIO JoomSEF Documentation

ARTIO JoomSEF Documentation

Michal Unzeitig

David Jozefov

ARTIO s.r.o.

Abstract

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


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 document 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. Software Requirements

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

  2. JoomSEF 4.x is compatible with Joomla 1.6, 1.7 and 2.5

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

  • Apache with mod_rewrite module installed and activated

  • IIS 6 with ISAPI rewrite module installed (we recommend using Helicon's ISAPI Rewrite v3), or IIS 7 (includes own URL Rewriting, no need to install any modules)

  • other webservers with URL rewriting capabilities

 

There are also some other requirements that need to be met:

  • PHP 5.2.x

  • JSON extension - since PHP 5.2.0 it is enabled by default

  • cURL or OpenSSL - needed for connecting to Google Analytics

 

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. Multilanguage support

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

JoomSEF 4 supports Joomla's native multilanguage management model or the FaLang component for multilingual content.

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 it 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 compoment 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

JooomSEF 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, #__seflog, #__sefmoved, #__sefurls, #__sefurlword_xref, #__sefwords, #__sef_statistics, #__sef_subdomains)

 

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 automatically.

If the installer fails to detect the Joomla! site base URL correctly or the .htaccess file 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 installation, 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. URL Rewriting

The process of URL Rewriting is crucial for JoomSEF to run. Depending on the web server you are running, read one of the following sections.

2.3.1.1. Apache Server

On the Apache server it is important that mod_rewrite is installed and activated and that the usage of .htaccess file to override some server's configuration is allowed (please contact your web host if you're not sure if these are available on your server).

The .htaccess file includes rules that are needed for Joomla to "understand" and handle the SEF URLs - JoomSEF cannot work without it (please note that the directives included in .htaccess file can also be part of the web server global configuration).

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 tha 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 only 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) in paid version of JoomSEF, 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.1.2. IIS 7 Server

The IIS server version 7 includes its own URL Rewrite module, so there's no need to install anything else. To configure the IIS 7 server properly, please follow these steps:

  1. In your IIS Manager select your web site and open the URL Rewrite.

    Figure 2.1. URL Rewrite in IIS 7

    URL Rewrite in IIS 7
  2. Create the rule called Common Exploit Blocking and set the following options (as shown in the figure):

    Requested URL

    Matches the pattern

    Using

    Regular Expressions

    Pattern

    ^(.*)$

    Logical Grouping

    Match Any

    Conditions

    Create the following conditions:

    Table 2.2. Common Exploit Blocking Conditions

    InputTypePattern
    {QUERY_STRING} Matches the pattern mosConfig_[a-zA-Z_]{1,21}(=|\%3D)
    {QUERY_STRING} Matches the pattern base64_encode.*\(.*\)
    {QUERY_STRING} Matches the pattern (\|%3E)
    {QUERY_STRING} Matches the pattern GLOBALS(=|\[|\%[0-9A-Z]{0,2})
    {QUERY_STRING} Matches the pattern _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    Action Type

    Redirect

    Redirect URL

    index.php

    Append query string

    (unchecked)

    Redirect Type

    See Other (303)

    Figure 2.2. Common Exploit Blocking

    Common Exploit Blocking
  3. Create the rule called Joomla Main Rewrite Rule and set the following options (as shown in the figure):

    Requested URL

    Matches the pattern

    Using

    Regular Expressions

    Pattern

    ^(.*)$

    Logical Grouping

    Match All

    Conditions

    Create the following conditions:

    Table 2.3. Joomla Main Rewrite Rule Conditions

    InputTypePattern
    {REQUEST_FILENAME} Is not a File N/A
    {REQUEST_FILENAME} Is not a Directory N/A
    {URL} Matches the pattern (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$
    Action Type

    Rewrite

    Rewrite URL

    index.php

    Append query string

    (checked)

    Stop processing of subsequent rules

    (checked)

    Figure 2.3. Joomla Main Rewrite Rule

    Joomla Main Rewrite Rule
  4. After both the rules are created, the URL Rewriting should be working on your IIS 7 server.

2.3.1.3. IIS 6 Server

The IIS 6 server does not include its own URL Rewriting mechanism, so you need to install some ISAPI rewrite module - we recommend using the Helicon's ISAPI Rewrite which can be obtained at http://www.helicontech.com/isapi_rewrite/. It can be used with the standard .htaccess syntax known from the Apache server.

For more information on how to configure your IIS 6 server for URL rewriting, please refer to the documentation of ISAPI rewrite module of your choice.

Some more information on Joomla! and IIS compatibility may also be found in Joomla!'s documentation at http://docs.joomla.org/Category:IIS.

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 (Use URL rewriting in Joomla 1.6 and above).

These can be enabled either from JoomSEF Control Panel in the SEF Status box or in (menu) SiteGlobal Configuration(tab) Site(box) SEO Settings

2.4. Uninstallation

  • Joomla 1.5:

    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

  • Joomla 1.6 and above:

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

    2. go to ExtensionsExtensions ManagerManage

    3. find the ARTIO JoomSEF component, select a checkbox next to it and click the 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, so you won't lose any data stored in JoomSEF.

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: ComponentsARTIO 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 grouped to tabs

  3. Right - informative panels

The following sections will describe action buttons and informative panels.

 

Figure 4.1. Control panel

control panel

 

4.1. Action buttons tabs

4.1.1. JoomSEF Configuration tab

Allows access to main component configuration sections.

 

Figure 4.2. JoomSEF Configuration tab

JoomSEF Configuration tab

 

 

Global Configuration

Opens the Global Configuration page. See Configuring JoomSEF chapter.

Extensions Management

Opens the Extensions Management page. See JoomSEF Extensions chapter.

Edit .htaccess

Opens the .htaccess Editor. See Edit .htaccess section.

Check Updates

Opens the Upgrade page. See Upgrades chapter.

 

4.1.2. URLs Management tab

Allows you to manage your SEF URLs, their meta tags and 301 redirects.

 

Figure 4.3. URLs Management tab

URLs Management tab

 

 

Manage SEF URLs

Opens the URLs Manager page for all the SEF URLs. See URLs Management section.

Manage Custom URLs

Opens the URLs Manager page with only the Custom URLs displayed. See URLs Management section.

Manage Meta Tags

Opens the Meta Tags Manager page. See URLs Meta Tags section.

Manage Internal 301 Redirects

Opens the 301 Redirects Manager page. See Internal 301 Redirects section.

 

4.1.3. Extras Management tab

Allows access to some more advanced features in JoomSEF.

 

Figure 4.4. Extras Management tab

Extras Management tab

 

 

Manage SiteMap

Opens the SiteMap Manager page. See SiteMap chapter.

Manage Words

Opens the Words Manager page. See Internal Links section.

Statistics

Opens the Statistics page. See Statistics section.

Crawl Website

Opens the Website Crawler page. See Website Crawler section.

Set Up Cron Tasks

Opens the Set Up Cron Tasks page. See Cron Tasks section.

 

4.1.4. Maintenance tab

Offers tasks to maintain your SEF URLs and watch for errors.

 

Figure 4.5. Maintenance tab

Maintenance tab

 

 

Update URLs

Runs Update URLs process for all automatically generated SEF URLs that are not Locked. See the Updating URLs section.

Update Meta Tags

Runs Update Meta Tags process for all automatically generated SEF URLs that are not Locked. See the Updating URLs section.

Update Sitemap

Runs Update Sitemap process for all automatically generated SEF URLs that are not Locked. See the Updating URLs section.

Purge SEF URLs

Purges all automatically generated SEF URLs that are not Locked. See the Purging URLs section.

Clear Cache

Clears the SEF URLs disk cache. See URLs Cache section.

View 404 Logs

Opens the URLs Manager page in the 404 Log display mode. See URLs Management section.

View Error Logs

Opens the Error Logs page. See Errors Log section.

 

4.1.5. Help and Support tab

Provides information about using JoomSEF and support options.

 

Figure 4.6. Help and Support tab

Help and Support tab

 

 

Documentation

Opens the online page with this documentation.

Changelog

Opens the Changelog page with informations about changes in current and previous versions.

Support

Opens the Support page with various support options from ARTIO.

 

4.2. Informative panels

4.2.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 enabled.

 

Figure 4.7. ARTIO JoomSEF panel

ARTIO JoomSEF panel

 

4.2.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.8. SEF Status panel

SEF Status panel

 

4.2.3. ARTIO Newsfeed panel

Shows the JoomSEF related newsfeed directly from ARTIO server.

 

Figure 4.9. ARTIO Newsfeed panel

ARTIO Newsfeed panel

 

4.2.4. Statistics panel

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

 

Figure 4.10. 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 ComponentsARTIO JoomSEFConfiguration 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. Beginner and Professional mode

By default, JoomSEF operates in the Beginner mode. In this mode the whole Advanced Configuration tab and some configuration options in other tabs are hidden. If you need access to those options, you need to first enable the Professional mode using the Enable Professional mode option in Basic Configuration tab and save the configuration.

In the following sections, configuration options visible only in Professional mode will be marked with asterisk (*).

5.2. 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

Enable Professional mode

When enabled, some more advanced configuration options along with the whole Advanced tab will be displayed. Please note that you need to save the configuration first for this option to take effect.

Default value: No

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

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

All lowercase

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

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)

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: -|.

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

5.3. 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 several boxes described in the following subchapters.

Please note that the whole Advanced tab is visible only when the Professional mode is enabled, so its options won't be marked with asterisk individually.

5.3.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, Æ|A, Ć|C, Ç|C, Č|C, Ď|D, É|E, È|E, Ë|E, Ě|E, Ê|E, Ì|I, Í|I, Î|I, Ï|I, Ĺ|L, ľ|l, Ľ|L, Ń|N, Ň|N, Ñ|N, Ò|O, Ó|O, Ô|O, Õ|O, Ö|O, Ø|O, Ŕ|R, Ř|R, Š|S, Ś|S, Ť|T, Ů|U, Ú|U, Ű|U, Ü|U, Û|U, Ý|Y, Ž|Z, Ź|Z, á|a, â|a, å|a, ä|a, à|a, æ|a, ć|c, ç|c, č|c, ď|d, đ|d, é|e, ę|e, ë|e, ě|e, è|e, ê|e, ì|i, í|i, î|i, ï|i, ĺ|l, ń|n, ň|n, ñ|n, ò|o, ó|o, ô|o, ő|o, ö|o, ø|o, š|s, ś|s, ř|r, ŕ|r, ť|t, ů|u, ú|u, ű|u, ü|u, û|u, ý|y, ž|z, ź|z, ˙|-, ß|ss, Ą|A, µ|u, ą|a, Ę|E, ż|z, Ż|Z, ł|l, Ł|L, А|A, а|a, Б|B, б|b, В|V, в|v, Г|G, г|g, Д|D, д|d, Е|E, е|e, Ж|Zh, ж|zh, З|Z, з|z, И|I, и|i, Й|I, й|i, К|K, к|k, Л|L, л|l, М|M, м|m, Н|N, н|n, О|O, о|o, П|P, п|p, Р|R, р|r, С|S, с|s, Т|T, т|t, У|U, у|u, Ф|F, ф|f, Х|Kh, х|kh, Ц|Tc, ц|tc, Ч|Ch, ч|ch, Ш|Sh, ш|sh, Щ|Shch, щ|shch, Ы|Y, ы|y, Э|E, э|e, Ю|Iu, ю|iu, Я|Ia, я|ia, Ъ| , ъ| , Ь| , ь| , Ё|E, ё|e

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

Remove trailing slash

If enabled, URLs with trailing slash will be redirected to the same URL without the trailing slash.

Default value: No

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

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.3.2. Working with URLs

 

Ask before saving URL to 301 Redirects

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

Autolock created URLs

If enabled, all the created SEF URLs will be automatically locked.

Default value: No

Auto update URLs

If enabled, SEF URLs for articles and categories will be automatically updated when corresponding article or categoriy is modified, and appropriate 301 redirects will be created.

Default value: No

 

5.3.3. Debugging URL errors

These features are used to identify wrong URLs on your website and store relevant information about their origin in the database along with the URL. It may be helpful to find out where the strange URLs are coming from.

Enable errors logging

If enabled, errors in URLs like non-existent articles or categories will be logged. Works only with extensions that support this feature.

Default value: No

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 stack trace (list of functions in the PHP code that invoked the URL generation)

Default value: No

Tracing depth

How many function calls should be traced back.

Default value: 3

5.3.4. Non-SEF URLs and variables

 

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

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

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

Handle query variables as non-SEF

If enabled, non-SEF variables from visited SEF URL will be considered non-SEF for all other URLs on the page. This may prevent polluting the database. Disable if causing problems.

Default value: Yes

 

5.3.5. Variables filtering

 

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

 

5.3.6. Itemid handling

 

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

 

5.4. 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.5. Title and Meta Tags Configuration Options

5.5.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 Meta Tags management

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

Metadata auto-generation

Controls when the meta tags will be automatically generated and stored in database along with new SEF URL.

 

Only if original empty

Meta tags will be generated only if the original ones are empty.

Always

Meta tags will always be generated.

Never

Meta tags will never be generated.

 

Default value: Only if original empty

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: -

Meta-keywords preference

Controls how to handle meta keywords if they're defined both by Joomla and JoomSEF.

 

Prefer original

Use only meta keywords set in Joomla.

Prefer JoomSEF

Use only meta keywords set in JoomSEF.

Join both

Original Joomla keywords will be appended to keywords from JoomSEF.

 

Default value: Prefer JoomSEF

Meta-description preference

Controls how to handle meta description if it's defined both by Joomla and JoomSEF.

 

Prefer original

Use only meta description set in Joomla.

Prefer JoomSEF

Use only meta description set in JoomSEF.

Join both

Original Joomla description will be appended to description from JoomSEF.

 

Default value: Prefer JoomSEF

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.5.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.6. 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.7. SiteMap Configuration Options

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

5.7.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.7.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.8. Language related Configuration Options

The Language tab lets you configure JoomSEF's handling of URLs on multilingual websites. For Joomla 1.5 the multilingual content from JoomFish is supported and for Joomla 1.6 and above both the native Joomla multilanguage content and the FaLang component are supported. For more information on correct configuration see Using JoomSEF on multilanguage website section.

Enable JoomSef language management

Enables the JoomSEF's language management. This option has to be enabled if you want to use multilingual content along with JoomSEF's SEF URLs.

Default value: No

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

use different domains

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

add as suffix (JoomSEF 3 only)

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

do not add (JoomSEF 3 only)

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

Add language to multilanguage content (JoomSEF 4 only)

If set to Yes, the lang variable will be stored with URLs for content that is used for all languages. This option is available only for native multilanguage content in Joomla 1.6 and above.

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

(Please note that this option is not available when you use native multilanguage content in Joomla 1.6 and above.)

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

Language that will be used when home page is opened and the language is not determined from browser setting or cookie. In JoomSEF 3, SEF URLs for selected language will not have the language code integrated.

Default value (JoomSEF 3): (none)

Default value (JoomSEF 4): (website's default language)

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

Incorrect domain handling

Controls the way how mismatch between languages determined from domain and SEF URL should be handled.

 

Redirect to correct domain

Page will be redirected to correct domain according to language from SEF URL.

Show 404 page

The 404 Not found page will be displayed.

Do nothing

Normal content for given SEF URL will be displayed, regardless of domain used. This setting may cause duplicate content errors.

 

Default value: Redirect to correct domain

Enable/Disable Jfrouter plugin (JoomSEF 3)

You can use this button to simply enable or disable the Jfrouter plugin. More information about JoomSEF 3 configuration with Jfrouter plugin may be found in JoomSEF 3 subsection of Using JoomSEF on multilanguage website usage tip.

Disable Plug-in (JoomSEF 4)

In Joomla 1.6 and above you need to have the System - Language Filter plugin disabled for JoomSEF to work properly. If it's enabled, none of the above options are displayed and only the button that let's you disable the plugin is present. More information on configuring JoomSEF 4 to work on multilanguage website can be found in JoomSEF 4 subsection of Using JoomSEF on multilanguage website usage tip.

5.9. Google Analytics Options

Google Analytics configuration options may be used to automatically add the Google Analytics tracking code to your page and to easily access the Google Analytics statistics information directly from JoomSEF's interface.

 

Google e-mail

Login e-mail for your Google Analytics account.

Google password

Password for your Google Analytics account.

Web ID

Your website's ID in the form of UA-12345678. This is required if you want to have the Google Analytics tracking code automatically inserted to the page.

Google API key

Your Google API key for the Page Speed service. This is only required if you want to be able to check your website's speed on the JoomSEF's Statistics page.

Use the https://code.google.com/apis/console page to generate the API key and enable access to Page Speed Online API.

Enable google Analytics

If enabled, the Google Analytics JavaScript tracking code will be automatically added to your website.

Exclude from tracking by IP address

Set the list of IP addresses that won't be tracked by Google Analytics. Set one IP address per line.

Exclude from tracking by user account level

Select user account access levels that won't be tracked by Google Analytics. Use CTRL key to select multiple access levels.

Exclude by cookie

If you set the cookie, access to your website from your current web browser won't be tracked by Google Analytics. Use the Set/Remove cookie button to set or remove the cookie.

 

5.10. Subdomains Configuration

This feature is not currently supported in Joomla! 3.x and newer.

The Subdomains feature allows you to use different subdomains for specific parts of your website. Please note that this feature is not available on JoomSEF 3 when you have JoomFish installed and the whole tab is hidden.

Use the Add subdomain and Remove subdomain buttons to add or remove subdomains. You can have as many subdomains configured as you need. If you use multiple languages, you can configure subdomains for each language separately.

Each subdomain consists of three configuration options:

 

Subdomain

The subdomain to be used. Set only the subdomain of your main domain.

Menu

Select menu items that you want to use this subdomain. Use CTRL key to select multiple menu items.

Title page

Select which of the menu items will be used as a home page for this subdomain.

 

5.11. 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.11.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) (JoomSEF 3 only)

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

(other options) (JoomSEF 3 only)

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 (JoomSEF 3 only)

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.11.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.11.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.12. Registration Options

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

5.12.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.12.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 two fields are sent from your website.

5.12.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 ComponentsARTIO JoomSEFManage SEF URLs menu or by clicking the Manage SEF URLs or Manage Custom URLs on the URLs Management tab or View 404 Logs button on the Maintenance tab in 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, update, 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.

Please note that in JoomSEF 3 the ViewMode filter is replaced with the tabs.

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 straghtforward, however the Language filter is only available if the multilanguage management is enabled.

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.1.6. URLs Trash

Please note that the URLs Trash is currently supported only in JoomSEF 3.

URLs Trash is used when you want to update your SEF URLs to match current settings, without losing their associated meta tags, aliases and other data. When you trash some URL, none of its associated data are deleted, but when its non-SEF URL is encountered during browsing your website, the whole record is restored from trash except the SEF URL, which is newly generated according to current settings.

When you Purge URLs, they're also not deleted, but only moved to trash, so none of their meta tags are lost. In time when your website is being browsed, new SEF URLs are being generated but your old meta tags are still used.

So if you want to remove some URL completely along with its meta tags, trashing it is not enough - you need to delete it.

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 predefined meta tags or define your own custom meta tags (JoomSEF 3 only) 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.

There's also the Use sitename in Title option which can be used to override the global setting from Title and Meta Tags tab in JoomSEF's Configuration.

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.

If you use the cache, don't forget to clear it every time you make some changes to your SEF URLs, otherwise your modifications won't be reflected on the website. To clear the cache use the Clear Cache button in JoomSEF's Control Panel on the Maintenance tab.

6.4. Purging, Deleting and Updating URLs

Because of the way how JoomSEF works (see How It Works chapter), whenever you change some configuration that affects SEF URLs generation, you need to make sure that your URLs are regenerated with the new configuration taken into account. There are several ways to achieve this.

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 on the Maintenance tab. Please note that in JoomSEF 3 purging doesn't delete URLs, it only moves them to trash (see URLs Trash section).

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 or manual selection delete (or trash) only those 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

By purging or deleting the URLs you make sure that whole URLs are regenerated from scratch. But for example, what if you don't want to lose your custom meta tags during the process? Or vice versa, what if you have your SEF URLs customized but you would like to automatically regenerate their meta tags?

There are three actions that you may use, described in following subsections. All of them are accessible from the URLs Manager toolbar or the Maintenance tab of JoomSEF's Control Panel. When using the Control Panel buttons, actions are run for all automatically created SEF URLs (not set as Custom) that are not Locked.

6.4.3.1. Update URLs

Thanks to the URLs Trash feature present only in JoomSEF 3, the Update URLs action regenerates only the SEF URL part of the database record and leaves the meta tags, aliases, sitemap settings and assigned internal links intact.

Unfortunately in JoomSEF 4 the URLs Trash is not available yet, so the Update URLs action regenerates the URLs completely, along with their meta tags and other configuration.

6.4.3.2. Update Meta Tags

The Update Meta Tags action regenerates only the meta tags stored with URLs, leaving other fields unchanged.

6.4.3.3. Update Sitemap

The Update Sitemap action updates only the sitemap settings stored with URLs according to current configuration.

6.5. Errors Log

The Errors Log page displays logged problems encountered when your URLs were processed to the SEF form. These errors are logged only by extensions that support it. Because after some time the Errors Log could get quite huge, it's disabled by default - you can enable this feature in JoomSEF's Advanced Configuration options page.

The Errors Log page can be accessed using the View Errors Log button from JoomSEF's Control Panel on the Maintenance tab.

Figure 6.8. Errors Log

Errors Log

Every record logs the date and time it was encountered, text message of the error, URL that triggered the error, page the URL was encountered on and the component it belongs to. You can use the fields in Filters box to filter records by various criteria.

The Errors Log can help you find URLs that link to non-existent content. When you don't need the logged errors anymore, use the Clear Log button in the toolbar to delete all the records in the Error Log.

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 ExtensionsInstall / 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

images/stories/docs/joomsef/joomsef_new/.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

images/stories/docs/joomsef/joomsef_new/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.

10.3. Statistics

The Statistics page can help you with Search Engine Optimization by providing you with easy access to usage statistics of your website. You can access it using the Statistics button in JoomSEF's Control Panel on Extras Management tab.

The page displays different information in two tabs described in more detail in following sections.

10.3.1. Statistics tab

The Statistics tab can be used to easily obtain data on how well individual pages of your website are indexed by Google, how fast they're loading and if they conform to W3C standards.

Figure 10.7. Statistics tab

Statistics tab

When you open the Statistics tab, you can see a list of your SEF URLs stored in JoomSEF with no data at all. In order to get the data from Google, first select URLs that you want to obtain the data for and then click the Update Statistics or Update Validity button in toolbar. You will be redirected to Update statistics or Update validity page that will query Google for the desired data. Once the update process is completed, click the Finish button to get back to the Statistics page.

Because Google and W3C limit number of queries they will respond to we recommend updating maximum of 20 URLs a day. Obtained data are cached with your URLs until next update.

You can obtain following data:

 

Google PageRank

Google PageRank for the page.

Page Speed Factor

Google's score for the page's speed. You can obtain this information only if you have the Google API Key configured and you have enabled access to Page Speed Online API. See Google Analytics Configuration options for more information.

The Show Graph link displays a graph of various elements of your page and how they contribute to the page's loading time.

Indexed on Google

How many pages linked by your page are indexed by Google.

Page popularity

How many pages that link to your page are indexed by Google.

Indexed on Facebook

How many times your page is linked from Facebook.

Indexed on Twitter

How many times your page is linked from Twitter.

Validity

Whether your page conforms to the W3C standards.

 

10.3.2. Google Analytics tab

The Google Analytics tab allows instantaneous access to the most essential usage statistics from your Google Analytics account.

Figure 10.8. Google Analytics tab

Google Analytics tab

You need to set your Google e-mail and Google password in Google Analytics Configuration options first before you can use the Google Analytics tab to access your usage statistics, otherwise an error message will be displayed.

Once your access credentials are correctly configured all the websites registered with your account are displayed in the Google Analytics Account dropdown box. Choose a website and dates range you are interested in and click the Update Google Analytics link to update the tab with website usage statistics from your account.

10.4. Website Crawler

As described in How It Works chapter, when a SEF URL is once created, no configuration changes will affect it and it will be used until you manually make JoomSEF to regenerate it. This can be done either by updating the URLs manually (see Updating URLs section) or by deleting them, so they will be recreated automatically once they're encountered when the website is being browsed. But what if you don't want to wait until all your SEF URLs are generated this way, for example if you want to check whether your URLs will be created correctly after a configuration change?

The Website Crawler can help you with that by automatically crawling your website and thus generating all the SEF URLs and saving you a lot of time. You can access this feature by clicking the Crawl Website button in JoomSEF's Control Panel on Extras Management tab.

Figure 10.9. Website Crawler page

Website Crawler page

Before you start the crawler, you can specify following options:

 

Root URL

The URL that should be used as a starting page from which the crawling will begin. By default the crawling starts from your website's homepage.

Max Crawl Level

How deeply nested URLs should be crawled. This depends on your website's structure, but the default value should be fine for most websites.

 

Once you click the Start Crawl button your website will be crawled using AJAX and the progress will be reported in the Website Crawler Status box. Please don't close or refresh the page when the crawler is running, otherwise the process will be interrupted! If you want to stop the process, use the Cancel button.

Figure 10.10. Website Crawler running

Website Crawler running

Once crawler checks all the URLs the Status field will change to Success and the Cancel button will change to Finish button. Clicking it will take you back to JoomSEF's Control Panel.

If some problem is encountered during the process (for example your server will not respond in specified time limit - this may happen on large websites with many URLs) the Error status will be reported and crawling will stop. Two buttons will be displayed in this case - Continue and Finish. By clicking the Continue button, Website Crawler will try to recover and continue from URL that was browsed when the error occured. If you click the Finish button you will be taken back to JoomSEF's Control Panel.

Figure 10.11. Website Crawler error

Website Crawler error

10.5. Cron Tasks

The Set Up Cron Tasks page allows you to have some maintenance tasks run automatically in specified time period using the cron scheduler in Unix-like operating systems. You can use this feature to easily generate the crontab file that you can install on your web server. Please note that this is an advanced feature recommended to be used by advanced users and server administrators only.

Cron Tasks feature can be accessed by clicking the Set Up Cron Tasks button in JoomSEF's Control Panel on Extras Management tab.

Figure 10.12. Set Up Cron Tasks page

Set Up Cron Tasks page

Because the cron tasks are run from Joomla! frontend, there are some security settings to be configured:

 

Enable cron tasks

This option enables the cron tasks to be run. They're disabled by default, but you need to enable it if you want to use the scheduled cron tasks.

Only local access

If this option is enabled, the cron tasks can be run only from the same server that runs Joomla!. Disable this only if you really need to run cron tasks from different server.

Secret key

The key that you set in this option needs to be present in the request made from crontab in order for cron tasks to be run. A random key is generated for you by default, but you can set your own.

 

When the Cron Tasks Settings are set, you can configure your cron tasks and generate the crontab file in the Generate crontab file section of the page. Available settings are:

 

Update URLs

When enabled, your SEF URLs will be updated when cron tasks are run. See Updating URLs section for more information.

When this option is enabled, Update Meta Tags and Update Sitemap tasks are not available.

Update Meta Tags

When enabled, meta tags for your SEF URLs will be updated when cron tasks are run. See Updating URLs section for more information.

This task is not available when Update URLs task is enabled.

Update Sitemap

When enabled, sitemap options for your SEF URLs will be updated when cron tasks are run. See Updating URLs section for more information.

This task is not available when Update URLs task is enabled.

Crawl Website

When enabled, your website will be crawled when cron tasks are run. See Website Crawler section for more information.

Max Crawl Level

If the Crawl Website task is enabled, this option specifies how deeply nested URLs should be crawled. See Website Crawler section for more information.

Run

Specifies the time period how often you want selected tasks to be run.

 

Once the desired cron tasks are selected and configured, click the Generate button and the resulting crontab file will be offered for download to you. When you download it you can install it on your server to automatically run selected tasks.

Don't change the Cron Tasks Settings when you have your crontab installed, otherwise the cron tasks will stop being run.

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. Furthermore JoomSEF 4 supports Joomla!'s native update system.

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.

For JoomSEF 4 you can also install the installation ZIP package directly in Joomla!'s Extension Manager: Install page - your currently installed version will be automatically updated with the ZIP package version.

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

In Joomla! 2.5 you can also use its native Extension Manager: Update page to search for available JoomSEF 4 version and update it directly.

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.

In Joomla! 2.5 you can also use its native Extension Manager: Update page to search for available JoomSEF 4 extensions updates and update them directly.

Chapter 12. Usage Tips

12.1. Using JoomSEF on multilanguage website

12.1.1. JoomSEF 3

The only way supported in JoomSEF 3 to have multilanguage website is to use the JoomFish component.

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.

12.1.2. JoomSEF 4

JoomSEF 4 supports two ways of generating multilanguage content in Joomla! - native Joomla! multilanguage capabilities and using the FaLang component. For both ways the following conditions have to be met:

 

  1. System - Language Filter plugin needs to be disabled. JoomSEF provides its own language filtering.

  2. System - ARTIO JoomSEF plugin needs to be as high as possible in ordering of system plugins.

  3. Enable JoomSef language management option in JoomSEF's Configuration on Language tab needs to be enabled.

  4. Set your desired language integration options in JoomSEF's Configuration on Language tab, not in Joomla!'s or FaLang's system plugins.

 

When all the above conditions are met, JoomSEF should work correctly on your multilanguage website generating and translating SEF URLs according to your configuration.

Chapter 13. Troubleshooting

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

Appendix A. Appendix A. Transliteration of Cyrillic alphabet

When JoomSEF is installed on a website which uses Cyrillic alphabet, the non-Latin characters are by default converted to their ASCII equivalents according to new 2010 system for transliteration of names in Russian passports (see Wikipedia for more information). The transliteration process can be customized in JoomSEF's Configuration. This is the complete transliteration table for Cyrillic characters used by JoomSEF:

 

Table A.1. Cyrillic transliteration

Cyrillic uppercaseCyrillic lowercaseASCII
А а a
Б б b
В в v
Г г g
Д д d
Е е e
Ё ё e
Ж ж zh
З з z
И и i
Й й i
К к k
Л л l
М м m
Н н n
О о o
П п p
Р р r
С с s
Т т t
У у u
Ф ф f
Х х kh
Ц ц tc
Ч ч ch
Ш ш sh
Щ щ shch
Ъ ъ -
Ы ы y
Ь ь -
Э э e
Ю ю iu
Я я ia

 

User Login Empty