September 2005


Did you know that the most powerful software and web applications are all free? Yes that’s right, just about every commercial software or web application you know of is most likely available as a free Open Source project/clone.

“Why haven’t I heard of this Open Source stuff???” There is good reason for not seeing advertising for open source software in ppc search engines, if you had a free product, you would not be likely to pay for top advertising spots, or even worry about your search engine placement. Open Source projects rely on word of mouth and the fact that it’s free, well you all know that ‘FREE’ is the most viral form of advertising. Also, the open source community is a tight group of developers and programmers who often exchange links, so if you don’t know the right places to look, you can spend days and weeks searching out the top open source applications.

Don’t worry though, this article has a list of the top open source applications, as well as links to the top open source search engines.

“But I always thought you had to be a techno-geek to install or use these applications?” This is the way it used to be just a few years ago, but times have rapidly changed in the Open Source world, and the focus is now on more userfriendly, step by step installations and control panels, so you don’t need to know much of anything to get these apps up and running.

Now, the only downfall of an Open Source application compared to a Commercial application… NO DIRECT SUPPORT. However, as in all web based communities, there are hundreds of thousands of people using these applications, and there are always community support forums where you can get help from veteran users. Community Support can often be ten times better than the commercial support a Commercial company may offer.

“So how do I find these Open Source Applications?” Luckily for you, I have been working in this field for several years now, and would like to save you the time of searching to find the best places to look.

The following list is also available at http://www.webdesignhq.com/portal/ as well as many other links/resources dealing with the Open Source Community.

The mother of all open source application search engines is SourceForge.net where most if not all of the top projects are located:

http://www.sourceforge.net

Here is a list of the top Open Source Web Applications:

CMS - Portals

CMS - Blogs

CMS - e-Commerce

CMS - Groupware

CMS - Forums

CMS - e-Learning

CMS - Photo Albums

CMS - KnowledgeBase

CMS - Customer Support

As you can see, there are many choices so the thing to do next is a bit of research by taking a look through a few and finding one that suits your exact needs. There is really no wrong choice, it’s all a matter of preferences and the features that you are looking for.

Happy Open Sourcing!

Copyright 2004 by Jared Alberghini - http://www.WebDesignHQ.com

About The Author

Copyright 2004 by Jared Alberghini - http://www.WebDesignHQ.com

You are free to re-distribute this article in it’s entirety as long as the copyright notice stays intact.

I often get asked, “How do I improve my site’s performance in the search engine’s.” or “I have a small budget, how can I compete with the larger sites.” It can seem daunting when you type in your key search term and you see Google returning 200,000 results! Over the course of this article I am going to teach you some techniques that you can use to improve your sites ranking in the major search engines. These are not in any particular order but you should try and cover all of these if you want to perform well.

Good content with your keywords

Most people use the internet to gather information, so accordingly, the search engines put a premium on good content. If you want the search engines to really start appreciating your site, you need to have lots of good, and more importantly, fresh content. Update your site regularly with new articles, news stories etc. Then make sure you promote this new content. Submit these articles to other websites with a teaser that then links back to your website. If you can get “authority” sites to link to your articles this will raise your sites profile in the eyes of the search engine.

Clean up your code

This is one step that is often over looked but it is more important that many people realize. The neater your html code is, the easier it is for the spiders to crawl through your site and therefore, the more willing they are to search for your links and crawl through those pages as well. The more pages you have indexed, the more chances you have of attracting someone to your site.

How do I go about cleaning up my code I hear you ask? There are some simple things you can do to quickly improve the readability of your code.

Put all JavaScript code in a separate .js file and include it in the header of your page.

<script language="JavaScript" src="/scripts/javascript_code.js"></script>

Use .css style sheets for all formatting and as much of the page layout as possible. This step alone will half the amount of code in your pages. Most of the code in an html document is table alignment code. If you are not yet familiar then you can find some good tutorials here.

Optimize for your keywords

Site down with a sheet of paper and write down a list of 20 keyword phrases that define what your site is about. These will be the phrases that you will want your visitors to be searching for to get to your site. Once you have your list then try and integrate as many of these phrases into your website copy as possible. Make sure however that the readability of a site’s content is not compromised as this will often be seen as spam. Try and use these keywords in your title’s and in the first couple of paragraphs as this is the part of the page the search engine will pay the most attention to.

Unique titles for all your pages

Search engines pay a lot of attention to the content in a page’s title and this should describe exactly what the page is about. As mentioned above, try and include your keywords in the page title and then give the page a heading title that matches or is very similar to the page title and include it in a <H1></H1>. If you don’t like the appearance of the text within a H1 you can format the text style within your css document.

External Links

All the major search engines place a high premium on this and therefore so should you! Actively seek good links from websites in the same interest area as your site. The more important the site the better as search engines will place a higher value for a link from an “authority” site than from for a link from a less popular site. Make sure that in your link text you include your keywords rather than just the name of your site. For example, if your site is about sauce pans, put “Buy Sauce Pans” instead of “www.saucepanheaven.com“.

Create search engine friendly url’s

This can have a huge effect on the number of pages of your site that will be indexed. A lot of search engines steer away from indexing pages that have a lot of parameters. We’ve all seen them. www.somesite.com/article.php?id=32&category=2 and such things. Some search engines will stop when they see a ? and therefore it won’t be able to see all the content in the site.

One way around this problem is through a method called mod_rewrite. I am not going to cover mod_rewrite in this article as it is too large a topic to cover within the scope of this article but a lot of articles can be found that teach you how do this. To summarise, it is a server side tool that converts the above url to something like www.somesite.com/article/32/2. This page can now be indexed along with every other article in the site. I would highly recommend looking into this as in my experience it has given me the best return.

Conclusion

If you follow these steps you’ll quickly start to see your website popularity grow. Sometimes you have to go through trial and error, especially when choosing keywords but the effort you put in will be returned as the search engines start to pick up on your improvements and start directing more traffic to you. We’ll be covering a lot of these topics in much greater detail in the coming articles so be sure to check back for more valuable advice.

About The Author

Steve Ashton is programmer and web developer. He runs 2 popular websites http://www.webdevshed.com and http://www.programmertutorials.com.

I often wonder how serious people are when it comes to their websites. I thought that most everyone knew that the phrase “Build it and they will come” no longer applies on the internet but I’m not sure how many people really believe it.

I look at sites everyday as part of my sales strategy and I can’t tell you how many of them violate the obvious elements of good website design and submission.

What even amazes me more is that they can’t figure out why they don’t get sales or visitors.

Do yourself a favor and attempt to apply the following tactics to your site. They won’t cost you a thing except a little time and effort to apply them.

** About Page **

Always include an about page on your site. Don’t be afraid to tell your story and let people know who you are and how you arrived where you are.

Opening yourself up and letting people know who you are adds an element of trust. It exposes your personality, capabilities and knowledge. All factors that let your readers know you are genuine.

** Include all your contact information **

Let your visitors know that you are available. Encourage questions, email and phone calls. Include your name, address and phone number. If you can, it’s also helpful to place a photo on your site. Familiarity is key and it can add one more link in the ladder of trust.

** Headlines **

Create compelling headlines. Peak the interest of your readers. This is your chance to grab their attention and incite them to read on.

Don’t be flashy or obnoxious. Simply tell it like it is. Capture their attention with descriptive, informative words. Get your readers involved in your information. Ask questions. Make them think.

You might be surprised to learn that just one compelling headline can bring instant sales almost overnight.

**Create your meta tags **

This is the first place I look when people tell me they aren’t getting visitors. I often see sites that have no title or description tag or the tags don’t follow the suggested guidelines for proper setup.

Here’s an example of how the tags might look for a site that sells hummingbird feeders:

Hummingbird Feeders: Shop For Hummingbird Feeders Online

You will need to do this for each page of your site. Each page needs to have it’s own set of tags. I also recommend focusing on one keyword per page, two at the very most. Too many keywords can confuse what your page is about.

Always make sure that your keywords are scattered throughout your text as well, however don’t sacrifice good content for nonsense. Your text should be easy to read and should not sound redundant. Make your pages at least 250 words.

** Testimonials**

Solicit feedback from buyers you’ve had. Ask them to write a small testimonial that you can place on your site. This goes a long way to help convince your visitor that your products and services are sound.

** Linking **

Reciprocal linking is a common and effective tactic for obtaining search engine status and page rank but it’s also the most time consuming. It requires making contacts, following up with contacts and updating your website.

While reciprocal linking is an excellent way of establishing page rank it’s not the only way. Page rank can also be established by submitting your site to directories, writing articles and setting up blogs.

Don’t underestimate the power of website links. Take the extra few hours a day and get your site noticed.

** Offer Guarantees *

Always offer your products with a guarantee. This is often the extra boost a buyer needs to make the purchase.

A good site will offer 100%, no-questions-asked, money-back guarantees. People rarely take advantage of such guarantees but it’s this statement that may tip the scales in your favor.

** Submit Your Site **

Last, but not least, don’t neglect to submit your site to the search engines. Many of them are no longer free but the fees are nominal and worth the expense. Google still offers a free submit and it’s easy, simply type in your URL address, however make sure your meta tags include a title and description tag first.

For the free search engines I don’t recommend using automated submissions. Submit them yourself taking care to compose accurate titles descriptions and keywords.

About The Author

Elizabeth McGee has spent 20 years in the service and support industry. She has moved her expertise to the world wide web helping businesses find trusted tools, enhance customer service, build confidence and increase sales. You can visit Elizabeth’s sites at:
http://www.pro-marketing-online.com
http://www.homenotion.com

So youve decided to take the plunge. You know that stock photography is an effective tool for your web business, but where do you start and how do you choose the stock photo thats right for you. Here are some tips to get you started so that you are happy with your choice.

  1. Decide where you want to purchase your stock photography. There are large agencies and small independent photographers. While the agencies will have more to chose from and sometimes lower prices an independent photographer will offer more personalized service and opportunities for you to have custom work done, if that is what you need.
  2. Dont go in expecting to find an exact image that is in your head, a large agency or an independent photographer will not have the man in a blue suit, holding a cell phone, next to the white blinds nor will they have the beach landscape with the green and white striped chair. You need to have a clear idea in your head of the message that you want to convey and search for an image that creates the message that you want. (If you want something specific youll have to pay for a photography to shoot to your specifications.)
  3. Make use of a free comp image to try out the image and make sure that it fits with your project or web design. Most stock agencies offer some sort of free comp image for position only so that you can make sure that you like what youre going to buy. Please use this option, if available, and make sure that the image is going to convey the message that you want it to.
  4. Pay for what you need. Dont pay for a 300 dpi image for a web design, and dont buy a 72 dpi image for something you intend to print. Make sure that the agency or independent photographer offers at least a printable and a web version of every photo. Buy only the size image that you need for your job.
  5. How much do you want to pay and for how long to you want to use the image? This comes down to royalty free or rights managed. If you dont want the chance of your competitor using the same image or you plan to use the image on or for a product you may want to look at rights managed. This will cost you more but it will lessen the chance of your competitor using the same image. Keep in mind that if youre using the image for an extended period of time you will have to pay for the use of the image every year or so. If you dont feel that your competitor using the same image is a threat or you dont have the money for rights managed photos look into royalty free photography. This product is also great if youre planning to use the images for an extended period of time.

I hope these tips help to get you started in choosing stock photography for your web site, business, or product. Remember to shop around and look for what you need. Also if an agency or photographer doesnt have what you need ask, you may be surprised how helpful they can be even for specific requests. If you have some specific questions please visit my Photography Forum at: http://kellypaalphotography.com/v-web/bulletin/bb/index.php and post your question there.

About The Author

Copyright 2004 Kelly Paal

Kelly Paal is a Freelance Nature and Landscape Photographer, exhibiting nationally and internationally. Recently she started her own business Kelly Paal Photography (www.kellypaalphotography.com). She has an educational background in photography, business, and commercial art. She enjoys applying graphic design and photography principles to her web design.

Introduction

Cookies have long been used in PHP scripts, and are a very useful function. But what exactly are cookies? Maybe you have used then, but you still don’t know exactly what they are. Or you are completely new to cookies? It doesn’t matter, because in this tutorial I will show you exactly what cookies are, and what they are used for.

Cookies in a nutshell

Cookies are small pieces of information that is stored on the computer of your visitors. Each browser handles it differently, but most simply store the information in a small text file. Internet Explorer has a special folder, which can be found in your C:\Windows or C:\Windows\System32 folder. You can delete all your cookies, by going to the Options and ‘Clearing Cookies’ or deleting them by hand. I don’t recommend this though.

Almost every website uses cookies. If you go to Amazon.com, you will get several cookies. The same goes for CNN.com. Even Google uses cookies! They are extremely useful for (temporarily) storing information. For example, if you have a login system for your visitors, you could save their userid and password (very heavily encrypted!) so they are automatically logged in the next time they visit your website.

Or you could remember their last visit, and highlight everything that is new. And that’s just the beginning.

Using Cookies

Using cookies in PHP is extremely easy. In fact, there is nothing to it, because of PHP’s inbuilt setcookie() function (http://php.net/setcookie). Have a look at the documentation, and then try the following example:

<?php

// Set a cookie
// Cookie name: name
// Cookie value: Dennis Pallett
// Cookie expire: in 24 hours

setcookie ('name', 'Dennis Pallett', time() + (60*60*24));
?>

If you run the code above, then a cookie will be set. That’s all. The cookie name and value are pretty obvious. The cookie expire is when the cookie expires, or goes away. Simply use the time() function (http://php.net/time) and add the number of seconds you want to have the cookie available to it. In the example I added 60*60*24=86400 seconds, or 24 hours.

If you have looked at the documentation, you probably noticed there are additional arguments. As the documentation says, the path is to limit a cookie to a specific path on your web server. This is often used when you run multiple instances of the same script in separate directories. You can safely omit this argument when it doesn’t matter if the cookie is available site-wide.

There is also the domain argument. This can be used to limit the cookie to a specific sub-domain, e.g. test.example.com. You can also safely ignore this argument, or set it to .example.com (note the beginning period, this is essential!).

Finally, there is also the secure argument. This argument is only used for cookies that are sent over a secure HTTPS connection (SSL). Just ignore this argument, unless you’re working with a secure connection.

One thing that should be mentioned is that cookies must be set, before you display any HTML/text. It’s probably best if you turn on output buffering by putting ob_start() (http://php.net/ob_start) at the top of your page.

Now that you have set a cookie, you probably want to retrieve the value as well. After all, that is the whole point of using cookies. Thankfully, as PHP is ever so easy, you can retrieve the same way as you retrieve a GET value. See the following example to retrieve the value of the previous example:

<?php
echo 'Your name is ' . $_COOKIE['name'];
?>

This should print “Your name is Dennis Pallett”. There’s nothing more to it. It’s just that easy!

Finally, one thing you probably want to do as well is remove cookies. This is as easy as setting them. Simply change the value of the cookie to FALSE, and change the expire date to -3000 seconds. See the following example:

<?php
setcookie ('name', FALSE, time()-1000);
?>

Checking if cookies are enabled

Before you start using cookies, you must make sure your visitor has cookies enabled. This can be done with a simply PHP checking script. Unfortunately, the PHP page needs to reload to check for cookies. But this can be done very transparently, and your visitor should hardly notice anything.

The following example will first set a test cookie, then reload the page, and finally check whether cookies are enabled.

<?php
error_reporting (E_ALL ^ E_WARNING ^ E_NOTICE);

// Check if cookie has been set or not
if ($_GET['set'] != 'yes') {
	// Set cookie
	setcookie ('test', 'test', time() + 60);

	// Reload page
	header ("Location: checkcookies.php?set=yes");
} else {
	// Check if cookie exists
	if (!empty($_COOKIE['test'])) {
		echo "Cookies are enabled on your browser";
	} else {
		echo "Cookies are <b>NOT</b> enabled on your browser";
	}
}
?>

Run the code above, and see what the output is. Check if cookies are enabled in your browser. If they’re not enabled, then you can enable them by going to your browser’s options. Unfortunately, this is different from each browser, so I can’t give you exact instructions. But Google can.

Storing Arrays

One feature of cookies that is often missed in articles is the ability to story arrays. Cookies can be used to store multi-dimensional arrays, which can be extremely useful to store data.

Consider the following code;

<?php
setcookie ("name[first]", "Dennis", time() + (60*60*24));
setcookie ("name[last]", "Pallett", time() + (60*60*24));
?>

You can then display these two cookies using the following code:

<?php
echo "First Name: " . $_COOKIE['name']['first'];
echo "<br />Last Name: " . $_COOKIE['name']['last'];
?>

The cookie ‘name’ is an array, and has multiple values. You can even go deeper and have multi-dimensional arrays, e.g. $_COOKIE[’name’][’test’][’something’][’value’]. You could store whole arrays of data in cookies. But beware that you don’t store too much data, there are certain size limits to cookies.

In Conclusion…

Cookies are really versatile, and can be used for a lot of different purposes. Many websites use cookies, and cookies can really make your website more personalized. Using cookies in PHP isn’t hard at all, and you should be able to use them without any difficulty.

Before actively using cookies in your website, you must check whether the visitor has enabled them in their browser. If they don’t have cookies enabled, you must either redirect to a non-cookies version of your website, or you can make sure your website also works without cookies.

You can download a sample script at http://www.phpit.net/demo/php%20and%20cookies/logger.zip, where cookies are used in a (somewhat) practical way. In this example, there is a logging module, called log.php and a display module, called history.php. Basically, you include the log.php in other PHP pages, and then you can view history.php to lookup all the pages you have viewed and how often. The example uses arrays, and stores them in cookies.

The examples in this article can be downloaded at http://www.phpit.net/demo/php%20and%20cookies/examples.zip.

If you have a really unique practical way of using cookies, please let me know at dennis [AT] nocertainty [DOT] com. I’d really like to hear about interesting ways of using cookies.

About The Author

Dennis Pallett is a young tech writer, with much experience in ASP, PHP and other web technologies. He enjoys writing, and has written several articles and tutorials. To find more of his work, look at his websites at http://www.phpit.net, http://www.aspit.net and http://www.ezfaqs.com

Uniquely built web sites can create unique issues when promoting your site on the search engines. From a basic 3 page brochure site, to a corporate site with hundreds of dynamically generated pages, every web site needs to have certain design aspects in order to achieve the full effects of an SEO campaign. Below are a few points to take into consideration when building or updating your web site.

1. Size Matters.

The size of a web site can have a huge impact on search engine rankings. Search engines love content, so if you have only a few pages to your site and your competitors have dozens, it’s virtually impossible to see a top page ranking for your site. In some cases it may be difficult to present several pages of information about your business or products, so you may need to think about adding free resources for visitors. It will help in broadening the scope of your web site (which search engines like) as well as keep visitors on your site longer, thus possibly resulting in more sales.

2. Graphics-Based Web Sites.

While web sites that offer the visitor a more esthetically-pleasing experience may seem like the best choice for someone searching for your product, they are the most difficult to optimize. Since search engine robots cannot read text within graphics or animation, what they see may be just a small amount of text. And if we learned anything from point #1, that will not result in top rankings. If you really must offer the visitor a site jam-packed with graphics, or even a Flash experience, consider creating an html-based side of your site that is also available to visitors. This site will be much easier to promote on the search engines and your new found visitors will also have to option to jump over to the nicer looking part of your site.

3. Dynamic Web Pages.

If most of your web site is generated by a large database (such as a large book dealer with stock that is changing by the minute) you may find that some of your pages do not get indexed by major search engines. If you look at the URL of these pages you may find that they are extremely long and have characters such as ?, #, &, %, or = along with huge amounts of seemingly random numbers or letters. Since these pages are automatically generated by the database as needed, the search engines have a tough time keeping them up to date and relevant for search engine users.

One way to combat this problem is to offer a search engine friendly site map listing all your static pages just to let them know that yes, you do have permanent content on your site. A good internal linking system also helps in this case because if search engines see links going to and from these dynamic pages, they may index and assign them decent PageRank values. The link popularity of your site may carry more weight in this case as well, so if you can’t offer as much static content as your competition, make sure you have an aggressive link campaign on the go.

4. Proper Use of HTML.

There is quite a bit of sub-par web design software out there. Word processors usually have a way to create HTML documents which can be easily uploaded to a site via ftp. However, in many cases the code that the search engine robots see is mostly lines and lines of font and size formatting, not actual relevant content. The more efficiently written web sites usually achieve higher rankings. Our choice for web design software is Macromedia Dreamweaver, as it is an industry standard. It also makes using CSS (Cascading Style Sheets) a breeze, which can drastically cut down on the amount of text formatting in HTML code.

And there are some no brainers too. Web sites with abnormal amounts of hyperlinks, bold or italicized text, improper use of heading, ALT, or comment tags can also expect to be thrown to the bottom of the rankings.

5. Choosing a Domain Name.

The golden rule to web development of any kind is to keep your visitors in mind above all else…even search engine optimization. When choosing a domain name, one should pick either your business name (if you are making yourself known by just your name, ie. Chapters or Kleenex brand tissues) or a brief description of your products. Domain names can always help with search engine optimization, as it is another area of your web site that important keywords can appear. Exclude long-winded domains such as www.number-one-best-books-on-earth.com as no one will ever remember it and it will be hard to print on business cards or in print ads.

If you need to change your domain name for any reason, you obviously don’t want to lose your existing rankings. An easy way to do this, and one that is currently supported by most search engines, is the 301 redirect. It allows you to keep your existing rankings for your old domain name, while forwarding visitors of that site to your new one virtually seamlessly.

6. Using Frames.

Just don’t, it’s that simple. Frames are a thing of the 90’s (and in the Internet world that is eons ago) and are not even supported by some search engines. The ones that are able to index your site through frames will most likely frown upon them. Whatever you are trying to accomplish by using frames can usually be done with the help of PHP includes or CSS (Cascading Style Sheets). Some browsers are not frames-compatible, so there’s the danger of some visitors not being able to see your site at all. Bookmarking of individual pages within a frame becomes difficult without lengthly scripts being written.

7. Update Your Information.

Not only does information printed two or three years ago look badly on your organization when it is read by a visitor, it is also looked down upon by search engines. Web sites that continuously update and grow their web sites usually experience higher rankings than stagnant sites. When the trick to SEO is offering visitors the most relevant information, you can bet that the age of web pages is taken into consideration by search engines. Consider creating a section of your site devoted to news within your organization, or have a constantly updated resources area.

Many shortfalls of web sites can easily be attributed to designers who just don’t keep the user or search engines in mind. Search engine algorithms are quickly improving to try and list the most user-friendly sites higher, given that the content and link popularity are there to back it up. So first and foremost, know your target market and make your web site work for them before focusing on search engine optimization. If you build it (properly), they will come.

About The Author

Copyright John Metzler of Abalone Designs, November 2004. This article may be freely distributed if credit is given to the author.

Abalone Designs is a family-run Search Engine Optimization firm in Vancouver, BC, Canada. Visit www.abalone.ca for a free personalized analysis of your web site.

john@abalone.ca

An additional benefit of website accessibility is an improved performance in search engines. The more accessible it is to search engines, the more accurately they can predict what the site’s about, and the higher your site will appear in the rankings.

Not all of the accessibility guidelines will help with your search engine rankings, but there are certainly numerous areas of overlap:

1. ALT descriptions assigned to images

Screen readers, used by many visually impaired web users to surf the web, can’t understand images. As such, to ensure accessibility an alternative description needs to be assigned to every image and the screen reader will read out this alternative, or ALT, description.

Like screen readers, search engines can’t understand images either and won’t take any meaning from them. Many search engines can now index ALT text though, so by assigning ALT text search engines will be able to understand all your images.

2. Text displayed through HTML, not images

Text embedded in images appears pixelated, blurry and often impossible to read for users utilising screen magnifiers. From an accessibility point of view this should therefore be avoided.

Search engines equally can’t read text embedded in images. Well, you can just give the image some ALT text, right? Unfortunately, there’s strong evidence to suggest search engines assign less importance to ALT text than they do to regular text. Why? Spammers. So many webmasters have been stuffing their ALT tags full of keywords and not using them to describe the image. Search engines have cottoned on to this form of spamming (as they eventually do every form of spamming) and have taken appropriate action.

3. Descriptive link text

Visually impaired web users can scan web pages by tabbing from link to link and listening to the content of the link text. As such, the link text in an accessible website must always be descriptive of its destination.

Search engines place a lot of importance on link text too. They assume that link text will be descriptive of its destination and as such examine link text for all links pointing to any page. If all the links pointing to a page about widgets say ‘click here’, search engines can’t gain any information about that page without visiting it. If on the other hand, all the links say, ‘widgets’ then search engines can easily guess what that page is about.

One of the best examples of this in action is for the search term, ‘miserable failure’. So many people have linked to George Bush’s bio using this phrase as the link text, that now when miserable failure is searched for in Google, George Bush’s bio appears top of the search rankings!

4. Website functions with JavaScript disabled

JavaScript is unsupported by about 9% of web users (source: http://www.thecounter.com/stats/2004/November/javas.php), either because they’ve turned it off (for example to prevent pop-up adverts) or because their browser doesn’t support it. Many forms of JavaScript aren’t accessible to web users utilising screen readers.

Search engines can’t understand JavaScript either and will be unable to index any JavaScript-driven content. Perhaps more importantly, they’ll also be unable to follow JavaScript-driven links. You may really like the look of your dropdown menu but search engines won’t if they can’t access certain pages on your site because there aren’t any regular links pointing at them.

5. Alternatives to Flash-based content provided

Flash, like JavaScript, isn’t accessible to many users, including those using screen readers. Equally, search engines can’t access Flash so be sure to provide equivalents.

6. Transcripts available for audio

Hearing impaired users obviously require written equivalents for audio content to be able to access it. Search engines too can’t access this medium, but transcripts provide them with a large amount of text for them to index.

7. Site map provided

Site maps can be a useful tool for visually impaired users as they provide a straightforward list of links to the main pages on the site, without any of the fluff in between.

Site maps are also great for search engines as search engines can instantly index your entire site when they arrive at the site map it. Next to each link you can also provide a short keyword-rich preview of the page. All links should, of course, be made through regular HTML and not through JavaScript (see 4. above).

8. Meaningful page title

When we arrive at web pages the first thing that appears, and the first thing that visually impaired users hear, is the page title. This latter group of web users don’t have the privilege of being able to quickly scan the page to see if it contains the information they’re after, so it’s essential that the page title effectively describes the page content.

If you know anything about search engine optimisation you’ll know that the page title is the most important attribute on the page. If it adequately describes the content of that page then search engines will be able to more accurately guess what that page is about.

9. Headings and sub-headings used

Visually impaired web users can scan web pages by tabbing from heading to heading, in addition to tabbing from link to link (see 3. above). As such, it’s important for accessibility to make sure that headings are correctly marked up by using h1, h2 etc.

Search engines assume that the text contained in heading tags is more important than the rest of the document text, as headings describe the content immediately below them. Make sure you use the heading tags properly and don’t abuse them, as the more text you have contained in heading tags, for example, the less importance search engines assign to them.

10. CSS used for layout

Screen readers can more effectively work through the HTML code of CSS-based sites as there’s a greater ratio of content to code. Websites using CSS for layout can also be made accessible to in-car browsers, WebTV and PDAs. Don’t underestimate the importance of this - in 2008 alone there’ll be an estimated 58 million PDAs sold worldwide (source: http://www.etforecasts.com/pr/pr0603.htm).

Search engines also prefer CSS-based sites and are likely to score them higher in the search rankings because:

  • The code is cleaner and therefore more accessible to search engines
  • Important content can be placed at the top of the HTML document
  • There is a greater density of content compared to coding

Conclusion

With all this overlap between web accessibility and search engine optimisation there’s no excuses for not implementing basic accessibility on to your website. It’ll give you a higher search engine ranking and therefore more site visitors.

About The Author

This article was written by Trenton Moss. He’s crazy about web usability and accessibility - so crazy that he went and started his own web usability and accessibility consultancy ( Webcredible - http://www.webcredible.co.uk ) to help make the Internet a better place for everyone.

Web accessibility has so many benefits that I really do wonder why such a large number of websites have such diabolically bad accessibility. One of the main benefits is increased usability, which according to usability guru, Jakob Nielson, can increase the sales/conversion rate of a website by 100% and traffic by 150%.

At which point you must surely be asking, “So if I make my website accessible its usability will increase and I’ll make more money out of it?”. Well, not quite. An accessible website is not automatically more usable but there are many areas of overlap:

1. Descriptive link text

Visually impaired web users can scan web pages by tabbing from link to link and listening to the content of the link text. As such, the link text in an accessible website must always be descriptive of its destination.

Equally, regularly sighted web users don’t read web pages word-for-word, but scan them looking for the information they’re after.

Link text such as ‘Click here’ has poor accessibility and usability as both regularly sighted and visually impaired web users scanning

the paragraph will take no meaning from this link text by itself. Link text that effectively describes its destination is far easier to scan and you can understand the destination of the link without having to read its surrounding words.

2. Prompt text assigned to form input

In order to make forms accessible we need to assign the prompt text to its form item. THis is especially useful when done with checkboxes and radioboxes, as the text becomes clickable too. Checkboxes and radioboxes are small and pernickety for even the steadiest of hands so by increasing the clickable region everyone benefits.

3. Large chunks of information divided up

There are a number of techniques that can be taken to increase the usability for visually impaired users, who have to listen to the information on each page and try to remember it. By structuring information into small, manageable groups, enhanced usability for these users can be achieved.

Methods to accomplish this can include using sub-headings to break up body content, grouping form items with the fieldset command and using lists. Breaking down groups of information is obviously highly useful for sighted web users too, as it greatly enhances our ability to scan the screen quickly.

4. Site map provided

Site maps can be a useful accessibility tool for visually impaired users as they provide a straightforward list of links to the main pages on the site, without any of the fluff in between. Site maps are of course useful for everyone as they provide us with a way of finding pages quickly and help us visualise the structure of the website.

5. Simple and easy language

>From an accessibility point of view, this one’s important for people with reading and/or cognitive disabilities and site visitors who’s first language isn’t the one you’re writing in. From a usability point of view, well, it helps everyone. Reading from computer screens is tiring for the eyes and about 25% slower than reading from paper. As such, the easier the style of writing the easier it is for site visitors to absorb your words of wisdom. Wherever possible shorten your sentences. Use, ‘apply’ instead of ‘make an application’ or ‘use’ instead of ‘make use of’.

6. Consistent navigation

Having consistent navigation across pages is also important for maximising accessibility to people with reading and/or cognitive disabilities, but again everyone benefits. Each time you visit a new website it takes you a few seconds to adjust to the unique layout and user interface of that page. Well imagine if you had to do that every time you follow a link to a new page!

By having a consistent interface across a website we can instantly locate the navigation and page content without having to look around for it. In reality, most sites do have consistent navigation across most pages. The main culprit for falling foul of this guideline is the homepage, which some websites structure quite differently to the rest of the site. By having a consistent interface across the entire website we can instantly locate the page content without having to look around for it.

7. No unannounced pop-ups

For web users utilising screen readers pop-ups can be a real accessibility nuisance. Screen readers read out the content of whichever window is on top of the others. Pop-ups display over the top of the main website so will always be read out first. For visually impaired users this can be frustrating as they may not realise that what they’re hearing isn’t the ‘real’ website.

So, pop-ups are bad for accessibility. As for usability, well I’m sure you hate pop-ups as much as I do. Many toolbars, such as the Google toolbar, now come packaged with a pop-up blocker so allow you to surf the web without the irritation of new windows popping up.

8. CSS used for layout

CSS-based sites are generally have a greater ratio of content to HTML code so are more accessible to screen readers and search engines. Websites using CSS for layout can also be made accessible to in-car browsers, WebTV and PDAs. Don’t underestimate the importance of this - in 2008 alone there’ll be an estimated 58 million PDAs sold worldwide (source: http://www.etforecasts.com/pr/pr0603.htm).

As well as improved accessibility, CSS-based websites have one large usability benefit: increased download speed. Broadband isn’t as widespread as you may think. In the UK for example, just one in four web users are hooked up to broadband (source: http://www.statistics.gov.uk/pdfdir/intc0504.pdf) so improving the download speed of your web pages could provide a great usability advantage over your competitors.

9. Transcripts available for audio

One group of web users with special accessibility needs that doesn’t get much press is hearing impaired users, who need written equivalents for audio content. Providing transcripts is in fact highly beneficial to all users. Many of your site visitors probably can’t be bothered to wait for your 3Mb audio file to download and start playing. They may prefer just a quick outline of what’s contained in the audio content.

By providing a transcript, broken up by sub-headings and with the key terms highlighted, non-disabled site visitors can skim through it and get a general idea of the content. They can then make a more informed decision about if they want to wait for the 3Mb audio file to download.

10. Screen flickering and movement avoided

Some epileptic web users must be careful to avoid screen flicker of between 2 and 55 Hz. Web users with reading and/or cognitive disabilities and those using screen magnifiers will struggle to keep up with scrolling text (if you do have scrolling text be sure to provide a mechanism to stop it).

In addition to being a bad idea for accessibility, neither flickering nor scrolling text are good for usability either. The former can be distracting when you’re trying to read something and you see flashing out the corner of your eye; the latter isn’t good either as you have to wait for the content to slowly appear. When you see scrolling text do you usually bother to stop what you’re doing so you can read it as it gradually materialises? Or do you ignore it?

The other disadvantage of scrolling or changing text is that you might see something you want to click on, but before you know it it’s gone. And now you have to wait 30 seconds for it to re-appear again!

Conclusion

With all this overlap between web usability and web accessibility there’s no excuses for not implementing basic accessibility on to your website. Outside of the ethical argument there are many reasons to make your website accessible, one of the main one being that its usability will be improved. No one can argue with that.

About The Author

This article was written by Trenton Moss. He’s crazy about web usability and accessibility - so crazy that he went and started his own web usability and accessibility consultancy ( Webcredible - http://www.webcredible.co.uk ) to help make the Internet a better place for everyone.

The year 2005 is expected to be the year of “outsourcing”.

In case this word is new to you, then prepare yourself to the fact that this will be the buzz word of 2005.

Outsourcing is the act of exporting jobs to 3rd world countries, for the benefit of saving on production and administration costs.

The most popular form of outsourcing to this day is IT outsourcing, and the most popular countries where you can outsource IT jobs to are Romania and India.

For example: your firm is spending a lot of money hiring programmers to do some programming tasks and software writing that do not need special skills. You decide to cut costs by exporting these jobs to India, and let the same tasks be done by professional Indians instead of Americans, because their labor rate is a lot lower. This would easily save you money, sometimes up to 80%, that you can spend on other primary jobs (e.g: marketing).

Outsourcing does not only help you save money, but also gives you that push needed to walk and extra step towards winning the competitive market.

Brian Taylor, CEO of Comfosoft Inc. says that outsourcing to India helped his company “save more than $23,000 per month on software programming and debugging. There are a lot of talented Indians who can do the same job without getting paid a 5 figure number.”

Today, and in the world of “online business”, and to make things even easier for you, SupportUniverse.com (http://www.supportuniverse.com) has launched a new marketplace where programmers meet recruiters. All you need to do is post your project and let skilled workers around the world compete to bid on delivering the best work for the lowest cost and the shortest period of time. You can then select the best offer.

Although some people oppose the idea of outsourcing, the fact is that it is spreading like fever and it is becoming more and more “mandatory” for those who want to succeed in the internet world.

About The Author

Raymond Walsh, CEO of “Business 4 Pleasure”, and monthly printed newsletter targetting small and medium sized businesses.

Introduction

RSS is one the hottest technologies at the moment, and even big web publishers (such as the New York Times) are getting into RSS as well. However, there are still a lot of websites that do not have RSS feeds.

If you still want to be able to check those websites in your favourite aggregator, you need to create your own RSS feed for those websites. This can be done automatically with PHP, using a method called screen scrapping. Screen scrapping is usually frowned upon, as it’s mostly used to steal content from other websites.

I personally believe that in this case, to automatically generate a RSS feed, screen scrapping is not a bad thing. Now, on to the code!

Getting the content

For this article, we’ll use PHPit as an example, despite the fact that PHPit already has RSS feeds (http://www.phpit.net/syndication/).

We’ll want to generate a RSS feed from the content listed on the frontpage (http://www.phpit.net). The first step in screen scraping is getting the complete page. In PHP this can be done very easily, by using implode(file(”", “[the url here]”)); IF your web host allows it. If you can’t use file() you’ll have to use a different method of getting the page, e.g. using the CURL library (http://www.php.net/curl).

Now that we have the content available, we can parse it for the content using some regular expressions. The key to screen scraping is looking for patterns that match the content, e.g. are all the content items wrapped in <div>’s or something else? If you can successfully discover a pattern, then you can use preg_match_all() to get all the content items.

For PHPit, the pattern that match the content is <div class=”contentitem”>[Content Here]<div>. You can verify this yourself by going to the main page of PHPit, and viewing the source.

Now that we have a match we can get all the content items. The next step is to retrieve the individual information, i.e. url, title, author, text. This can be done by using some more regular expression and str_replace() on the each content items.

By now we have the following code;

<?php

// Get page
$url = "http://www.phpit.net/";
$data = implode("", file($url)); 

// Get content items
preg_match_all ("/<div class=\"contentitem\">([^`]*?)<\/div>/", $data, $matches);

Like I said, the next step is to retrieve the individual information, but first let’s make a beginning on our feed, by setting the appropriate header (text/xml) and printing the channel information, etc.

// Begin feed
header ("Content-Type: text/xml; charset=ISO-8859-1");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
?>
<rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<channel>
		<title>PHPit Latest Content</title>
		<description>The latest content from PHPit (http://www.phpit.net), screen scraped!</description>
		<link>http://www.phpit.net</link>
		<language>en-us</language>

<?

Now it’s time to loop through the items, and print their RSS XML. We first loop through each item, and get all the information we get, by using more regular expressions and preg_match(). After that the RSS for the item is printed.

<?php
// Loop through each content item
foreach ($matches[0] as $match) {
	// First, get title
	preg_match ("/\">([^`]*?)<\/a><\/h3>/", $match, $temp);
	$title = $temp['1'];
	$title = strip_tags($title);
	$title = trim($title);

	// Second, get url
	preg_match ("/<a href=\"([^`]*?)\">/", $match, $temp);
	$url = $temp['1'];
	$url = trim($url);

	// Third, get text
	preg_match ("/<p>([^`]*?)<span class=\"byline\">/", $match, $temp);
	$text = $temp['1'];
	$text = trim($text);

	// Fourth, and finally, get author
	preg_match ("/<span class=\"byline\">By ([^`]*?)<\/span>/", $match, $temp);
	$author = $temp['1'];
	$author = trim($author);

	// Echo RSS XML
	echo "<item>\n";
		echo "\t\t\t<title>" . strip_tags($title) . "</title>\n";
		echo "\t\t\t<link>http://www.phpit.net" . strip_tags($url) . "</link>\n";
		echo "\t\t\t<description>" . strip_tags($text) . "</description>\n";
		echo "\t\t\t<content:encoded><![CDATA[ \n";
		echo $text . "\n";
		echo " ]]></content:encoded>\n";
		echo "\t\t\t<dc:creator>" . strip_tags($author) . "</dc:creator>\n";
	echo "\t\t</item>\n";
}
?>

And finally, the RSS file is closed off.

</channel>
</rss>

That’s all. If you put all the code together, like in the demo script, then you’ll have a perfect RSS feed.

Conclusion

In this tutorial I have shown you how to create a RSS feed from a website that does not have a RSS feed themselves yet. Though the regular expression is different for each website, the principle is exactly the same.

One thing I should mention is that you shouldn’t immediately screen scrape a website’s content. E-mail them first about a RSS feed. Who knows, they might set one up themselves, and that would be even better.

Download sample script at http://www.phpit.net/viewsource.php?url=/demo/screenscrape%20rss/example.php

About The Author

Dennis Pallett is a young tech writer, with much experience in ASP, PHP and other web technologies. He enjoys writing, and has written several articles and tutorials. To find more of his work, look at his websites at http://www.phpit.net, http://www.aspit.net and http://www.ezfaqs.com

« Previous PageNext Page »