My SEO Rules and Guidelines

An old co-worker recently emailed me asked me about SEO.  It was interesting to have a dialog about this and think about what has changed with SEO over the past 10 years and what has stayed the same. Let me put a little disclaimer and say that I'm not an SEO expert and don't claim to be one but these are some of the rules that I try to follow when building a site.

Here is my response to his SEO question:

I should be honest with you and say that SEO is not a magic bullet to attracting more views but instead it's a standard to build your site on.  I actually don't like companies who call themselves SEO experts and sell it as their primary service. They will usually fly into your company give you a few suggestion, maybe make a couple changes to your website, and then leave.  Making sure your website is optimized is one part but broadcasting your brand out to the internet is the other requirement for SEO success. 

With that being said, I do ensure that all the websites I work are built to be SEO optimized. I try to help my clients understand that they have to take an active role in promoting their brand in order for the SEO optimizations to work.

To get started, here are the areas that I look for when making sure a site is optimized.

  1. Use Analytics - If you aren't using Google Analytics, I would start in order to establish a base line to work with and also to use to set goals.

  2. Clearly define your market and keywords - You should make a list of keywords that are based on the market you are trying to reach. Use these keywords to focus your efforts in optimizing your analytics, copy, and search expectations. 

  3. How your website is built - You should do an audit of your website code to make sure that search bots will be able to access as much as your content as possible. Add as many links as you can to other websites. Links are the currency of the web.  Have as much good copy as possible.  

    For example, on your website I see that you have case studies on PDF. That's great and Google can see the PDFs. However, you should have those case studies in HTML and then offer the PDFs as a "printable" version.  HTML has a higher precedence than PDFs.  Also, have XML versions of your content when possible such as RSS feeds and sitemaps.xml.

    Also, like everyone knows use the ALT attributes on your image tags to make it more accessible.

  4. Multiple domain names - Most companies only have 1 or 2 domain names for the company. You should have as many as you can and set them as aliases to your main website. You should buy domains that have your market keywords in them. For example, if you can buy them I would get documentprocessoutsourcing.com, documentimagingservices.com, and printmailservices.com and then set them up as aliases of your website. This would be done in your web server configuration.  

    This used to be a popular spam method (and it still may be) and Google has put limitations on the benefits of it. It should also be noted that Google puts a higher priority on shorter domain names. 

    In any case if you own domain names that are specifically related to the content on your site and the domain name helps to illustrate the business then it can't hurt and also keeps your competitors from owning domains with your primary keywords in it.

  5. Optimizing your copy -  Your copy should reflect and illustrate your keywords as much as possible.  Your keywords should be repeated multiple times in your copy.  Write as many whitepapers and case studies that you can.  Also, feel free to pull in other sources of copy from industry related websites.  As long as you quote the source (by making a link) them you can use them along side of your original copy. However, this does work best in a blog format because then you will usually be commenting on the original quote.  

    Google does put a higher priority on original content and it helps if you add your own content on top it.  The general advice that Google gives to people wanting to know how to get higher in search is to just make really good original content.

  6. Daily/Weekly Content Updates - 80% of your site will probably always be static but you should have sections/pages of your site that has content that changes on a weekly or daily basis. This could be a company blog, industry news section, updates that are pulled from social networks like Facebook, Twitter, and LinkedIn.  You need to have some dynamic content that changes in order to increase the frequency of the search bots checking your site and also to encourage your customers to link and return to your site as much as possible. 

  7. Gaining links back to your site - Like I said before, links are the currency of the web.  The more links you have coming back to your site the more importance Google puts on your site. This was harder to do in the past but because of blogs, forums, Twitter, and Facebook you can now insert your self into the conversation and start to create links back to you. This is often called link building. For example, maybe there is a leading print and mail service blog.  You could comment on one of their posts and have a link that goes back to your site within the comment. Then if you carry on positive conversation with the blog maybe the blog would write about you and then you will get a lot of links back to you.  This is a lot of footwork and manual labor but it does pay off.  

    Also, think about doing some viral marketing like Youtube videos that can be passed around and shared. Just to start, you have a nice video on your home page. This video should be on Youtube and then you should embed the Youtube player in your page. I would even consider breaking it up into multiple 1 to 2 minute clips.

  8. Use SEO tools along side of analytics - There are SEO tools (some are free) that can help you gain a better understanding of where you site is ranking on the web and will give you suggestions on areas to improve.  One of the best sites for this is http://tools.seobook.com/ 

Do you think I missed anything?  Are there different SEO guidelines that you follow? If so, respond with a comment.  Thanks.
Posted
 

Lessons Learned from Seth Godin

25 Lessons Learned from Seth Godin
Seth is full of lessons and insights.  Here are 25 lessons to chew on:

  1. Have a bunch of good runs before the sun sets. Seth says — “Life is like skiing.  Just like skiing, the goal is not to get to the bottom of the hill. It’s to have a bunch of good runs before the sun sets.”
  2. Be remarkable.  Boring is invisible.  Remarkable products and remarkable people get talked about.  Seth on remarkable — “How can you squander even one more day not taking advantage of the greatest shifts of our generation? How dare you settle for less when the world has made it so easy for you to be remarkable?”
  3. Success is a skill.  Seth’s philosophy on success is — “it’s possible to enjoy your job, to do the right thing, to be transparent, to give more than you get and to be successful, all at the same time.”  It takes work.   Surround yourself with people who are succeeding.   You become who you hang with.  By surrounding yourself with people who are succeeding, you’ll learn what’s working and what’s not.  You can model their success and open doors that you might otherwise not see.  Seth on successful people – “”Successful people rarely confuse a can-do attitude with a smart plan. But they realize that one without the other is unlikely to get you very far.”
  4. Being the best is the best place to be.  It’s better to be the best.   People pick the market leaders and they narrow their choices to the top.  Seth says, “Being the best in the world is seriously underrated.”   According to Seth, best in the world is relative – “It’s best for them, right now based on what they believe and in their world, the one they have access to.”  In the Dip, Seth shares 7 reasons why you might fail to become the best in the world:  1.) You run out of time, 2.) you run out of money, 3.) you get scared, 4.) you’re not serious about it, 5.) you lose interest or enthusiasm and settle for being mediocre, 6.) you focus on the short term instead of the long, 7.) you pick the wrong thing at which to be the best in the world.
  5. Be missed.  Seth on how to be missed — “Connect, create meaning, make a difference, matter, be missed.”
  6. Everybody is an expert about something.  You’re an expert at something.  Make meaning.  A SQUIDOO lens is a way to make meaning for others.  Seth on lenses – “A lens gives context. When it succeeds, it delivers meaning.”
  7. Success is a hierarchy.   Seth teaches us the hierarchy of success: 1.) Attitude, 2.) Approach 3.) Goals 4.) Strategy 5.) Tactics 6.) Execution
  8. Don’t do A as a calculated tactic to get B.  Do A because you believe in it.  Seth on success – “If we define success as the ability to make a living doing what I do, I’d say the following: 1.) No ulterior motive. I rarely do A as a calculated tactic to get B. I do A because I believe in A, or it excites me or it’s the right thing to do. That’s it. No secret agendas, 2.) I don’t think my audience owes me anything. It’s always their turn, 3.) I’m in a hurry to make mistakes and get feedback and get that next idea out there. I’m not in a hurry, at all, to finish the “bigger” project, to get to the finish line, 4.) I do things where I actually think I’m right, as opposed to where I think succeeding will make me successful. When you think you’re right, it’s more fun and your passion shows through, 5.) I’ve tried to pare down my day so that the stuff I actually do is pretty well leveraged. That and I show up. Showing up is underrated.”
  9. Be in it for the long haul.  Things rarely come easy.  Make the journey worth it.  Chip away at success.  Seth says — “Listen instead to your real customers, to your vision and make something for the long haul. Because that’s how long it’s going to take, guys.”
  10. Quit the right things and lean into the right Dips.  Winners quit the right things all the time.  Recognize when you’re in a Dip.  Pick the right Dips.  In the Dip, Seth teaches us 3 curves: 1) the Dip, 2) the Cul-De-Sac, and 3) the Cliff.  The Dip is the long slog between starting and mastery.  The Dip is where success happens.  Stick it out, only if you’re going to get the benefits of being the best in the world.  The Cul-De-Sac is where you work and work and work, but nothing much changes.  These are dead-end jobs.  The Cliff is a situation where you can’t quit until you fall off.  If you’re in a Cul-De-Sac or Cliff, you need to quit.  You need to quit these so you can refocus on something with promise.
  11. Decide if you’re a freelancer or entrepreneur.  In the Bootstrapper’s Bible, Seth teaches us that a freelancer sells their talents.  While they may have a few employees, they’re doing a job without a boss, but not running a business.  There’s no exit strategy or pot of gold, but they make their own hours and be their own boss.  Examples include layout artists, writers, consultants, film editors, landscapers, architects, translators, and musicians.  Seth writes that an entrepreneur is trying to build something bigger than themselves.  They take calculated risk and focus on growth.  An entrepreneur is willing to receive little pay, work long hours, and take on great risk in exchange for the freedom to make something big, something that has real market value.
  12. It’s like walking through a maze.   Seth on building a business from scratch — “Learn as you go.  Change as you go.  Building a business from scratch is like walking through a maze with many, many doors.  Once you open one, 100 new doors present themselves.  As you move your way through the maze, you need to stop and check your location.  Look at a map.  If you’re in the wrong place move.  But if you’ve discovered a new place, there’s nothing wrong with exploiting it.”
  13. Everyone is not your customer.  Seth teaches us the key to failure – “the key to failure is trying to please everyone.”  Listen to your real customers.  It’s not the media, the investors, or the early adopters.  Seth on everyone is not your customer – “The media wants overnight successes (so they have someone to tear down). Ignore them. Ignore the early adopter critics that never have enough to play with. Ignore your investors that want proven tactics and predictable instant results. Listen instead to your real customers …”  Seth on figuring out what your customers really want — “Most people have no clue what they want, and if you ask them, you’ll get a lame answer. Most people don’t know they want Pretty Woman or Slumdog Millionaire. They don’t know they want Purple Cow or one of your killer articles. So if you want to have an impact, all you can do is lead. You can’t ask.”
  14. Feed, grow, and satisfy the tribe.  Build your tribe.  According to Seth, “You can lead a tribe of people, connect them, commit to them and create a movement.”  Seth on building your tribe – “It adds to that the fact that what people really want is the ability to connect to each other, not to companies. So the permission is used to build a tribe, to build people who want to hear from the company because it helps them connect, it helps them find each other, it gives them a story to tell and something to talk about. Everything the organization does is to feed and grow and satisfy the tribe.”
  15. Small is the new big.  Focus on relevant, specialized, and unique.  It’s the difference that makes the difference.   According to Seth, small helps you be remarkable – “Small means that you will outsource the boring, low-impact stuff like manufacturing and shipping and billing and packing to others, while you keep the power because you invent the remarkable and tell stories to people who want to hear them.”
  16. Find the new scarce.  Where there’s scarcity, there’s value.
  17. It’s the FREE PRIZE INSIDE.  Seth teaches us how to create a remarkable product – “The thing that makes something remarkable isn’t usually directly related to the original purpose of the product or service. It’s the FREE PRIZE INSIDE, the extra stuff, the stylish bonus, the design or the remarkable service or pricing that makes people talk about it and spread the word.”
  18. The third century is about ideas.  We went from farms to factories to ideas.  Seth on the third century – “Fact is, the first 100 years of our country’s history were about who could build the biggest, most efficient farm. And the second century focused on the race to build factories. Welcome to the third century, folks.”
  19. Spread your ideas. Be an idea merchant.  Spread your ideas.  Seth on being an idea merchant — “If you can get people to accept and embrace and adore and cherish your ideas, you win. You win financially, you gain power and you change the world in which we live.”   According to Seth, spreading is a formula of 8 variables: Sneezers, Hive, Velocity, Vector, Medium, Smoothness, Persistence and Amplifier.
  20. Don’t wait for perfect. Test your ideas.  Learn and respond.  Don’t wait for perfect to land in your lap, and don’t let it get in the way of sharing a good idea.  Seth on testing ideas – “I’m in a hurry to make mistakes and get feedback and get that next idea out there.”  Seth on perfect — “Waiting for perfect is never as smart as making progress.”  Seth on doing it well now, is better than perfect later — “The minute you start walking down a path toward a yak shaving party, it’s worth making a compromise. Doing it well now is much better than doing it perfectly later.”
  21. Don’t get paid to alter your behavior.  Be authentic.  There are two types of sneezers – the promiscuous sneezers and the powerful sneezers.  Promiscuous sneezers can be motivated by money and rewards to sell ideas to a hive.  Powerful sneezers have authority by setting a trend and can’t be bought.  A powerful sneezer can be worth many more times a promiscuous sneezer. Seth on staying a powerful sneezer — “After I left Yahoo!, I had many opportunities to serve on boards and do endorsements. I  chose not to. Why? Because I didn’t want to squander the powerful sneezing points I’d earned by writing my last book. … In every case, you’re getting paid to alter your behavior. That makes you more promiscuous and less powerful.”
  22. The goal of reading is to choose what to change.  Find 3 take aways when you read a business book.   Seth on how to read a business book – “Decide, before you start, that you’re going to change three things about what you do all day at work.  Then, as you’re reading, find the three things and do it. The goal of the reading, then, isn’t to persuade you to change, it’s to help you choose what to change.”
  23. The world changes whether you like it or not.   The world’s getting bigger and smaller.  Seth on how the world is changing – “The world’s getting bigger because you can look everywhere, but it’s also getting smaller because categories are getting specialized.”
  24. The game of marketing has changed.  It’s not price – it’s relevancy, difference, and value.  Marketing is now tribal leadership.  Small is the new big.  Fire customers that aren’t right for your business.  Attention is an asset.  Permission marketing works better than spam – “Selling to people who actually want to hear from you is more effective than interrupting strangers who don’t.”  You take word-of-mouth marketing to the next level with IdeaViruses.  Tell the stories people want to believe.  Products that are remarkable get talked about.     Be authentic.  You can’t fool people.  According to Seth — “You can’t fool all the people, not even most of the time.  And people, once unfooled, talk about the experience.”  Marketing is an investment.  Seth says, “If you are marketing from a fairly static annual budget, you’re viewing marketing as an expense.  Good marketers realize that it is an investment.”
  25. Feed, grow, and satisfy your business.   Plan for the money.   If there’s no money, you’re out of the game.  In the Bootstrapper’s Bible, Seth shares 9 rules to take care of your business: 1.) find people who care about cash less than you do, 2.) survival is success, 3.) success leads to more success 4.) redo the mission statement and the business plan every three months, 5.) associate with winners, 6.) beware of shared ownership, 7.) advertise, 8.) get mentored, and 9.) observe those little birds that clean the teeth of very big hippos.

I'm currently reading Linchpin: Are You Indispensable? and I can say that it's a must read for anyone looking to be successful whether inside a company or trying to start your own business.

Posted
 

How to Use Git and Dropbox Together

Dropbox_logo

 
I use Git with Github to backup my source code and use Dropbox to automatically backup everything else.  Most of the time they play well together but I experienced my second fatal error in two weeks in a project this week that I know was caused because of a conflict with Dropbox.  Most of the time I don't have issues using the two together with one Dropbox account but there is a real danger of conflicts occurring when you share Dropbox folders between different Dropbox accounts.

Git_error
My conflict occurred when I made some code changes on my work laptop, which uses my work Dropbox account, and then I tried to commit the same code on my home desktop, that uses my personal Dropbox account, a day later.  I thought Dropbox would keep the files in sync because they were shared so I  didn't worry about committing changes before I switched to my desktop.  I was wrong and a fatal error occurred on the master branch.

Dropbox is a service that automatically backs up your files and also syncs them between multiple computers.  I have a Dropbox folder in my home directory that has all my documents, photos, music, and some movies. Probably about 20GB of space is backed up on Dropbox. Some of these files are shared with another Dropbox account which I use for work.  I have never had an syncing issues until I tried to back up my shared code projects that also use Git. 

Git is a great source control system and like Dropbox I never really had a problem with it until I started using it with Dropbox.  To make branches and merges with Git, Git has to do a little file system magic behind the scenes in order to keep track of your code changes.  In order for Dropbox to know when to back up a file it needs to watch the file system for changes (new, updated, or deleted files) within your Dropbox folder.  Hopefully, you will start to see that could be easy for these systems to conflict.

Thanks to a blog post by rogeriopvl I was able to create a workflow that fixes this issue.

For this example, I will assume you are on a Mac or Linux. If you are on WIndows just add C:\

Keep your source code outside of your Dropbox folder, but create a Projects directory inside the Dropbox folder, and also setup a separate project folder outside.

/Users/user/Dropbox/Users/user/Dropbox/Projects/Users/user/Projects 

Copy or clone from Github all of your code projects into the projects directory outside of Dropbox

cd /Users/user/Projectsgit clone git@github.com:user/project.git 

Now make a clone of your project inside of the Dropbox Projects directory
.
The "--bare" parameter will tell Git to just clone the core Git project files. After you do this, you will have a project.git folder for your project in Dropbox.  If you look inside of it you will see the Git file structure that it uses to
keep track of your code changes. Dropbox will use this folder to backup your source code.
cd /Users/user/Projects/projectgit clone --bare . /Users/user/Dropbox/Projects/project.git

Setup dropbox as a Git remote that you can commit your changes to.
If you use Github you are probably used to pushing your commits to the origin (which is Github).  With this new dropbox remote you will be able to push your changes to Dropbox to be backed up.
cd /Users/user/Projects/projectgit remote add dropbox /Users/user/Dropbox/Projects/project.git

After you commit your changes, push to the dropbox remote to be backed up on Dropbox at the same time you push to Github (origin).
cd /Users/user/Projects/projectgit commit -a -m 'example changes'git push dropbox mastergit push origin master

Now your Git projects will be automatically backed up to Dropbox after you push to the local dropbox remote repository.
Posted
 

Why 42?

Hitchhikers-history-23

In Article ...@syzygy.socs.uts.edu.au>, mjche...@socs.uts.EDU.AU 

The answer to this is very simple. It was a joke. It had to be a number, an
ordinary, smallish number, and I chose that one. Binary representations,
base thirteen, Tibetan monks are all complete nonsense. I sat at my desk,
stared into the garden and thought '42 will do' I typed it out. End of story.

Best,

Douglas Adams
London, UK                     |   d...@dadams.demon.co.uk (dormant)
Currently in Santa Fe, NM      |   ada...@nic.cerf.net (current)

I always wondered this but I guess this shows that there doesn't have to be a reason for everything. Sometimes the random and simple reason is the right one.

 

Posted
 

Wall Street Giving Python a Great Big Bear Hug

What if, for example, Python not only:

  • becomes popular for its role in the Plone content management system, SciPy scientific programming suite, Mailman mailing-list manager, and other specialized applications or frameworks;
  • is adopted by many leading schools around the world;
  • is chosen as a preferred scripting language for such prominent projects as OLPC, Ubuntu,
    GNOME, and so on;
  • is the one language Google originally exposes for its crucial Google Application Engine entry in the "cloud computing" sweepstakes;
  • shows up a in flattering light in popular cartoons;

but even becomes part of US administrative law? It could happen, and soon.

On 7 April 2010, the US Securities and Exchange Commission (SEC), the federal agency charged to "... to protect investors, maintain fair, orderly, and efficient markets, and facilitate capital formation", proposed new rules covering "Asset-Backed Securities" [warning: 667-page PDF]. Administratively, this is a reaction to the trillion-dollar financial atrocities of the last few years, as well as a natural manifestation of the Obama administration's commitment to enhance procedural transparency. Shockingly, "... Python, a commonly used open source interpretive programming language ..." shows up on page 1 of the description. What is that about?

Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @ITworld

via itworld.com


In the PDF that was mentioned:

We also are proposing to require that, with some exceptions, prospectuses for public offerings of asset-backed securities and ongoing Exchange Act reports contain specified asset-level information about each of the assets in the pool. The asset-level information would be provided according to proposed standards and in a tagged data format using eXtensible Markup Language (XML). In addition, we are proposing to require, along with the prospectus filing, the filing of a computer program of the contractual cash flow provisions expressed as downloadable source code in Python, a commonly used open source interpretive programming language. We are proposing new information requirements for the safe harbors for exempt offerings and resales of asset- backed securities and are also proposing a number of other revisions to our rules applicable to asset-backed securities.

via http://www.sec.gov/rules/proposed/2010/33-9117.pdf


This could be a very lucrative market for Python experts.

This would also be a step forward to bringing open source into the government processes by standardizing around an interpreted language that any one would be able to be read. It would also increase the adoption of Python as a programming language which is good thing for all web developers.

 

Posted
 

Getting Python 2.6 with Django 1.1 together on CentOS 5

Heart_centos_django
 
I recently completed a Django 1.1 website that was released on CentOS 5.2.  CentOS is a great enterprise Linux distro based on Red Hat but if you know anything about enterprise distros is that they never contain the latest and greatest features.  In order to take advantage of new frameworks and servers you will need to build and add them yourself.  Most of the time this isn't too hard. For example, you can build and update PHP to 5.3 (the default is 5.2+) without any issue. Python, on the other hand, isn't as straight forward. 
 
CentOS 5 comes with Python 2.4 and this can be an issue if you want to build a django app because django requires at least Python 2.5. This means that you can't just yum install/update to get all the pieces you need for your app to work. Here are the steps that worked for me and I hope that they might help you if you find yourself in a similar situation.  
 
This is not a tutorial of how to setup a django app with Apache but instead it's intended to show you how to install and setup the packages necessary to run a django app on CentOS 5+. This tutorial will also assume that you know how to wget, untar, and make the files you will be downloading and installing.
 
Before I get started I want to thank FreshBlurbs because they put together a great tutorial that got me started.
 
Need to install with the power of root
Now you don't need be root to go through these steps but you need to at least have a user account that is able to sudo root level commands.  I find it easier to either login or su as root to make system level changes and then go back out to a normal user account for everything else instead of adding sudo in front of every command. 
 
Install Apache, MySQL, SQLite, and other developer packages
 
yum install httpd-devel mysql mysql-server
yum install mysql-client mysql-devel
yum install apr-devel sqlite3 sqlite-devel
yum install libjpeg libpng gcc make autoconf 
yum install libxslt gettext zlib-devel

This tutorial will assume that you are using MySQL on production and you may also use SQLite for development.  If you are using another database like PostgreSQL then you should install those files now.  Also, please note that these are not the only packages that you will need for your webserver, this should just be considered a minimum to get your django app working. 
 
Install Python 2.6 along side of Python 2.4
The trick to getting Python 2.6 working on CentOS 5.2 without breaking anything is to install it along side of the default Python 2.4. Do not try to update your default Python 2.4 because important CentOS modules require 2.4.  To do this you will configure python to be installed in /opt/python2.6.  Before you do this step make sure that you have yum installed sqlite-devel because python will look for the sqlite header files in order to build the module for it when you compile python.
 
cd Python-2.6.4
./configure --prefix=/opt/python2.6 --with-threads --enable-shared --with-zlib=/usr/include
make
make install
cd ~
 
After Python is installed in /opt/Python2.6 you need to create symbolic links to it.
 
ln -s /opt/python2.6/lib/libpython2.6.so /usr/lib 
ln -s /opt/python2.6/lib/libpython2.6.so.1.0 /usr/lib
ln -s /opt/python2.6/bin/python /usr/local/bin/python
ln -s /opt/python2.6/bin/python /usr/bin/python2.6 
ln -s /opt/python2.6/lib/python2.6.so /opt/python2.6/lib/python2.6/config/
Run the ldconfig to update the links to your shared libraries and then check your python version to make sure you can now use 2.6. Also, test to see if there are any conflicts between Python 2.4 and 2.6 using yum.  If you do have problems then double check your symbolic links and make sure that you are not conflicting with /usr/bin/python or /usr/bin/python2.4.
 
/sbin/ldconfig -v 
python -V
yum info httpd

Install setuptools, MySQL extension, and Django 1.1
If you previously installed setuptools but you will need to do again for 2.6 so that the packages are installed in /opt/python2.6. In order to use MySQL with Django you will need to download, build, and install the extension for it.
 
chmod u+x setuptools-0.6c11-py2.6.egg
./setuptools-0.6c11-py2.6.egg --prefix=/opt/python2.6
cd ~
 
cd MySQL-python-1.2.3c1
python setup.py build
python setup.py install
cd ~
 
cd Django-1.1.1
python setup.py build
python setup.py install
cd ~

Setup and Install mod_wsgi
A majority of the Django community uses wsgi as the way to interface with the webserver.  I also prefer to use it because it's fast and very easy to setup. This tutorial will not go into setting up your app to use wsgi (however, I will give an example at the end), but the django project has a good tutorial for this.  Please note that this step is very important. You may have previously installed mod_wsgi using yum but you will need to download it and build it using your new 2.6 in order for it to work with your app.
 
cd mod_wsgi-2.8
./configure --with-python=/usr/local/bin/python
make
make install
cd ~

Then you will need to edit your Apache httpd.conf in order to load the mod_wsgi module. After this has been completed restart Apache.
 
vi /etc/httpd/conf/httpd.conf
>> LoadModule wsgi_module  /usr/lib/httpd/modules/mod_wsgi.s 

That's it. You should be good to go as long as you setup your app with a .wsgi file and setup your app in your Apache config.  For security reasons, I prefer to setup my django apps using virual hosts in /opt/vhosts/app-name and setup the config in /etc/httpd/conf.d/vhosts.conf.  Here is an example to get you started:
 
<VirtualHost *:80> 
   DocumentRoot "/opt/vhosts/app-name" 
   ServerName app-name.com 
   ServerAlias www.app-name.com 
   WSGIScriptAlias / /opt/vhosts/app-name/django.wsgi
</VirtualHost>

Here is an example of my django.wsgi file that I use in my apps.
 
import os 
import sys 

sys.path.append('/opt/vhosts/') 

os.environ['DJANGO_SETTINGS_MODULE'] = 'app-name.settings' 
os.environ['PYTHON_EGG_CACHE'] = '/tmp/.python-eggs' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler()
Posted
 

No Startup Love for Philly?

Startupdigest_screen
via http://thestartupdigest.com/
 
I signed up to receive the Startup Digest today and I saw that Philadelphia wasn't on their list of "startup hubs".  I've been reading a lot about how Philly is not an optimal city to base your web startup in unlike cities like New York, Silicon Valley, Boulder, or even Boston.  This may be changing because of venture firms like First Round Capital and DreamIt are very active in Philadelphia. 
 
Philadelphia
 What makes Philadelphia a great place for new businesses?

You know, it's called the City of Brotherly Love and I actually think they mean it when it comes to startups. Philly is small enough and intimate enough that most of the entrepreneurs actually know each other. There's an unbelievable sense of community.

Launching a startup is really hard and emotionally trying and there are a bunch of great networks and communities that build a really tight net and support groups. Philly Startup Leaders has hundreds of thousands of entrepreneurs actively helping each other. It's a really interesting community in that way.

When you look around the country, you see that second-generation entrepreneurs play a big role in thriving communities. They serve as mentors, cheerleaders and early capital sources. Philadelphia is an exception to the rule. Because despite a Web 1.0 legacy of hits like CDNow (acquired by Bertelsmann in 2000 for $117 million), Half.com (acquired by eBay in 2000), e-commerce company GSI ($1.55 billion market cap) and VerticalNet (valued at $12 billion in 1999), the city is mainly driven by first-generation entrepreneurs and few of them have hit a serious scale or impact yet.

But what Philadelphia's current startup scene lacks in experience it makes up for in enthusiasm. Blake Jennelle, a self-appointed leader of the community, founder of Philly Startup Leaders and a serial entrepreneur (Anthillz, TicketLeap), calls it a "self-help ethos." That sounds about right for a place known as the City of Brotherly Love. 
 
via http://www.fastcompany.com/article/why-you-should-start-a-company-in-philadelphia 
 
I currently work in Philadelphia, but my home is 75 minutes north of the city. I am thinking about basing my startup in New York because that looks like the hot spot for startups on the east coast.  However, I'm also looking to keep my eye on Philadelphia to see if I should stay closer to home.  I will be attending the Entrepreneurs Unplugged by Philly Startup Leaders on the 28th to see first hand what the startup scene is like in Philly.
 
If you are a startup in Philly, I would love to connect with you and hear about your experience. 
Posted