I have searched through the forums looking for a thread that explains how to geo target. I know you can do it through Adwords and whatever else, but I want to control it myself, so I can choose what content is shown to which visitors. What options do I have to do this? How complicated to run? Pricing? Free would be awesome, etc, everything I need to know would be GreaT! Thank you. Edit: I can program well enough to do this, but just need some direction. Thanks again.
http://ip-to-country.webhosting.info/ offers a free database with GEO targeting. Just parse the CSV file into a database and query it. Here's an example: http://ip-to-country.webhosting.info/node/view/118
Geo-targeting is usually done through the text on your site. So if you were in Sacramento, CA and you sold widgets, you'd make sure "sacramento's bet widgets" appears prominantly in the text. You can also add pictures with captions to help you out, like "The Widgetcom headquarters is close to the Sacramento River". Use local landmarks, etc. This is especially useful if you are targeting multiple towns in the same region. Just look for ways to add your geo words into your content. Of course, links with your desired keywords always helps too.
I use ip2location.com - the DB5 that goes to City level granularity. Quite easy, all queries etc. are supplied in the FAQ. Costs $149 a year. You detect IP, query database with it and it will tell you Country, Region and City.
It's easy to set one up for free! I've written a tutorial about how to set up the database, where to get the data from, and with example PHP code. Works a treat Oh, did I mention it's all free?