#1  Don't use generic classes and IDs in your theme

This seems counterintuitive at first.  Naturally you want to name your toolbar "toolbar" and your content "content", but this will cause nothing but heartache down the road.

The trouble is Drupal and other 3rd party systems already have styles defined for these generic classes and IDs.  This will make your styling in Drupal more difficult, and if you use a third party shopping cart it will likely have styles defined for these very same CSS selectors.

#2  Use Drupal links where possible

When creating links from one entity to another try using the actual Drupal links rather than their URL alias.  For example, if you create a link to "/node/12" Drupal will automatically display this using node 12's URL alias.

The end result for the visitor is the same.  They will still see your pretty URLS.  Should you latter change the URL for node 12, your existing links will continue to work.

There is a module for CKeditor which will do this for you.  Have a look at CKEditor Link - A plugin to easily create links to Drupal internal paths

#3 Backup often

Before making any substantial changes it is wise to backup the database, the file system or both.  While nodes have "revisions" to undo our mistakes, blocks, menus, and other configuration items do not.  This is especially true when updating Drupal or it's modules.

Since so much of Drupal is stored in a database, it pays to have a convenient method for backing this up.  For this task I recommend Backup and Migrate.

#4 Configure cron

This is worth mentioning as it is so often overlooked.  Cron is used to keep your search index up to date, run scheduled backups, send newsletters, update your sitemap, and any number of other tasks added by modules.

#5 Consider the webmaster

When developing any system for use by others it's important to keep the user's skill set in mind.  Often the person tasked with updating a web site has little or no HTML skills, and very rarely is a skilled developer.

It is always our goal to develop a site that most anyone can edit and extend with only minimal training.  Our goal is to have all of the content and data entered directly into Drupal. This way it can be edited in the same manner.

To achieve this we need to be careful not to put content into our templates or stylesheets.  Instead consider creating more blocks and content types as needed.