Archive for the 'Software' Category



Basics of search engine optimization

Tuesday 24 June 2008 @ 9:54 am

At my day job, we’re contacted every now and then by clients asking about search engine positioning and optimisation. Most of the time the client has been approached by an SEO (Search Engine Optimisation) consultant trying to talk them into paying lots of money for search engine optimisation. The SEO firms promise “guaranteed top results” and “submission to 500 000 search engines and directories”.

Basics of search engine optimization

Many site owners are regularly contacted by scam companies of this kind, and it’s understandable that many take the bait and start paying for “top results and submission to everything”. After all, who doesn’t want their site to be highly ranked by search engines?

In an attempt to help a few people avoid paying for unnecessary search engine optimisation, I’d like to share what I have done to achieve very good search engine rankings, for this site as well as for clients’ sites.

First, just let me say that not all SEO consultants out there are scam artists – there are many reputable firms in the business. However, anyone promising “guaranteed top results”, “submission to 500 000 search engines and directories”, “instant results”, or “permanent top positions” is most likely a scammer. There is no way anyone can guarantee that your site is the number one result unless they actually control the search engine results, or if the top ranking is for a word or phrase that only exists on your site, of course.

What strikes me as I think through the steps I have taken to get good search engine rankings is how much SEO has in common with accessibility, usability, and high quality markup – the principles of web standards. That actually makes it even better: by making your site more accessible and usable for humans, and by using valid, semantic markup, you also make it more attractive to search engine robots.

Consider the guidelines I describe here a basic level of SEO – try this first, and if you’re still not getting the results you want, you may want to look into getting help from a reputable search engine optimisation firm. If you contact someone regarding optimising your site, ask them what they will do for your site. If they suggest any kinds of shady methods, be very careful. They might get you penalised or even banned from search engine indexes. On the other hand, if their advice includes what I’m suggesting here, they will probably do a good job.

There are no shortcuts

I’ll start with the bad news if you’re looking for a quick and easy way to get great results. There isn’t one. Instead, expect to do some hard work, especially when it comes to the content of your site.

You will also need patience. Results do not come overnight. If you’re working on improving the search engine positioning of a client’s site, you should probably explain this to them early on.

Write good content

This is probably the single most important thing you need to do if you want to be found on the web. Even if your site is technically perfect for search engine robots, it won’t do you any good unless you also fill it with good content. Yes, really!

Good content to me is text that is factually and grammatically correct, though that is not necessarily a must for all kinds of sites. Whatever your site is about, the content needs to be unique and/or specific enough to appeal to people. More specifically, it needs to be useful to the people you want to find your site.

Good content brings return visitors. Return visitors who like your content will eventually link to your site, and having lots of inbound links is great for search engine rankings, especially if those links are from highly ranked sites.

Closely related to good content is fresh content. By adding new content regularly, you give visitors a reason to come back. Search engine robots will also visit your site more often once they notice that you update regularly, which means that any new content you add will be indexed quicker.

When doing work for clients, creating quality content is rarely the responsibility of the web designer. Often, the client wants to write their own copy, which is fine if they’re good at it and keep adding new content. In my experience, that is rarely the case. If at all possible, try to make the client realise that they should hire someone to help them write, or at least get someone to help them edit what they have written. In either case, make it clear to them that they can’t expect consistent high rankings without good content.

Think about spelling

If you write in English, you are probably aware of the differences in spelling between American and British English. Colour vs. color, optimisation vs. optimization, etc. There are also many words that are commonly misspelled (this goes for all languages).

I don’t like the idea of intentionally misspelling words, since it goes against my definition of “good content”. If words with multiple spellings or commonly misspelled words are an important part of your content, i.e. keywords, consider adding a glossary or similar to include the most common spelling variations on the page.

Write descriptive page titles

By making your page titles simple, yet descriptive and relevant, you make it easier for search engines to know what each page is about, and people scanning through search results can quickly determine whether your document contains what they are looking for. The page title is also what is used to link to your site from search result listings.

Because of this, the title element is one of the most important elements on a page. Some argue that it is the most important element.

When it comes to the order of the text in the title element, I’ve found that the following works well:

Document title | Section name | Site or company name

Based on a discussion here a while ago, that is probably one of the best formats for accessible title texts. Again, accessibility and SEO work together.

Whatever you do, don’t use the same title text for all documents. Doing so will make it much harder for search engines, people browsing through search results, and site visitors to quickly find out what the document is about.

Use real headings

Use the h1 - h6 elements for headings. Using graphics for headings may let you use any typeface you want, but search engines aren’t going to pay much attention. Even if you (as is required) use the alt attribute to specify alternate text for heading images, that text will not be anywhere near as important as real text in a heading element. In my experience, this is true even if the images are inside heading elements. If you know otherwise, please tell.

If you cannot use real text, look at the various image or Flash replacement techniques that are available. Be aware that there may be a tiny risk involved in doing so. Since image replacement techniques involve hiding text, it is theoretically possible for search engines to penalise you. Currently that risk seems very slim, but don’t say I didn’t warn you if it does happen.

Use search engine friendly URLs

Avoid dynamically generated URLs that use a query string to let the server know which data to fetch from a database. Search engine robots may have difficulties with this kind of URL – they may stop at the question mark and not even look at the query string.

Use search engine friendly, human readable URLs instead. This will help both your ranking and your users. I’ve seen incredible improvements in search engine results from just changing the URL scheme of a site.

Modifying and rewriting a site’s URLs can be a little tricky, and some CM systems make it more difficult than others to implement. It is worth the effort though. A couple of resources to help you make your URLs better:

Get linked to

There is no easy and sustainable way to solve this one except for – you guessed it – providing good content. Incoming links are very, very important for SEO. They are also possibly the hardest part of SEO to implement.

However, in my experience incoming links are less important the more specific and unique your content is. As an example, a couple of our clients are in what you may call niche businesses. They don’t have lots of sites linking to them, yet they started ranking very well in search engines after I had applied the knowledge I’m sharing here to their sites.

Use valid, semantic, lean, and accessible markup

Most web browsers have advanced functionality to decipher the tag soup mess that is used instead of HTML on most current sites. You can’t rely on search engine robots to do that to the same extent. Validate your HTML and avoid presentational markup – use as lean and clean markup as possible. By increasing your content-to-markup ratio, you make your site faster and more attractive to search engines.

High quality markup will help boost your rankings.

Accessibility is also very important. Making your site more accessible to vision impaired humans will also help search engine robots find their way around it. Remember, Google is blind, so even if you don’t care about blind people using your site (which you should), you’ll still want it to be accessible. This means that you should use real headings, paragraphs, and lists, and avoid using anything that may interfere with search engine spiders.

Flash and JavaScript are fine, as long as they aren’t required to navigate your site and to access vital information. Don’t hide your content inside Flash files or behind funky JavaScript navigation. Browse your site in Lynx, and with graphics, CSS, JavaScript, and Flash off. If that gives you problems, it is likely to cause problems for search engine spiders.

Submit carefully

Often slightly overrated, submitting a site to directories and search engines can be useful, especially if the site is new and hasn’t already been picked up by Google and others. Go ahead and submit it to Google. It won’t hurt, but most likely Google will find you anyway.

Two directories that may be worth submitting to are Yahoo! Directory and the Open Directory Project. Be patient – it will probably take several weeks for your submissions to be processed, unless you pay for them to list you.

Don’t try to fool the search engines

Don’t use cloaking, link farms, keyword stuffing, alt text spamming or other dubious methods. They may work for a short while if you’re lucky, but you risk being penalised or even banned from search engines, which you do not want.

Search engines want their results to be accurate, and they don’t like it when people try to trick them. Just don’t do it.

Avoid using frames

While it is possible to provide workarounds that allow search engine robots to crawl frame based sites, frames will still cause problems for the people who find your site through search engines.

When somebody follows the link from a search result listing to a frame based site, they will land on an orphaned document, outside of its parent frameset. This is very likely to cause confusion, since in many cases vital parts of the site, like navigational links, will be absent.

Some sites use JavaScript or server side scripting to redirect anyone trying to load a document outside of its parent frameset to the site’s home page. This is a very user hostile thing to do, and it definitely does not help the people visiting your site. Just lose the frames. They are bad for usability anyway.

Be careful with browser detection

If you need to use some kind of browser detection, make sure that it doesn’t break when a search engine spider (or any unknown user agent) comes along. If the spiders can’t get in, you won’t be found. I’ve seen this happen on the sites of fairly large companies.

Don’t waste your time on meta tags

Most search engines don’t place any great deal of value on the contents of meta tags anymore. They have been used way too much by spammers. I’d suggest using the meta description element, but that’s all. Keywords won’t hurt, but they will rarely help either, so they are generally not worth the effort.

Some search engines use the contents of the meta description element to describe your site in their search result listings, so if possible, make its contents unique and descriptive for every document.

Uuh. That was too much for me to read.

Ok, then. The ultra-short guide to SEO: add quality content regularly and make sure your site is well-built.




20 Tips for More Efficient Google Searches

Tuesday 17 June 2008 @ 10:17 am

For millions of people Google is an indispensable search tool that they use every day, in all facets of their lives. From work or school, research, to looking up movies and celebrities to news and gossip, Google is the go-to search engine.

Efficient Google Searches

But instead of just typing in a phrase and wading through page after page of results, there are a number of ways to make your searches more efficient.

Some of these are obvious ones, that you probably know about. But others are lesser-known, and others are known but not often used. Use this guide to learn more about, or be reminded of, some of the best ways to get exactly what you’re looking for, and quickly.

  1. Either/or. Google normally searches for pages that contain all the words you type in the search box, but if you want pages that have one term or another (or both), use the OR operator — or use the “|” symbol (pipe symbol) to save you a keystroke. [dumb | little | man]
  2. Quotes. If you want to search for an exact phrase, use quotes. ["dumb little man"] will only find that exact phrase. [dumb "little man"] will find pages that contain the word dumb and the exact phrase “little man”.
  3. Not. If you don’t want a term or phrase, use the “-” symbol. [-dumb little man] will return pages that contain “little” and “man” but that don’t contain “dumb”.
  4. Similar terms. Use the “~” symbol to return similar terms. [~dumb little man -dumb] will get you pages that contain “funny little man” and “stupid little man” but not “dumb little man”.
  5. Wildcard. The “*” symbol is a wildcard. This is useful if you’re trying to find the lyrics to a song, but can’t remember the exact lyrics. [can't * me love lyrics] will return the Beatles song you’re looking for. It’s also useful for finding stuff only in certain domains, such as
    educational information: ["dumb little man" research *.edu].
  6. Advanced search. If you can’t remember any of these operators, you can always use Google’s advanced search.
  7. Definitions. Use the “define:” operator to get a quick definition. [define:dumb] will give you a whole host of definitions from different sources, with links.
  8. Calculator. One of the handiest uses of Google, type in a quick calculation in the search box and get an answer. It’s faster than calling up your computer’s calculator in most cases. Use the +, -, *, / symbols and parentheses to do a simple equation.
  9. Numrange. This little-known feature searches for a range of numbers. For example, ["best books 2002..2007] will return lists of best books for each of the years from 2002 to 2007 (note the two periods between the two numbers).
  10. Site-specific. Use the “site:” operator to search only within a certain website. [site:dumblittleman.com leo] will search for the term “leo” only within this blog.
  11. Backlinks. The “link:” operator will find pages that link to a specific URL. You can use this not only for a main URL but even to a specific page. Not all links to an URL are listed, however.
  12. Vertical search. Instead of searching for a term across all pages on the web, search within a specialized field. Google has a number of specific searches, allowing you to search within blogs, news, books, and much more:
  13. Movies. Use the “movie:” operator to search for a movie title along with either a zip code or U.S. city and state to get a list of movie theaters in the area and show times.
  14. Music. The “music:” operator returns content related to music only.
  15. Unit converter. Use Google for a quick conversion, from yards to meters for example, or different currency: [12 meters in yards]
  16. Types of numbers: Google algorithms can recognize patterns in numbers you enter, so you can search for:
    • Telephone area codes
    • Vehicle ID number (US only)
    • Federal Communications Commission (FCC) equipment numbers (US only)
    • UPC codes
    • Federal Aviation Administration (FAA) airplane registration number (US only)
    • Patent numbers (US only)
    • Even stock quotes (using the stock symbol) or a weather forecast regarding the next five days
  17. File types. If you just want to search for .PDF files, or Word documents, or Excel spreadsheets, for example, use the “filetype:” operator.
  18. Location of term. By default, Google searches for your term throughout a web page. But if you just want it to search certain locations, you can use operators such as “inurl:”, “intitle:”, “intext:”, and “inanchor:”. Those search for a term only within the URL, the title,
    the body text, and the anchor text (the text used to describe a link).
  19. Cached pages. Looking for a version of a page the Google stores on its own servers? This can help with outdated or update pages. Use the “cached:” operator.
  20. Answer to life, the universe, and everything. Search for that phrase, in lower case, and Google will give you the answer.



Tips to Optimize Windows XP

Tuesday 27 May 2008 @ 11:05 am

windows-xpThere are lot of people still using XP and they still look out for solutions to their problems. So here is the list which can be helpful to you if you are an XP user.

Turning off Unwanted Services:

Many of the unwanted services were turned on by default which in turn uses our resources; For boosting up low end systems, themes services can be turned off thus using the classic version of Windows XP.

Cleaning Temporary files:

Although you organize folders and files in a great way, it is recommended to clean areas like Recycle Bin, Temporary Internet Files, Old System restore data, Prefetch data etc. Since its hard to check out each folder I recommend CCleaner, a powerful utility to remove unwanted files and junks from your computer.

Remove Unwanted Programs:

Managing installed programs is very much important as users do not concentrate on it. Remove unused programs from Control panel regularly, including unused windows components like IIS, Fax, Phone dialer etc. Using software like File Shredder can help in deleting non removable programs.

Security:

Compromising performance for security is like killing yourself for your safety. So try to use a light Anti-virus program which would not degrade the performance of the computer. Some of the good examples are AVAST, AVG and Kaspersky. Regular backups are advisory.

Tweaks and Hacks:

Whether its registry hack or a tweak, TWEAKXP has some good lists of Performance tweaks which will boost up and optimize your system.

Updating Programs and Drivers:

Updating your Anti-virus with latest definitions including updated drivers and patches for windows will prevent security risks and key holes thus keeping you on the safer side.

Use NTFS file system:

It is advisory to use NTFS file system which has various advantages compared to old FAT or FAT 32. NTFS provides increased security, compression including encryption. But if you are using multi-operating systems do not use this file system.

Disabling Error reporting:

One of the annoying features in Windows XP is whenever an error is logged, it will ask you to send to Microsoft. You can turn of this feature by right clicking MY COMPUTER selecting Properties > Advanced Tab and click Error Reporting. Now Disable Error reporting unchecking it.

Managing Startups:

Some softwares install themselves in the startups without user knowledge, opening every time the system is started. These startup programs are the major cause of degrading your performance. To manage system startup programs go to start > Run and type MSCONFIG. Under the Startup tab, uncheck the unwanted programs and reboot. Programs like Real Player, Yahoo! Messenger, Google Talk, Winamp etc can be removed unless you don’t need it there.

Defragmentation of Drives:

Defragmentation helps in physical re-organization of files in drives. Defragmentation not only helps to Run Windows faster but it also helps the lifespan of your hard drive. Hope you like these tips; do encourage me to write more by telling your suggestions or leaving a comment.




You Should Learn 10 Programming Languages

Friday 23 May 2008 @ 10:59 am

Among thousands, 10 programming languages stand out for their job marketability and wide use. If you’re looking to boost your career or learn something new, start here.

Knowing a handful of programming languages is seen by many as a harbor in a job market storm, solid skills that will be marketable as long as the languages are.

Yet, there is beauty in numbers. While there may be developers who have had riches heaped on them by knowing the right programming language at the right time in the right place, most longtime coders will tell you that periodically learning a new language is an essential part of being a good and successful Web developer.

By picking the brains of Web developers and IT recruiters, We selected 10 programming languages that are a bonus for developers to add to their resumes. Even better, theyre great jumping-off points, with loads of job opportunities for younger recruits.

  1. PHP
    • What it is: An open-source, interpretive, server-side, cross-platform, HTML scripting language, especially well-suited for Web development as it can be embedded into HTML pages.
    • Why you should learn it: Its particularly widely used. “High-speed scripting with caching, augmented with compiled code plug-ins (such as can be done with Perl and PHP) is where the future is. Building Web apps from scratch using C or COBOL is going the way of the dinosaur,” said Duquaine.
    • Job availabilities: 1,152*
  2. C#
    • What it is: A general-purpose, compiled, object-oriented programming language developed by Microsoft as part of its .NET initiative, it evolved from C and C++
    • Why you should learn it: Its an essential part of the .Net framework. “Learning C#, which is just Java with a different name plate, is critical if you heavily use Microsoft,” said Duquaine.
    • Job availabilities: 5,111
  3. AJAX (Asynchronous JavaScript and XML)
    • What it is: Though technically not a programming language, AJAX uses XHTML or HTML, JavaScript and XML to create interactive Web applications.
    • Why you should learn it: Ever since Google Maps put AJAX, well, on the map, the requests for AJAX-knowledgeable pros went through the roof. “The demand for AJAX knowledge is huge because its so damned hard to learn,” said Huckaby. Of note, Microsoft announced recently plans to release a tool named Atlas that will make AJAX easier to implement. “If Microsofts Atlas tool is successful, it would bring the extreme complexity and annoyance of AJAX to the average worker,” said Huckaby.
    • Job availabilities : 1,106
  4. JavaScript
    • What it is: Not to be confused with Java, JavaScript is a an object-oriented, scripting programming language that runs in the Web browser on the client side. Its smaller than Java, with a simplified set of commands, easier to code and doesnt have to be compiled.
    • Why you should learn it: Embedded into HTML, its used in millions of Web pages to validate forms, create cookies, detect browsers and improve the design. With its simplicity to learn as well as wide use, its considered a great bang for your educational buck.
    • Job availabilities: 4,406
  5. Perl
    • What it is: Perl is an open-source, cross-platform, server-side interpretive programming language used extensively to process text through CGI programs.
    • Why you should learn it: Perls power in processing of piles of text has made it very popular and widely used to write Web server programs for a range of tasks. “Learning some form of scripting language, such as Perl or PHP is critical if you are doing Web apps,” said Duquaine.
    • Job availabilities: 4,810
  6. C
    • What it is: A standardized, general-purpose programming language, its one of the most pervasive languages and the basis for several others (such as C++).
    • Why you should learn it: “Learning C is crucial. Once you learn C, making the jump to Java or C# is fairly easy, because a lot of the syntax is common. Also, a lot of C syntax is used in scripting languages,” said Duquaine.
    • Job availabilities: 6,164, including all derivatives
  7. Ruby and Ruby on Rails
    • What they are: Ruby is a dynamic, object-oriented, open-source programming language; Ruby on Rails is an open-source Web application framework written in Ruby that closely follows the MVC (Model-View-Controller) architecture.
    • Why you should learn it: With a focus on simplicity, productivity and letting the computers do the work, in a few years, its usage has spread quickly. As a bonus, many find it easy to learn.
    • Job availabilities : 210 and 54, respectively
  8. Java
    • What it is: An object-oriented programming language developed by James Gosling and colleagues at Sun Microsystems in the early 1990s.
    • Why you should learn it: Hailed by many developers as a “beautiful” language, it is central to the non-.Net programming experience. “Learning Java is critical if you are non-Microsoft,” said Duquaine.
    • Job availabilities: 14,408
  9. Python
    • What it is: An interpreted, dynamically object-oriented, open-source programming language that utilizes automatic memory management.
    • Why you should learn it: Designed to be a highly readable, minimalist language, many say it has a sense of humor (spam and eggs, rather than foo and bar), Python is used extensively by Google as well as in academia because of its syntactic simplicity.
    • Job availabilities: 811
  10. VB.Net (Visual Basic .Net)
    • What it is: An object-oriented language implemented on Microsofts .Net framework.
    • Why you should learn it: Most argue that VB.Net is currently more popular than ever and one of the only “must-learns.” “It is currently dominating in adoption and that is where all the work is,” said Huckaby.
    • Job availabilities: 2,090



Top 10 Search Engines

Wednesday 21 May 2008 @ 3:37 pm

Top Search EnginesBelow is a listing of the top 10 search engines in the United States. These listings are displayed in ranking order for the top 5 search engines and alphabetical order for 2nd tier search engines along with links to their FAQ’s and Add/Submit URI pages.

Search Engine Statistics - What Market Share?

According to 2008:

  1. Google has the largest market share of U.S. based web searches at 67%
    • 2008 February 66.44%
    • 2008 January 65.98%
    • 2007 December 65.98%
    • 2007 November 65.10%
    • 2007 October 64.49%
    • 2007 September 63.55%
    • 2006 October 60.94%
  2. Yahoo is second with a market share of 20%
    • 2008 February 20.59%
    • 2008 January 20.94%
    • 2007 December 20.88%
    • 2007 November 21.21%
    • 2007 October 21.65%
    • 2007 September 22.55%
    • 2006 October 22.34%
  3. MSN is third with a market share of 7%
    • 2008 February 6.95%
    • 2008 January 6.90%
    • 2007 December 7.04%
    • 2007 November 7.09%
    • 2007 October 7.42%
    • 2007 September 7.83%
    • 2006 October 10.72%
  4. Ask is fourth with a market share of 4%
    • 2008 February 4.16%
    • 2008 January 4.21%
    • 2007 December 4.14%
    • 2007 November 4.63%
    • 2007 October 4.76%
    • 2007 September 4.32%
    • 2006 October 4.34%

Top 5 Search Engines in the United States (The Majors) by Rank

  1. Google - Free Submit: http://www.google.com/addurl/
  2. Yahoo! Search - Free Submit: http://submit.search.yahoo.com/free/request/
  3. MSN Live Search - Free Submit: http://search.msn.com/docs/submit.aspx
  4. AOL Search - Submit: https://adwords.google.com/select/
  5. Ask - FAQs: http://static.wc.ask.com/en/docs/about/webmasters.shtml#18

Alphabetical Listing of 2nd Tier Search Engines

  1. AltaVista - Free Submit: http://submit.search.yahoo.com/free/request/
  2. Fast (AlltheWeb.com) - Submit: http://submit.search.yahoo.com/free/request/
  3. Gigablast - Free Submit: http://www.gigablast.com/addurl
  4. Netscape Search - Free Submit: http://www.google.com/addurl/
  5. Snap.com - Submit: http://www.snap.com/