Aimy Extensions
 

With Aimy Sitemap you can easily generate an XML and HTML sitemap of your website.

Improve your SEO and website usability with this highly customizable and user-friendly sitemap generator for Joomla!.

English Spanish German Farsi (Iran) Polish Slovak Dutch French Portuguese (Brazil) Russian Czech

Features

  • Crawls your website like a search engine
  • Generates XML sitemaps
  • Generates HTML sitemaps for human visitors
  • High flexibility - you can:
    • set priority and change frequency per URL
    • use exclude patterns (i.e. "*.gif")
    • customize crawler behaviour
    • disable single URLs
  • Notifies search engines
  • Evaluates robots.txt
  • Has integrated robots.txt editor
  • Supports search engine friendly URLs (SEF)
  • Reveals broken on-page links (404)
  • Full support for multilingual Joomla! websites
  • MySQL database support
  • Automatic updates on new releases

Download Free

Additional Pro Features

  • Crawling of HTTPS-only websites
  • Automatic periodic crawling
  • More options for HTML sitemaps:
    • Hierarchy view
    • Edit titles manually
    • Generate language specific sitemaps
  • Report on broken on-page links and images (404): You get the link's source to find and fix broken links easily
  • Automatic canonical URL handling for XML sitemap via Aimy Canonical (domain & protocol)
  • Automatically exclude duplicate content based on canonical path and parameter evaluation
  • Display Browser Notifications on your desktop after a crawl
  • MySQL & PostgreSQL database support
  • Automatic pro updates on new releases
    (per domain(s) for one year - 15 months on renewal)
  • Support of Aimy Sitemap's further development
28.56€
(Incl. 19% tax)
Germany
* Unlimited installs - automatic updates for number of domains:

Benefits of this Crawler-based Sitemap for Joomla!

The Aimy Sitemap generator comes with its own dependency-free crawler that respects robot restrictions and visits all allowed pages of your website.

Benefits of this approach are:

  • the sitemap can be generated for any third-party component out of the box. There is no extra support neccessary for VirtueMart, Hikashop, K2, SobiPro,...
  • content that belongs to your website but is not handled or generated by Joomla! can be indexed and added to your sitemap as well.
  • the crawler detects broken links on your website.

With an additional, detailed report of the link checker in the PRO version you can easily find and fix broken links on your website.

However, crawling your Joomla! website may — depending on the size of your website — take some time. Although larger websites are supported, we recommend using this sitemap extension on small to medium websites with a couple of hundred pages only.

Aimy Sitemap for Joomla!

Screenshots

  • sitemap-dashboard
  • com-aimy-sitemap-crawl
  • com-aimy-sitemap-manage
  • com-aimy-sitemap-edit-url
  • com-aimy-sitemap-options-3
  • com-aimy-sitemap-options-4
  • com-aimy-sitemap-options-5
  • com-aimy-sitemap-xml
  • com-aimy-sitemap-html-list
  • com-aimy-sitemap-html-index
  • com-aimy-sitemap-html-hierarchy
  • com-aimy-sitemap-robotstxt
  • com-aimy-sitemap-periodic-2
  • com-aimy-sitemap-periodic-4
  • link-check-report

Documentation

User Manual

PDF Download

Introduction

The Joomla! component Aimy Sitemap generates an XML sitemap of your website for search engines. You may generate an HTML sitemap for your visitors as well.

You can customize the sitemap with different options and notify search engines about changes to your sitemap directly from the Joomla! backend.

Aimy Sitemap generator includes a crawler that visits every page of your website, analyzes its content and queues its URL for inclusion in your sitemap.

This manual guides you through all steps necessary to install, configure and use the extension to enrich your website and increase your SEO results.

Technical Requirements to Use Aimy Sitemap Generator

Aimy Sitemap has no dependencies besides those of Joomla!, neither cURL nor url-fopen are required.

Aimy Sitemap supports MySQL and, in the PRO version, PostgreSQL databases and requires PHP version 5.3.10 or higher (like Joomla! 3 itself).

In order to crawl HTTPS-only websites, your PHP installation has to support SSL.

To automatically crawl your Joomla! website periodically, a system service like cron or Task Scheduler is required. Most hosters provide an interface to such services as well.

Installing the Sitemap Extension

The installation of the sitemap extension follows the common Joomla! procedures.

In case you are not familiar with these procedures proceed as follows:

  1. Download the extension's ZIP archive
  2. Log into your Joomla! backend as "Super User"
  3. From the menu, choose "Extensions" → "Extensions Manager"
  4. Click on the "Browse" button and select the ZIP archive
  5. Click on the "Upload & Install" button

The extension's archive will be uploaded and installed afterwards.

For further information, please have a look at the Joomla! documentation "Installing an Extension".

Workflow

The common workflow for generating a sitemap is as follows:

  1. Configure Aimy Sitemap
  2. Edit your robots.txt file (optional)
  3. Crawl your Joomla! website
  4. View and customize the index of your sitemap
  5. Write the sitemap to your webspace
  6. Notify search engines (optional)

Whenever you want to update your sitemap repeat steps 3 to 6.

If you use Aimy Sitemap PRO you may update your sitemap automatically with Periodic Crawls, explained later on in this manual.

Configuring the Sitemap Extension

After a fresh installation, click on the "Got to dashboard" button on the installation report page.

At any time, you can reach Aimy Sitemap's configuration using the "Options" button available on Aimy Sitemap's dashboard or the "Options" button in the right corner of each view's toolbar.

Aimy Sitemap: Preferences

You can customize the sitemap itself, the crawler, the notification of search engines and access permissions in a couple of ways. Let's have a look at the different tabs.

Tab: Aimy Sitemap
Setting preferences for Aimy Sitemap generator in the Joomla! backend
  • XML Path: Specify a custom path for your XML sitemap in case you do not want to use the common /sitemap.xml.

    Any path is relative to the root directory of your Joomla! installation.

Tab: Default Values
Setting default values for Aimy Sitemap generator
  • Priority: Set a default value for the priority of your documents and items. With the priority you can give search engines a hint on the importance of your pages. Valid values range from 0.0 to 1.0.
  • Change Frequency: Set a default value for how often the documents of your website change.
  • State: Define whether new documents should be added to the sitemap by default. You may deactivate single items individually, see "Updating your Sitemap".
Tab: Crawler
Configuring Aimy Sitemap's crawler
  • Include Images: Choose whether images should be added to your sitemap. If enabled, the crawler will add all found images that are referenced by the HTML tag img to your index. External sources not located on your website will not be added.
  • Delay: The crawler goes through your Joomla! website one resource after another. You may set a delay in seconds. The crawler will wait between each request so your server is not put under too high load.
  • Timeout: You can define a timeout in seconds that sets the time, the crawler will at maximum wait for your webserver to respond to a request. If the timeout is reached, the crawler will abort.

    If your webserver is rather slow, you may want to increase this value to at least 30 seconds.

  • Exclude-Pattern: You may specify wildcard patterns, one on each line, that should be excluded from your sitemap. These patterns are case-sensitive. Regular expressions are not supported.

    Examples:

    • *.gif will exclude any file having the extension ".gif".
    • */sampledata/* excludes any files that contain "/sampledata/" in their URL, like "/images/sampledata/apple.jpg".
  • Disguise as Browser: Enable this option if your website delivers different content based on the User-Agent sent with a request. Aimy Sitemap's crawler will then crawl your website disguised as a Firefox browser.
  • Protocol (PRO Feature): Select which protocol should be used to crawl your website.

    If "Automatic" is chosen, Aimy Sitemap's crawler will use the currently active protocol. That is the protocol you used to log into your Joomla! backend.

  • Use Browser Notifications (PRO Feature): Enable this feature to get a notification on your desktop by your browser after a successful crawl.
  • Check Canonical (PRO Feature): If enabled, the canonical links of your website's pages will be checked during a crawl:
    • Yes, if link set: if a page contains a canonical link, it is compared with the page's URL. If path and parameters do not match, the URL will not be added to the index.
    • Yes, link required: each page is required to contain a matching canonical link (path and parameters). Pages with a mismatch or no canonical link at all will not be added to the index.

Note: If you update the crawler's configuration at any later time, please crawl the website again to apply your changes.

Configuring Aimy Sitemap's link checker
  • Enable Link Check (PRO Feature): Enable this feature to let Aimy Sitemap check for broken links on your website during crawls.

    Broken link information is then stored along with the URLs the links have been found on. The collected information can be viewed at any time by choosing "Link Check" from Aimy Sitemap's dashboard or "Aimy Sitemap" → "Link Check" from Joomla!'s components menu.

Note: If you update the link check configuration, please crawl the website again to let your changes take effect.

Tab: Notifier
Configuring Aimy Sitemap's notifier

Choose which search engines should be notified by Aimy Sitemap. The most widely used search engines, Google, Bing and Yandex, are supported.

Note: The notification will not be done automatically. If you have generated or updated your sitemap, go to "Components" → "Aimy Sitemap" → "Notify Search Engines" and click the "Start Notifying" button to start the notification from the Joomla! backend.

Tab: Periodic Crawl (PRO Feature)

In the PRO version of Aimy Sitemap you can setup periodic crawls (see Chapter Periodic Crawling).

In the options you can customize actions that are triggered whenever a periodic crawl finishes and new or updated content has been found on your website.

Periodic Crawl Configuration for the Sitemap Generator
Write Sitemap

Write an updated version of your sitemap.xml file to disk.

Notify Search Engines

Notify all enabled search engines about the new version of your sitemap.

NOTE: Each action uses the options specified for the respective task so no additional configuration is necessary.

Tab: Permissions
Manage Aimy Sitemap permissions

Manage the permission settings for different user groups.

Aimy Sitemap allows to set permissions for the following actions:

Access Administration Interface

allows users to view Aimy Sitemap's administration interface.

Configure

allows users to view and change Aimy Sitemap's configuration.

Edit

allows users to edit URLs on the "Manage URLs" page and change their state.

Crawl Website

allows users to use Aimy Sitemap's crawler on your website and, as a result, update the set of URLs.

Notify Search Engines

allows users to notify the configured search engines about changes to your sitemap.

Write Files

allows users to initially write or update the configured sitemap file or the robots.txt file on your webspace.

For details, have a look at the official Joomla! Access Control List Tutorial:

http://docs.joomla.org/J3.x:Access_Control_List_Tutorial.

The robots.txt File

Aimy Sitemap comes with a simple robots.txt editor that allows you to set up your ruleset directly from Joomla!'s backend. You may use those rules to give instructions to Aimy Sitemap's crawler as well.

Editing

To edit your robots.txt, choose "Edit robots.txt" from Aimy Sitemap's menu. Your current file will automatically be loaded if present in the root directory of your Joomla! installation - otherwise a default version will be loaded. To write your changes to disk, click "Save".

At any time, you can click "Load default version" to load the default robots.txt file that comes with Aimy Sitemap.

Aimy Sitemap robots.txt editor in the Joomla! backend

How To Set Rules For Aimy Sitemap's Crawler

Aimy Sitemap will not crawl URLs that are either forbidden for any bot ("User-agent: *") or especially for Aimy Sitemap's crawler, called AimySitemapCrawler.

Use the following syntax in that case:

 User-agent: AimySitemapCrawler
 Disallow: /images/my-document.pdf
 Disallow: /images/my-image.jpg
 Disallow: /images/*.gif$
 Disallow: /calendar/

This may be useful if your website uses extensions which generate a very large or even infinite set of onpage URLs (like some calendar extensions).

Aimy Sitemap supports patterns for Allow and Disallow directives as handled by Google's bot, that is, the special characters "*" and "$" are supported:

  • * matches any character, zero or more times
  • $ denotes the end-of-string position

Further Information

For further information on the robots.txt file, visit robotstxt.org. For more details and examples on the supported pattern syntax, have a look at Google's documentation.

Crawling Your Joomla! Website

If you have just installed Aimy Sitemap on your Joomla! website, you will not see any entries in the Manage URLs view yet. You have to crawl your website first. To do so, choose "Components" → "Aimy Sitemap" → "Crawl Website" and click the "Start Crawling" button in the toolbar.

Crawling your Joomla! website with Aimy Sitemap

After crawling has finished, you can view all URLs included in your index by clicking "Manage Your Sitemap Now" or by choosing "Manage URLs" from Aimy Sitemap's menu or dashboard.

If you enabled "Use Browser Notifications" in Aimy Sitemap's "Options", a browser notification will be sent after a successfull crawl and displayed on your desktop (PRO version).

Browser notification after a successfull crawl

If you have finished looking through the list and configuring your individual URLs settings, click "Write Sitemap" to write the XML sitemap to your webserver's disk.

Managing Your Index and Sitemap

The "Manage URLs" view allows you to have a look at the index generated by Aimy Sitemap's crawler and manage your sitemap by setting attributes of URLs and by selecting which URLs should be included in your final sitemap.

If you discover items you do not want to display in the sitemap after crawling, disable the items in the list. Click the button in the "State" column for any single file or use the checkboxes and change the state of multiple files at once.

Next time you click the "Write Sitemap" button, all active URLs will be written to the sitemap file.

Setting Attributes

You may set the following attributes individually per document:

  • State / Include in Sitemap

    Set whether the document should included in your sitemap.

  • Priority

    Set the priority of the document for your website's content, ranging from 0.1 (less important) to 1.0 (very important).

  • Change Frequency

    Set how often the document is regularly changed.

  • Document Language (PRO Feature)

    This attribute affects the HTML view of the sitemap for multi-language websites. See Generating an HTML Sitemap.

  • Title (PRO Feature)

    The title is relevant for the HTML view of the sitemap. If you do not like the automatic title, you may set it manually.

  • Lock

    If you manually changed a document's language or title, lock the data set. Otherwise it will be updated with the next crawl.

Note: If you have manually set either language or title, be sure to set the lock attribute to "Yes" in order to disable automatic updates.

The settings can be done either in

  1. a dedicated edit view for each entry reached by clicking on the URL or selecting the UR'Ls checkbox and clicking the Edit button in the toolbar or in Edit the attributes of a single URL of your Joomla! website
  2. the quick edit mode that allows you to set your URLs' attributes directly from the URL list.

    After you changed a value it will be saved automatically in the background. Failure is indicated by a red background color of the changed field.

    Quick edit of attributes

Searching, Filtering and Sorting

Aimy Sitemap allows you to search and filter your URLs to select just the set you want to work on. The following tools are available and combinable:

Search in Title and URL

Type your term into the search field and either press ENTER or click the magnifier button next to the field to start the search. The set of shown URLs will be updated accordingly.

To reset your search, click the "X" button next to the search field.

Searching and filtering URLs
Filter by Language (PRO Feature)

This filter allows you to select URLs from their document's language. Your selection will take effect automatically.

To reset your selection, select "-Select Language-" from the drop-down list.

Filter by State

This filter allows you to select whether to show "activated", "deactivated" or "all" URLs. Your selection will take effect automatically.

To reset your selection, select "All" from the drop-down list.

Filter by Lock (PRO Feature)

This filter allows you to select whether to show "locked", "unlocked" or "all" URLs. Your selection will take effect automatically.

To reset your selection, select "All" from the drop-down list.

Sort by Column

To sort your URLs by the value of one of the columns, click the column's heading. By clicking the heading once, the URLs will be sorted ascending, a second click sorts descending. A small caret will be displayed right to the column's name indicating the sorting direction.

The "URL" and "Change Frequency" columns are sorted alphabetically, "Priority" is sorted numerically and "Last Change" is sorted by date.

Pagination

For convenience, the URLs of your index will be displayed grouped by virtual pages. You can customize the amount of URLs per page. Navigate through the pages using a toolbar below the list of URLs.

You can set a custom amount of URLs per page by selecting your desired number from the drop-down box in the upper right just above the list of URLs.

URL pagination

When to Re-Crawl Your Website?

If you have

  • changed your content (renamed, added or deleted articles / fixed broken links) or
  • changed the crawler configuration (e.g. exclude patterns)

crawl your Joomla! website again, view the result and click "Write Sitemap".

Notifying Search Engines

You can notify search engines about your new sitemap or about changes. Choose "Notify Search Engines" from the menu and click "Start Notifying" on the toolbar.

This will send a ping request to the search engines you activated in Aimy Sitemap's configuration.

Notify search engines using Aimy Sitemap

During a crawl Aimy Sitemap PRO collects information on broken links found on your website if the "Enable Link Check" option is set. Please note, that only internal links are checked that return status code 404 (not found). After a crawl the crawling report shows a button which leads you to the report on broken links if broken links have been found.

Crawler reports broken links (status code 404)

You can view the report at any time by choosing "Aimy Sitemap" → "Link Check" from Joomla!'s components menu or from Aimy Sitemap's dashboard.

The link check report lists all broken links found on your website along with the page or pages the link has been found on. This way, finding and fixing those links is quite simple to do even on larger websites.

Link check report showing a couple of broken links

Recrawling your website after you fixed broken links is optional, but recommended to make sure no broken links are left.

Generating an HTML Sitemap

Aimy Sitemap provides different HTML views of your sitemap. If you want to display an HTML sitemap on your website, add it as a menu item by clicking:

"Menus" → "YOUR MENU" → "Add New Menu Item"

As Menu Item Type choose "Aimy Sitemap" → "HTML-Sitemap".

Joomla! Menu Type for Aimy Sitemap

Options

Aimy Sitemap's HTML views allow you to set the following options beside the standard Joomla! options for a menu item:

Variant
List

All URLs are displayed as a simple top-to-bottom list, sorted alphabetical by their title.

HTML Sitemap displayed as a List in the Joomla! frontend
Index

All URLs are displayed in blocks named after their first letter. Both blocks and the contained links are sorted alphabetical by title.

HTML Sitemap displayed as an Index in the Joomla! frontend
Hierarchy (PRO Feature)

URLs are displayed hierarchically, with each collection being sorted alphabetically.

NOTE: This feature requires that SEF URLs are enabled.

HTML Sitemap displayed as an Hierarchy in the Joomla! frontend
Notes On Styling

You can use CSS to style the list elements.

Levels

Each ul element provides a CSS class that reflects its level. The class is named aimysitemap-lvl-$L, with $L being the numeric level, i.e. aimysitemap-lvl-2.

The top-level ul element has a level of 1 (hierarchy root).

Languages

Each link that has an assigned language does provide this information as a CSS class as well. The class is named aimysitemap-lang-$L, with $L being the language code in lowercase letters, i.e. aimysitemap-lang-de-de for a link to a German document and aimysitemap-lang-en-gb for an English one.

Prevent Duplicate Titles

If this option is set to Yes, all URLs will be merged by their title so that no title can be present on your HTML sitemap more than once.

NOTE: If this option is on, the shortest URL of the set of URLs sharing the same title will be selected.

BACKGROUND: In some cases Joomla! generates multiple URLs for a resource. As a result, Aimy Sitemap's crawler adds these resources to the index multiple times as well. That's technically correct. As these URLs will likely have the same title, it may seem wrong to your human visitors to show them more than once in your HTML sitemap.

Alternatively change the titles manually in the Manage URLs view (PRO Feature).

Filter by Language (PRO Feature)

If this option is set to Yes, Aimy Sitemap will only show entries that match the frontend language. You see - and may change - the language of the entries in Manage URLs.

The titles for the sitemap are extracted from the page's title tag automatically. In the PRO version of Aimy Sitemap you may set the title manually as well (see Managing your Index and SitemapSetting Attributes).

Periodic Crawling (PRO Feature)

Aimy Sitemap PRO supports crawling your website automatically. After such a periodic crawl your Index is updated. Additionally the sitemap.xml file may be updated and search engines notified if new or updated content is found during the crawl. These actions depend on your settings in the options.

Information about a currently running periodic crawl can be viewed in Joomla!'s administration backend. Once a periodic crawl finishes, it stores detailed information about its results, changes and found errors which is then available for review in the backend as well ("Components" → "Aimy Sitemap" → "Periodic Crawl").

Obtaining the Script's Path

The Aimy Sitemap extension includes a command line script named crawl-website.php that allows periodical crawling. In order to execute this script, you first have to know its absolute path.

To look the path up, choose "Components" → "Aimy Sitemap" → "Periodic Crawl" in your Joomla! administration backend. The absolute path on your server is shown under "Help":

HTML Sitemap - Index

Scheduling Automatic Crawls

In order to schedule an automatic crawl of the sitemap generator, a system service is required. On a Unix or Unix-like system (i.e. Linux, FreeBSD, Mac OS X, Solaris) cron is usually used for such tasks. On a Microsoft Windows server Task Scheduler is available. Most hosters provide an interface to schedule jobs for periodical execution as well.

Whatever way you choose to start the periodic crawl, be sure to always select the Command Line Interface (CLI) version of the PHP interpreter to run the script. For security reasons, the script will refuse to run if the Common Gateway Interface (CGI) version is used as an interpreter.

If in doubt, ask your webhoster, webmaster or administrator for the path of the command line interface PHP interpreter.

Setting Up a Cron-Job (Unix)

If you have a Unix or Unix-like server with shell access, log into your server using the user account that should be running the automatic crawl periodically. This may be the same user your Joomla! website is running as.

First, determine the path of your PHP interpreter. If you do not already know where the binary is located, run the following command to find out:

  which php5 || which php

Then, add a new cron-job running the following command:

  crontab -e

Your default editor will open up, allowing you to enter a new cron-job. Each cron-job consists of the following six required fields: minute, hour, day of month, month, day of week, command. The special value of "*" can be used as placeholder for any valid value in one of the first five fields, i.e. any hour or any day of the week.

Set up your cron-job to be run at your desired time and be sure to use the full path to your PHP binary followed by the full script path as a command.

To suppress all non-error output during execution, you can pass either -q or --quiet as an argument.

Save your changes and exit your editor afterwards.

Examples:

To run your periodic crawls each night at 23:55 you would enter:

  55 23 * * * $full_php_path $full_command_path

NOTE: Replace $full_php_path with the full path of your PHP interpreter (i.e. /usr/bin/php) and $full_command_path with the path you previously looked up in Aimy Sitemap's "Periodic Crawl" view.

To run your periodic crawls each Sunday at noon, suppressing all non-error output, you would enter:

  00 12 * * sun $full_php_path $full_command_path --quiet
Setting Up a New Task (Windows)

On a Microsoft Windows server, Task Scheduler can be used to schedule automatic website crawls periodically. To start the utility, click "Start" → "Accessories" → "System Tools" → "Task Scheduler".

Create a new "Basic Task" and enter your desired configuration.

When asked what Action should be performed, choose "Start a program". Choose your PHP interpreter as a program and enter the full path to the crawl-website.php script in the "Add arguments" field below.

To suppress all non-error output, add --quiet as an argument (after the script's path) in the "Add arguments" field.

Verify your settings in the next mask and save the task by clicking "Finish".

For an in-depth step-by-step help on how to set up a task for Aimy Sitemap's periodic crawling script using Microsoft's Task Scheduler have a look at our website.
Using Your Hosters Interface

Most hosters provide an interface to the periodic command execution system services in their management frontends. First, verify that your hoster provides such an interface for your website and have a look at your hoster's documentation.

When asked for it, choose the highest version of PHP available (i.e. 5.6) as an interpreter and use the full path of the crawl-website.php script as periodic task.

By default, PHP processes started from the command line do not have a time limit set. However, if your hoster has overwritten this default setting (max_execution_time), be sure to either restore the default (0) or at least set the highest limit available for the directive (>60) to decrease the probability that the crawl-website.php script will get aborted by your system.

Crawling Information

Information about the current and - once it finishes - the last periodic crawl, including a detailed report of changes detected and the whole command line output, can be found within your website's Joomla! administration backend: "Components" → "Aimy Sitemap" → "Periodic Crawl".

The default view provides a short report on the last crawl, along with all errors that may have occurred during the crawl and a short help:

Last Periodic Crawl - Short Report

Once a periodic crawl finishes, you can click on the "Show Report" button to view a detailed report on all changes done to your index:

Last Periodic Crawl - Long Report

To view the full output of the last or (if running) the current periodic crawl, click the "Show Output" button:

Last Periodic Crawl - Command Line Output

NOTE: If you passed "--quiet" as an argument to the "crawl-website.php" script, no non-error output is sent to the command line. For convenience, the output that would have been generated is stored and provided for review nevertheless.

While a periodic crawl is running, information on its progress is regularly updated along with its command line output. However, the "Show Report" button is deactivated until the crawl finishes. You can reload the view to refresh the information shown.

Special Cases

Crawling HTTPS-only Websites (PRO Feature)

Aimy Sitemap PRO supports crawling of HTTPS-only websites (websites that cannot be accessed unencrypted using HTTP).

The only requirement is that your PHP installation supports SSL.

To find out whether your PHP installation supports SSL, log into your Joomla! backend and choose "System" → "System Information" and click the "PHP Information" tab. In the first table, look for "Registered Stream Socket Transports".

If the "SSL" transport is listed in this set of stream transports, Aimy Sitemap's crawler will be able to crawl your website using HTTPS.

Joomla! Installation in Subdirectory

If you have installed Joomla! to a subdirectory and want to use the sitemap.xml file Aimy Sitemap generates as a top-level sitemap nevertheless, you cannot directly set the path in Aimy Sitemap's options. That is, because for security reasons Aimy Sitemap will non write a sitemap to a file outside of Joomla!'s root directory.

However, there are a couple of ways to use the sitemap located within the Joomla! subdirectory as a top-level sitemap so that search engines will find and use it:

Rewrite Rule

You can set a rewrite rule for your webserver so that it "virtually" serves /sitemap.xml using the one created in your subdirectory. This approach is quite common, for example Joomla! itself uses rewrite rules for search engine friendly URLs.

The following rule is specific for Apache. If you use a different webserver for your site, have a look at the software's manual on how to write a similar rule.

Add the following lines to your top-level .htaccess file or create a new one if it does not already exists:

  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^sitemap\.xml$ /SUBDIR/sitemap.xml [L]

Just replace SUBDIR with the name of your subdirectory.

Sitemap Index File

Another way to put your subdirectory sitemap to use is to create a Sitemap Index. That's a simple XML file telling a search engine where to look for further sitemaps.

Here's an example for a top-level sitemap.xml file that references your real sitemap in your subdirectory:

  <?xml version="1.0" encoding="UTF-8"?>
  <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <sitemap>
      <loc>http://YOURDOMAIN/SUBDIR/sitemap.xml</loc>
    </sitemap>
  </sitemapindex>

Just replace YOURDOMAIN and SUBDIR with the appropriate values for your setup.

For more information have a look at http://www.sitemaps.org/protocol.html#index.

Robots.txt Directive

You may use a robots.txt directive to give search engines a hint on where to look for your sitemap as well. Please note that this directive is an extension of the standard robots.txt specification that may not be supported by all search engines.

Add the following line to your robots.txt file:

  Sitemap: /SUBDIR/sitemap.xml

Using a Canonical URL (PRO Feature)

If your Joomla! website can be addressed using more than one domain name, one way to prevent search engines interpreting it as having duplicate content is to set a canonical link tag on your pages.

Our free plugin Aimy Canonical allows you to set a unique domain name and your preferred protocol (http or https) that is used to create the canonical link tag for all of your website's pages.

If Aimy Canonical is installed and enabled, Aimy Sitemap will use its settings and keep your sitemap's URLs in sync with it.

Feel free to download the Aimy Canonical Joomla! plugin on our website:

http://www.aimy-extensions.com/joomla/canonical.html

Notes and Limitations

  • The "Manage URLs" backend view may not represent the current sitemap on disk: keep in mind to click "Write Sitemap" to apply changes like updating frequency, priority or state.
  • If you changed your preferences for the crawler, for example the inclusion of images, crawl again to update your index.
  • Any change of the default values will --by definition-- apply for new entries only.

    If you like new default values to apply, click the "Reset Index" button in "Manage URLs" and re-crawl your website. Your new default values will then be applied to all found URLs.

  • The sitemap file will be deleted when Aimy Sitemap is uninstalled as well.
  • Only URLs of up to 767 bytes in length are indexed (URL encoded).
  • Websites which are put into offline mode cannot be crawled as expected. That's because in offline mode there are no links to your content that Aimy Sitemap's crawler could extract and analyze.
  • Documents which require HTTP authentication ("HTTP Auth") cannot be crawled. Including those in your sitemap wouldn't be useful, because search engines won't be able to index them as well.
  • Command line output stored for periodic crawls is limited to 1,000 lines for performance and database compatibility reasons.
  • The webserver that serves your website is required to support the HTTP HEAD request method - most webservers do so by default.
  • A somewhat modern browser is required in order to use browser notifications. The following browsers (and versions) are known to provide support:
    • Firefox (version 22 or above)
    • Chrome (version 22 or above)
    • Safari (version 6 or above)
    • Opera (version 26 or above)
    • Edge (version 14 or above)

    Currently, no version of Internet Explorer supports browser notifications.

Debugging and Errors

If you have problems crawling your Joomla! website, this may have a couple of reasons. If none of our hints in the backend or manual helps to solve the problem, you can turn on debugging mode to get some more details.

Go to your Joomla! configuration in SystemGlobal configuration → Tab System and set Debug System to "Yes".

If you start a crawl afterwards it will be logged in a file named "aimysitemap.php" in the "logs" directory of your Joomla! webroot. Go through the file to find hints on the issue or send the file to Aimy Extensions' support team for review and help.

Note: If debugging mode is on, no index will be generated.

Additionally there may be common problems depending on your setup. In the FAQ on our website you find some hints:

http://www.aimy-extensions.com/joomla/sitemap.html#tab-faq

The Joomla!® name and logo are trademarks of Open Source Matters, Inc. in the United States and other countries.

Mentioned hard- and software as well as companies may be trademarks of their respective owners. Use of a term in this manual should not be regarded as affecting the validity of any trademark or service mark. A missing annotation of the trademark may not lead to the assumption that no trademark is claimed and may thus be used freely.