<body bgcolor=#000033"><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener("load", function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <iframe src="http://www.blogger.com/navbar.g?targetBlogID=4830160160028833890&amp;blogName=DanShope.com&amp;publishMode=PUBLISH_MODE_FTP&amp;navbarType=BLUE&amp;layoutType=CLASSIC&amp;searchRoot=http%3A%2F%2Fblogsearch.google.com%2F&amp;blogLocale=en_US&amp;homepageUrl=http%3A%2F%2Fwww.danshope.com%2Fblog%2F" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" height="30px" width="100%" id="navbar-iframe" allowtransparency="true" title="Blogger Navigation and Search"></iframe> <div></div>

Saturday, November 29, 2008

The 8 Step Guide to Starting & Marketing Your Website

Perhaps you've been browsing the web lately and thought about starting your own site. You might have something you want to share with the world, or just want to show off your work. There's also the lucrative prospect of marketing your product via the web. A lot of beginner's guides out there only talk about how to pick out a website template and neglect to tell you about how to market your site and scams to watch out for. The 8 step guide is designed to get your site a good footing and help you build on this solid foundation. Post any remaining questions in the comments!

  1. Set a Clear Goal.
    The first order of business is having a clear goal for your site. Who is your target audience, and what are you trying to "sell" to them? Whether you're actually selling a product or not, you are marketing your site to build up readership. If you don't offer something of value to your customers, they won't have a reason to come back. Try to find compelling content that is in line with your company or focus and that your viewers will appreciate.

  2. Custom or Pre-fabbed?
    Once you have a focus for your site, you'll want to start thinking about how you will present this content to your viewers. Should you get your own domain (web address) and start from scratch, or would blogging software (Blogger, WordPress, MoveableType, LiveJournal, Xanga) better suit your needs? Blogs are great because you can be up and running literally in minutes. A custom site takes more work but can be very rewarding in the long term. No matter what course you decide to take, make sure that you can supply your site with the time and care it needs to maintain fresh content and get recognized by search engines.

    If you're going the custom route, you will need both a domain name and hosting. The domain name should be a (.com,.org,.edu,.biz) based on your needs. In my experience it's best to start with a .COM unless you are an organization, in which case .ORG will resonate with your viewers better. Most people will try .COM by default if they forget the full website address, so it might be good to have this domain registered anyway. Hosting just means where your pages will be stored and people can access them from. Potential viewers will type in your website address, get pointed to your domain, and a page request will be made. There's a lot of mixed reviews out there, but some good companies for both hosting and domain purchasing are GoDaddy.com, IPower.com, and Register.com.

  3. Research SEO.
    Before you open your site do some research on SEO or Search Engine Optimization. SEO is a science in its own right; trying to figure out how the big search engines work is a full time job. Luckily for you numerous companies, such as HubSpot.com and PepperJam, have sprung up in recent years and specialize in this topic. You can rely on their expertise to fashion your website into a robust marketing tool. You can also find books at your local library or book retailer focused on SEO. These can be an invaluable resource in marketing your website to the masses.

  4. Designing your site.
    If you're starting a custom site it might be useful to hire a graphics designer or find someone with an art and publications background. You want to organize your layouts in a manner that is optimized for the content that is the most important to your viewers. Later we'll discuss in more detail how to determine the optimal layout for your site based on your long term goals.

    A great way to start thinking about your site's design is to keep a list of websites that you like in terms of style and layout. Start constructing a color palette that will compose your site. You can hand these to your designer to help streamline the design process. If you're doing the work yourself, you'll have some choice references to work from. I even like to take screenshots of the sites I like and keep a folder of designs styled to my liking. When I need to do a new layout or refresh the site's look, I'll pull out my portfolio of resources which saves a lot of time and doesn't require me to revisit the sites. This is especially helpful if the site's layout changes in the meantime, or if the site becomes unavailable.

  5. Creating your site layout.
    Once you've determined the niche your site will fulfill, and have an idea of the colors and some graphics you like, you are ready to optimize your page layout(s). Start by listing the different elements of your site for a given page. You might have a list like the following:

    News & Updates
    Banner Ad
    Weekly Blurb
    Blog Posts

    You should rank these by importance and give each a weight (out of 100%). Do a little research about what users look at on websites. A great study is eye-gaze tracking, which is widely used by marketers to create better targeted layouts. I could try to give you the perfect recipe here, but the fact is layouts can be different for every site and you should expect to do some research when creating your site. Website design and maintenance is a time-consuming but fun process that will pay off in the end. The next phase is called "wire-framing" where you create box layouts for each element of your site we listed above. The placement of these boxes should be determined by the ranking you set for each of your elements. Read this great article about wire framing pages and creating site flowcharts. If you're looking for something more radical, this article from Usability Post has some great graphics examples and a guide to "breaking out of the box." There are other great, comprehensive guides out there, just do a search for "how to start a website" or "creating my website".

  6. Bringing the Design to Life.
    Now that you have your website design, you'll want to start building the code behind your site. The designer should have a solid understanding of HTML, CSS, Javascript, and PHP, CGI, SQL for more advanced dynamically driven sites. If you're using blogging software, consult the documentation for your particular vendor. You can find well-designed templates online or design your own, but you must use the proper markup for your vendor.

  7. Testing and Validation.
    Before you put your site online, TEST TEST TEST. Test it from all the major browsers (Internet Explorer 6/7/8, Firefox, Safari, Opera) as well as clicking on all the links to make sure they work. If you are using forms on your site, walk through the entire process of submitting a form. If users are signing up for accounts, make sure you have code that tests against duplicate usernames and invalid passwords, or expired validation links if you're sending out confirmation emails. When your site goes live, everything should "just work." Remember that whole thing about first impressions? Yep, it applies here big time. Don't rely on your visitors coming back if they have a bad experience the first time around. In fact, studies have shown that users browsing the web make a decision on any given site (whether to stay or go) within seconds of loading.

  8. Marketing your website.
    The worst thing you could do at this point is forget to market your website. No, I'm not talking about spending thousands of dollars on your local radio station ads, or doing some fancy-schmancy TV ad. Those are all well and good but there are some much easier and less-costly ways to get your site noticed. One of the best things you can do is social networking. This buzz word just means get out and establish an online identity that people will recognize. Get on Facebook, LinkedIn, ZoomInfo, StumbleUpon, Digg, Delicious, and all those other Web 2.0 sites and start posting. Now, DON'T do link spamming or any other nefarious method of getting links to your site. The point here is to intrigue people enough about "who is this guy?" that they go to your profile and click on the link to your site. Also, people WILL start to notice frequent posters across various domains. Just be sure not to give out any personally identifiable information as ID theft is a real issue here.

    Be wary of linking schemes and sites that advertise "google-bombing" and other means to instantly propel your site to the top of the search ranks. The truth is getting your site recognized takes time, but the legitimate links you establish will outlast and out value any artificially elevated search engine trickery. Also, you risk removal from Google's index if you are found to participate in these schemes.

So let's recap! You should find a focus or niche for your site, design what type of hosting you want to use, and go about designing your website in a way that will be robust and extensible in the future. Once you have your design on paper, start turning it into useable markup language and test it out on a secure area of your site. Once you're ready, publish your site and start marketing! You're on the way to success.

Update: I just read a great post from ProBlogger about starting out your blog with great content and how to market yourself. Head on over to ProBlogger for a useful read!

Labels: , , ,

Sunday, November 23, 2008

What's in a Content Mangement System?

I've been losely referring to content management systems (CMS) and how amazing and magical they are. But what IS a CMS and what's involved with using one? Wikipedia gives a great definition:

A content management system (CMS) is a computer application used to create, edit, manage, and publish content in a consistently organized fashion. CMSs are frequently used for storing, controlling, versioning, and publishing industry-specific documentation such as news articles, operators' manuals, technical manuals, sales guides, and marketing brochures. The content managed may include computer files, image media, audio files, video files, electronic documents, and Web content.

What is in a CMS?
Your basic run of the mill content management system will have feature such as page addition, modification, deletion, access control (priviliges), the ability to restructure your site on the fly, and a file managment utility. The major CMSs have lots of functionality that you can expose with third party or open source plugins. If a CMS is making you do more work than using notepad and an FTP client, something is wrong. In fact, the whole point of a CMS is to make maintaining your site as pain free as possible. That's why so much of the work has been done for you. Those third party plugins can save you a lot of time and give your site functionalities that you wouldn't have ever thought of by yourself.

I'll admit, at first blush I thought a CMS was totally cheating. It's funny that I can be so young and yet an "old-school" web developer. After trying to manage my ever-expanding site a few years back, and barely coming up for air, I've seen the light. Some of you may be familar with the acronym KISS (Keep It Simple, Stupid). It's a helpful thing to keep in your backpocket no matter what type of project you find yourself involved with. A CMS is a beautfiul example of KISS in action.

Properly implemented, I should be able to log in to my site, and in just a few clicks be ready to publish a new article, open a forum, or revamp my home page. That's the goal of the custom CMS used at DanShope.com, and for the most part it works pretty well. The great thing about writing it myself is that I know how everything works and when I learn a new trick, I can apply it to my site.

That being said, open source solutions such as Drupal, Joomla, and OpenCMS also expose the code to you. If you're interested you can learn how these powerful suites work, and even become a contributor to the next release. Just be sure that you don't get so wrapped up in it you neglect your own site!

Why make a custom solution?
Well, seperate from the reason given above, I really like to control my content from the ground up. It's partly a matter of trust and partly OCD. Okay, so maybe not too extreme, but I do like to know what's going on. The CMSs listed above are very stable projects and you shouldn't have any fears of implementing them on your site.

That being said, for DanShope.com I wanted both the experience of writing my own CMS and the safety of owning my code and not being tied to anyone else's development. Since I wrote the scripts behind this site, I don't have to wade through pages of someone else's source code to try to add a new feature if community development stops.

Lets talk graphics
The other major facet of a custom CMS is related to graphics and site presententation. I'm not really talking about the ability to customize your site instead of blindly applying templates, but speaking more to the styling of the CMS itself.

As the graphics designer of DanShope.com I am obviously happy with my work (or else it would get changed). Since I am going to be using the CMS just as often as regular site interaction, I want to get to use the pretty interface as well. Thus, with my own solution I can control the CMS layout, down to the pixel. Thus, I get a consistent view whether I'm showing someone an article on the site or adding the next news post. That consistency also comes across as very professional. Part of good website design is re-using thematic elements as often as possible. Now, you don't want a boring layout that seems repetitive, but it should feel unified.

This can be difficult on large corporate sites that have multiple departments publishing content with different perspectives on good site layout. A CMS helps relieve that stress by forcing content into a particular mold, but a mold that you control. If sometime down the road you want to change site layout, you can propagate that change through all of your pages without blinking. Compare that to manually retrieving the source of each and every page and updating it to reflect the new changes. Believe me, I've done it and gone through a lot of ibuprofen in the process.

Third party CMS solutions can be really clunky since they need to be general purpose and work for a wide variety of sites. Truth be told, I'm not sure of a good way to implement a generic CMS that can look nice without sacrificing functionality. Since I know the type of content on DanShope.com I can intelligently structure the CMS so I can do what I need to while using a graphically consistent interface that feels intuitive to use.

How does it work?
The CMS solution on this site works as follows. I log in to a control panel, and select the type of managment I want to do (post to the blog, add a news article, welcome a new member, etc.). Once I select my action, I'm brought up to a page that let's me accomplish my goal. For a news site, this is a bunch of well placed text boxes that let me construct the article title, author, any references, and the article itself. I also have scripts to let me insert pictures into an article and create novel layouts at my whim.

When I'm done inserting content, I simply press "publish" and my page is inserted into the database, and a link is added to the news index. The news home and archive cached pages are both deleted so that they reflect the newly added content. None of the other articles need to be touched, unless I want to update the article relationships (related article suggestions).

The interface used to manage all news articles. It uses the same fonts, colors, and layout as the rest of the site so it feels very fluid and unified.

Later on, if I want to edit an existing article I simply click an edit button on the article page and am taken to another interface that mirrors the article creation page. The only difference here is that my content is preloaded and when I hit "publish" this time it will update the existing record instead of creating a whole new page. The cached pages get deleted again to reflect the updated record.

I hope that you now have a little better understanding of a general CMS and how the DanShope.com management system came to be. If you're looking for a free and easy to use CMS that includes hosting, why not start a blog? It's simple, and you get to join an ever growing community of bloggers (who are really cool, by the way). If you have your own domain, check out Joomla or Drupal. Both of these solutions are well-formed and have active development. I also recommend you do some reading. There's a lot that can be discussed about CMSs, too much to cover here, so if you want to learn something specific just ask in the comments!

Labels: , ,

Subscribe to RSS Feed
Subscribe to DanShope.com
Who writes This Stuff?
Daniel Shope is the site owner and moderator of DanShope.com, a portal dedicated to robotics and engineering. Dan is currently a student at Carnegie Mellon University and is pursuing dual degrees in Mechanical and Biomedical engineering.

View Daniel Shope's profile on LinkedIn