KML and sitemaps for SEO – The definitive guide

2009 SEMMY Nominee this article was voted nominee for the SEMMY Awards 2009

A quick guide for business owners

How to use KML and sitemaps to benefit your Search Engine Optimization (SEO).


Most of you are using the Google Local Business Center. And some of you are using the bulk-upload feature. If not, and you are a business owner you should really start using it. Sign up here

There are several ways to increase your business visibility in the Google maps search engines.
But the Local Business Center is the way to claim your business listing within the Google maps search engine.

And one thing you’ll know for sure, that this does drive traffic to your website.
The idea of this tutorial is to explain how to get your business data to Google in a fast and efficient, but different way by using KML. This guide is targeted at small businesses who have used the bulk-upload feature before, but from the examples shown you can get an idea for individual listings as well.

I’m not going into any advanced mapping features.

Why do you need a kml file?

KML stands for the Keyhole Markup Language.
In human readable format, these kind of files are used for expressing geographic information and visualization in applications like Google Earth, Google Maps, Flickr, Virtual Earth and many others. Since march of 2007 Google is indexing these files which can be included in your existing sitemap, or better, newly proposed geositemap. With KML files you can gain trust with Google for verification of your business listing. Because your KML is included in your sitemap, which is authenticated with Google using the Webmaster Central.
Google will use the information from the KML (and the Local Business Center) to mix and match this with all the other information they already scraped from the net and your KML with location information in it is now an authenticated source.

Why do you need a geositemap file?

Google is encouraging the use of Geo sitemaps using KML or GeoRSS feeds. They are basically encouraging users to upload anything geo-related to their servers. By using a geositemap file it will be easier for Google to index your Business Listing and add it to the Google Maps search engine.
For more information visit the “What is KML?” website or “What is a Geositemap? “

How do I create the kml file?


In this example, I will assume you used a .csv (comma seperated value) or excel file to create the tab seperated datafeed for the Google Local Business Center like described in the instructions here

We will use Google Earth plus or Pro to geocode. The current addresses we have listed in the LBC (make sure the addresses actually exist and are correctly listed in the .csv !! ) to Latitude / Longitude stuff that Google understands. It’s a pain to do this manually. As an alternative, you could also write some script that queries the Google geocoder API and returns the values for you. To advanced for me though 😉

(or if someone can tell where such a script is available online, let me know! )

First, we will modify the .csv in such a way that Google Earth is able to import and geocode it.

Open the .csv and remove the first row (Complete) and last row (End), remove the first column store_code because we won’t be needing this. Actually, the only columns I kept are:
Name, address_line_1, city, state, postal_code, country_code and main_phone and of course the corresponding data in all the fields below.

Now let’s load the file into Google Earth;
open up the File menu and select open..

Google Earth Menu - Open

Next, you will see the dialog, select “All data import formats(*.txt, *.csv ) and select the file you just made with the address listings in it (in this case googleearth.csv) and open it. Next you will see the ‘Data import wizard’ , check the radio button ‘comma’.

Google Earth Dialog - Open

Data Import Wizard

Click next, until you see some stuff that needs some adjustments, and press finish when you think you are done.
Now Google Earth will try and import your addresses. It will let you know when it encounters some errors. If so, fix and retry.

You might notice that all of your listings have some strange description with the variables from your .csv. Ignore, because you will replace this with a proper written description.
Now prepare a description for your listings, it depends on your preference whether these will be the same for each listing or differ. You can include HTML if you like.
When done, copy your description into the placemark by selecting ‘properties’ from the context menu in one of your newly added listings (in this case, example 1 ). Copy your description into the description field.
Add your custom marker icon (or one from Google) using the marker selection button. Choose one that best fits your business or create your own. You can change everything how you like it to be, you can use the Google Earth reference for help.

The results could look like this:

Edit Placemark

Example map

Save As... KML

When you’re done, finished, and everything is to your likings, and there are no errors left, go to the context dialog, and choose save place as, select *.kml unless you really want it to be .kmz (Zipped archive format for large number of locations, embedded images, custom markers, etc )

That’s it! You’re done! You can now try to open your saved.kml and view it in Google Earth.

Now up to the next section.

How do I implement the kml file?

It is recommend to start creating your geositemap using the sitemap protocol

<urlset xmlns=""


After you’ve created your sitemap file you must first upload it to your website (in your preferred location) and then submit it to Google’s Webmaster Central
as a general web sitemap. If you are already using a general web sitemap you need to add this geositemap as an additional sitemap.

For more information you can always visit the Google help center.
Or the documentation about kml.

You might want to notify Google manually about the presence of the kml file as well and add a fancy button like this and link to directly from your website to your kml file as well. .

Open in Google Earth

And in the end

Although this process speeds up things a bit, and the Google Earth interface is really easy to work with you still might think that this method is still not the easiest way. There are some other programs available that can do geocoding as well, however these programs don’t provide you with the interface you are familiar to work with and might also cost you a few bucks.

If you have any suggestion on how to speed up the procedure let me know!