Manual creation of Google Sitemap in Magento

13 Comments 9th SEP 2008 | Posted by Tomislav Bilic in Magento

Manual creation of Google Sitemap in Magento

Most of you probably know this, but let’s define what the sitemaps are. Sitemaps are a simple way for site creators to give search engines the information about pages on their site that are available for public. Basically, those are just 1 or more XML files that lists URLs for a site along with additional meta informatio about each URL (like last update, how often it changes, its importance relevant to other pages). With this in mind, search engines can be more clever while crawling the site. Click here see how sitemap of this site looks like.

You will hear the term Google Sitemap a lot, but XML Schema for the Sitemap protocol is not related only to Google at all. It can be used in many places, but the most important ones are Google Webmaster Tools and Yahoo! Site Explorer.

How do we create Google Sitemap in Magento?

1. Sitemap File Configuration

First we need to create sitemap file in Magento. This is basically pointer to tell Magento where to create sitemap file and how to name it. Log in to Magento Administration and go to:
Catalog -> Google Sitemap

Check to see if the sitemap file is already present. Lets assume we wish to create sitemap in the URL: http://www.yourstore.com/sitemap/sitemap.xml
To do it successfully,

  1. FTP to the server
  2. create sitemap folder
  3. chmod the folder to 777

On some servers, previous steps will not be required, but it is better to create the file first so that Magento can edit it.

Let’s go to Magento administration now and click on “Add Sitemap” button. Just insert the default values.

After this step, we just told Magento where to create sitemap file. It is not yet created.

2. Configure Sitemap

Sitemap can be configured from the interface System -> Configuration -> Catalog->Google Sitemap. If you are not sure what does it all mean, check XML Tag definitions section from “Sitemaps XML format” document.

3. Create Sitemap Manually

Looks like Magento folks were thinking that sitemap should only be created by a cron job. Yes, it can be done that way also. Be sure to read Wiki article How to Set Up a Cron Job to get familiar with it. If you are looking for manual creation, quit your search for “Create Sitemap” button. You will not find it. But there is a workaround. You can enter manual URL to execute sitemap creation:

http://www.yourstore.com/index.php/admin/sitemap/generate/sitemap_id/[ID of Sitemap from step 1]

Of course, replace the content with square brackets with actual Sitemap ID.

If you like what you read, please share it.

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Yahoo! Bookmarks
  • Reddit
  • Technorati
  • Twitter
  • StumbleUpon
  • LinkedIn
  • Netvibes
  • NewsVine
  • Sphinn
  • Tumblr
  • Posterous

To post code in comments, place your code inside [code] and [/code] tags.

There are 13 comments (Add Yours +)

  • Thanks for this short but useful and informative HOWTO. It’s always the small things one can overlook.

    Creating a sitemap is a must do step in order to get the Google see you’re site clearer and faster.

  • Thanks a bunch!! That was a very useful piece of info :) .

  • Thank you, the manual url was exactly what I was looking for. Now if there was a way to hide certain pages from the sitemap that would be awesome as well.

  • Thanks for this post!

  • Thanks so much for the tip! Exactly what I was missing.

    Now I have a question for the update of the sitemap. Do we need to manually set up a cron job like you refered to on step 3? Or is it enough to set up the cron in the admin?

  • Hi Tela,
    Yes, you can set up a cron job in the Magento administration. If you have trouble with it, you can occasionally recreate the sitemap using the steps above.

  • Thank you, very usefull!

  • Hi,

    I want to separate my category and product web sitemap (not google sitemap).

    http://www.mysite.com/catalog/seo_sitemap/category/
    http://www.mysite.com/catalog/seo_sitemap/product/

    The above both sitemap are created from the “/app/design/frontend/default/default/template/catalog/seo/sitemap.phtml” but I want to modify both the sitemap, so can we make two seprate files “category_sitemap.phtml and product_sitemap.phtml” so that both the sitemaps gets created from the different files. How can I do this?

    And one more thing, on product sitemap I want a product attribute as
    $_def_cat = $_item->getAttributeText(‘default_category’);

    “default_category” I have created from admin panel.

    But “default_category” attribute is not coming on this page. Can u please guide me how can i get the value of a product attribute on sitemap.

    Thanks

  • Neha Gupta Says

    Use this
    $_def_cat = $_product->getData(‘default_category’);

  • Hello,

    The Extended Sitmap extensions was released today
    http://www.magentocommerce.com/extension/1977/extended-sitemap
    It replaces the default Magento Google Sitemap functionality for auto generation of XML Site Map files with a more optimized and advanced functionality.
    Also it allows you to display all of your existing Catalog Categories, Products, CMS Pages and additional configurable links with a hierarchical structure SEO optimized for web spiders.

    Btw, thanks for the post. It really helps :)

  • Thanks for the how-to. Worked perfectly. Thanks for contributing to the Mage community. Bookmarked the site ;)

  • Can i add my magento CMS pages also to my sitemap.
    Is there any way to include cms pages also through code ?

  • [...] You can also read How do we create Google Sitemap in Magento? [...]

Leave a Comment

Please wrap all source codes with [code][/code] tags.
Magento Design and Development | Magento SEO | iPhone Application Development Web Application Development with ZEND | WordPress Ecommerce | WordPress development
Sitemap

Inchoo - webappsolutions | 2009