Of course you can always create your sitemap.xml file for Google manually, using an on-line sitemap generator like xml-sitemaps.com. Especially for smaller sites with rather static content this is good enough for SEO purposes. However, if your site is changing often, or if you also would like to offer an HTML sitemap for your visitors, an extension that does the work for you would be perfect. There are a number of Joomla sitemap extensions on the JED. The one that used to be the most popular by far was XMap. However, this extension has been abandoned by the developer it seems. Luckily the extension has been taken over by Joomlashack, under the name OSmap. It can perform the same functions as Xmap: create HTML and XML sitemaps. Natively it supports the following content:
- Joomla Content
- Mosets Tree
The installer detects which one of these is actually installed on your site and only publishes the ones you need, the other ones remain unpublished. You can manage these through the Plugin Manager.
If you have other extensions installed, don't worry, there are many plugins to connect third-party extensions, Zoo, K2, Hikashop, etc, see the full list. Support is growing, with more and more extensions supported.
First download OSmap from the Joomlashack website and install it through the Joomla Extension Manager. If it finds a previously installed version of Xmap, you will find a migration button to import the Xmap configuration. Click it if needed (and do not forget to uninstall the old Xmap Component!). Then go to Components >> OSmap >> Extensions and activate / configure the extensions you have installed on your site.
Then go to Sitemaps. By default it will create a sitemap based on all your menu's. If you have menu's with content that you do not want included, you can deselect those, like I did for a hidden menu in the screenprint below:
Now you can verify if your sitemap contains all the URL's you would expect. Simply click on the XML Sitemap words:
When you click on the link for the XML-sitemap, you are routed to a link where it is located, often something like this:
Record this link and use it to submit your Joomla sitemap to Google in your Webmaster Tools account. To make sure other search engines will be able to locate your sitemap file too, make sure to refer to this location in your robots.txt file, like this:
OSmap can also generate nice Image Sitemaps. Especially the Pro version has excellent support for this, and it can also detect embedded galleries from 3rd-party-extensions. Especially if images are important for you, you need image sitemaps. This helps your images to be included in the Google Image Search.
Advanced tip: Rewrite URL
If you do not like the funny URL OSmap gives you, you can convert it to a readable URL using your .htaccess file. This also allows search engines to find it even if you did not submit it to the webmaster tools account or referred to it in robots.txt. Put this line in your .htaccess (and edit it according to your specific situation):
RewriteRule ^sitemap.xml$ index.php?option=com_osmap&view=xml&tmpl=component&id=1 [L]
Credits to Rene Kreijveld for the tip.
In order to offer the sitemap to your users, also create a menu-item for it.
Alternatives sitemap extensions for Joomla
There are 2 more extensions listed on the JED that seem to work quite nice:
- JSitemap: Commercial only. An excellent alternative, only 5 stars reviews. If OSmap does not work out for you, try this one.
- JCrawler: Non-commercial. Seems more basic, just for creating your XML-sitemap, which could be just what you need. Only available for Joomla 2.5