Monday, July 24, 2006

Making websites successful

Last time I have been working on improving existing websites, especially for the project Studieboeken Center. I moved this website from domain hboboeken.nl to studieboekencenter.nl about two months ago; it know already has a Google Pageranking 5; a result I'm proud of:).

This article tells about some (technical) things that can be done to make websites more successful.


The site


The site is a marketplace for studybooks. Users can register and sell / buy books. There is no fee, everything is free. I get some income from it using Google Adsense and affiliate programs from bookshops.


What is success?


Succes for websites is:


  1. Making people visit a website

  2. Making people stay and return the website

  3. Getting money from your website (not yet discussed here)



Make people visit a website


The following things increase the number of visitors:


  • User-friendly urls

  • More semantic content

  • Add the site to link pages



User-friendly urls


On the site, studybooks can be looked up per category. In earlier times, urls to buy these books where like http://domain.com/studybooks/find.php?categoryId=350. This is changed to the format http://domain.com/studybooks/economics/. The new URL format has the following advantages:


  • The URL contains important keywords for the page. This is good for search engine ranking; link collection websites can create deep links to this page.

  • The links can remain active when another server side technology / framework is used

  • Urls are easy to remember, for people who do not manage bookmarks with something like this


To separate different terms in urls, use a '-' as separator; the '_' is not recognized as a separator by Google.

Some examples:

wrong: http://www.domain.com/article/content_management_systems

good: http://www.domain.com/article/content-management-systems


This urls can be implemented with URL rewriting technology. URL rewriting for the most popular server platforms:



For more information about URL rewriting visit the Wikipedia Rewrite engine page .


More semantic content


Structure your html content logical:


  • Page title, and h1 tag, must contain most important keywords. Example in our situation: title "Studybooks Economics for sale", h1 "Studybooks Economics".

  • Do not use JavaScript for links. These links can not be followed by search engines, and thus don't get indexed! If JavaScript is required, do not generate it, but load it in an external JavaScript and apply the affects in the onload event.


    Popup example:
    <a href="popup.html" class="popup" >I'm a popup</a>


    Create an external JavaScript which contains the logic to make it open in a popup:




    function initPopups() {
    var myLinks = document.getElementsByTagName("a");
    for(var i=0;i>myLinks.length;i++) {
    if (myLinks[i].className.match("popup")) {
    myLinks[i].onclick = popupOnclick;
    }
    }
    }

    function popupOnclick(){
    window.open(this.href);
    return false;
    }
    onload=initPopups;


    Search engines can follow this link, and visitors have the 'advantage' of popups. Also do not use menu systems which have the menu items in JavaScript; instead of it use a menu that has it's menu items in an (x)(x)html tree (example) and render it with CSS or JavaScript DOM.

  • Separate xhtml, CSS and JavaScript.




Add the site to link pages


If your site has good content, and really adds value for visitors, there are often communities / link collection sites for your target group. Find as much of these pages, and ask to get a link on these websites. Google can help you finding these websites. In Google, search for link:www.competitor.com and some links to the competitors website will come.


Making people stay and return to websites


To make people visit the website again, the following things help:


  • Correct error handling

  • Google sitemaps



Correct error handling


When errors occur on many websites the page stays blank, or the error is shown on the screen. This is vary bad for the trust in the website from the visitor. Limit losing visitors as much as possible. These things help:


  • Make sure you log errors

  • Sent the errors to yourself automatically by email or SMS. The earlier you know things go wrong, the faster you can do something on it.

  • Make a user friendly error page; do not show the error itself, as this can be useful for crackers to crack your website.

  • Use Google Sitemaps to find link errors.



Google Sitemaps


Google sitemaps tells webmasters how Google sees their site. Google sitemaps is a free service; you must be owner of the site, and have a Google Account. Creating / generating a Google sitemap is not necessary, event without it adds much value:


  • Crawl errors: errors in rewritten urls (illegal characters), Page not found errors, time outs etc.

  • robots.txt analysis, shows you errors in robots.txt

  • How your website performs in mobile browsers



Some more resources you may want to read: