Monday, November 12, 2007

Photography Sites

The Gallery Problem

A customer mentioned that his photography website, Volluzphoto.com, was not getting much traffic. He has some very good photography there. I looked at his web stats and he's only getting 1/20th the hits my gallery of amateurish crap gets. If photographic quality were the primarily traffic factor, his site would be getting the hits.

The reason his site isn't getting a lot of traffic is that there is little textual content and the textual content that is present isn't tightly associated with the images allowing search engines to identify image content. Humans can look at an image and, within about a third of a second, identify it's content and make associations.

Search engines can not do this and therein lies the reason for low traffic. Search engines are incapable of indexing the images themselves. Machines that crawl the web don't have eyes or visual processing capabilities. A cockroach possesses visual processing intelligence far beyond the best search engines.

Making A Gallery Visible To Search Engines

Add textual content tightly associated with your images. Textual content will be indexed. If it is tightly coupled to the image, it will allow the search engine to identify the image content.

The "alt" tag contents allow search engines to identify image content. When you have an image to display:
<img src="http://www.eskimo.com/imageurl" alt="description" height="height" width="width">
The words inside of the alt tag replace the image for non-graphical browsers. Search engines like Google and Yahoo that have image search capabilities use those keywords to identify the image contents and index the image.

Links provide an opportunity to include descriptive information using the title tag:
<a href="link url" title="descriptive title">text or image</a>
In this example, the descriptive title will be shown by many browsers when you mouse over the image or link text. It will also be picked up and indexed by search engines and help determine link relevancy which in turn affects search engine ranking.

The more relevant textual content you have, the better the odds that someone searching is going to find your site. Add descriptions to your photos, to your gallery sections, etc. Consider setting up a forum with relevant links back into your gallery. A blog is another way you can add textual content with links back to your gallery.

In your site; make sure text in the links to other portions of your site match the target that they go to. If they go to an image, make sure the alt tag text matches the link text.

Google doesn't reveal in detail it's internal workings but I suspect that photographs have to be human reviewed before they are visible in the index. I've noticed that while new text is often indexed by Google in days, sometimes hours, photographs often take months to be indexed, even when you structure your website with properly. If you don't provide textual content associated with your images, they'll never be indexed. Know that there will be a delay between the time you do this and the time your photographs are visible in image searches.

Coppermine is a popular free web gallery package. Coppermine alt tags are populated with the image filename. Unless you use very descriptive filenames, the search engines will not bring much traffic. Few people go to Google and search for "img0033.jpg" and that's what will show up in the alt tag by default.

Something I've done for my site is to modify Coppermine to use the description in the alt text. I would share this modification except that I haven't done an adequate job of sanitizing the description so it's possible someone could enter a description that would break things.

Either include height and width specifications in your img tags or alternately specify them with CSS code. This allows a browser to determine the layout of your page before it has downloaded all the image so it can display the page before the images have finished downloading with the final layout, rather than having to wait for all the images to download (old Netscape behavior) or re-format the page as each image completes (new Firefox behavior). This doesn't affect search engines, but it makes the page display faster so impatient humans don't hit the back key and go elsewhere before your page has finished loading.

Thursday, August 2, 2007

Google Adsense

I had a minor epiphany today. I've been trying to understand an aspect of Google Adsense that has troubled me but today I finally figured out what was happening.

When I would start a new Ad campaign on Google Adsense, initially I would have to bid high to get any impressions. Over time though I would get more impressions (and clicks) for the same bid and I could gradually reduce the bid and still get the desired amount of impressions but each impression, and click, was costing me less.

Here is what I think I have found. First, Google's algorithm doesn't merely give the ad slot to the highest bidder. It calculates both the bid amount and the likelihood of a click-through. This makes sense because, if I bid $10 for a click, they make no money unless someone actually clicks on that advertisement. If the click-through rate for my ad is .1% (1-in-1000), and someone else's click-through rate is 10% (1-in-10) but they only bid $1, it makes more sense for Google to display their advertisement because on average they are going to make 10¢ per impression on their advertisement and only 1¢ on mine.

So optimizing your click through rate is really a win-win situation, you pay less per click and thus your advertising dollar is more effective, Google wins because there are fewer wasted impressions and they make more per impression.

Now the art of optimizing your click through is one of continual monitoring and adjustment. You can list any number of advertisements in an advertisement campaign and if you choose for Google to optimize, it will rotate them, determine which work best, and give those ads preference.

Then you can look and see what worked and what didn't, determine the common elements in both, eliminate things that don't work and emphasize those which do, and then repeat the process. One thing I've found does seem to be important is the word "Free", odd since people KNOW you're selling something, but if something is offered for free it really seems to make a difference in the click-through rate. Your mileage may vary.

Thursday, July 26, 2007

alt Tags and Photo Galleries

The HTML <image> tag has a number of attributes which are important both for appearance and for search engines.

Search engines are generally not intelligent enough to figure out what an image contains by themselves. So they use the "alt" attribute which is intended to describe an image when a web page is viewed in a non-graphical web browser.

Google does attempt to figure out what an image contains in the absence of an "alt" attribute by having two users simultaneously view and name keywords associated with an image. Keywords in common named by both users are then assigned to an image. This is a novel approach but only a very small portion of potentially indexable images can be assessed in this manner so you should include "alt" attributes even if Google is the only search engine of interest.

Two other attributes are advertised as being available to resize an image but they actually should be included even if you wish the image to display at it's native size. These are the "height" and "width" attributes.

The reason the "height" and "width" attributes are important even when an image is to be displayed at it's native resolution is because, if a web browser can get this information, it can layout and display the text of the web page with the correct formatting even before the images are downloaded and then fill in the images as they are downloaded.

This is particularly helpful to people using a dial internet connection or using a slower computer or an operating system such as Windows XP that limits the number of simultaneous half-open connections and thus slows the downloading of images if there are many images on a page.

Here is an example of an image tag nested in center tags to center the image:
<center>
<image src="http://www.eskimo.com/~nanook/gallery/albums/userpics/10001/normal_ALIEN_SUNSET.JPG" width="640" height="480" alt="Alien Sunset">
</center>
This will display like this:

Alien Sunset

Search engines will index the keywords "Alien" and "Sunset" as well as the phrase "Alien Sunset". Without the "alt" attribute these keywords will not be indexed.

Photo gallery software presents a problem in that you may not have control over these keywords. Coppermine Photo Gallery usually places the filename in the "alt" attribute. This is not very useful unless you name your files very descriptively. Sometimes it is even worse and places phrases like, "Click to Enlarge" in the "alt" attribute. This is particularly useless since someone using a non-graphical viewer won't be able to view the enlarged image any better than they can view the normal or thumbnail images.

The easiest thing to do if you want photographs in Coppermine to be indexed is to name your files descriptively. Alternatively, you can hack Coppermine to use the file description information in the "alt" attribute. The latter is not a simple task because it can't be done without actually hacking the core code because some of the underlying functions do not retrieve all of the necessary information from the database without modification, thus a complete modification is not possible through themes alone.

Saturday, May 19, 2007

Alt Tags

Your website graphics won't be visible to some users who use text-only clients such as lynx. Your website graphics won't be visible to Google or other search engines except as images that they may index into their image search and even then probably not if you do not include an alt tag.

The amount of CPU required for image recognition pretty much precludes search engines from being able to recognize images directly, however, they can read "alt" arguments in <img> tags easily.

So if your site uses graphical links for navigation, you also want to put equivalent text in an "alt" argument in the <img> tag so that when Google analyzes your page they can get the link text from that alt tag and know that it matches the content of what it is linked to.

This will also benefit users using text only clients who would otherwise be unable to navigate your site. Here is an example from this blog:

<a href="http://www.eskimo.com" onmouseover="img_on('excite')" onmouseout="img_off('excite')"><img height="133" width="200" border="0" name="excite" src="/images/excite2-off.jpg" alt="Excite Your Website with Eskimo North Hosting!"></a>

Incidentally, there is an easier way to make a mouseover affect using the css hover pseudoclass, but for the sake of demonstrating the use of the alt argument I used this example.

Previous Post (Google Site Map Program) Error

I made an error in the previous post in the link to the Google Site Map Program, that has been corrected. There is also a link in the side bar.

Wednesday, May 16, 2007

Google Site Map Program

Google does attempt to make things easy for us to get our websites indexed and ranked decently. They provide free tools to assist in this process and I would highly recommend taking advantage of them. After all they are free and they're solid information providing tools.

You should have your site participate in the Google Site Map Program. For free, zero dollars, just a little effort on your part, this program allows you to analyze and optimize your search for Google indexing and searches. Whatever you can do that makes your site rank higher on Google will make it rank higher on most other search engines.

Google Site Map will allow you first to identify yourself as the owner of the website in question, then it will provide you with all sorts of detailed statistics regarding searches, ranking, and analysis of your site. You'll be able to see how many links your site has from where, and what keywords people used when they found your site. You'll be able to set Google's crawl rate so it refreshes your site adequately without swamping it.

The data sitemaps provides, the keywords people use to link to you and the keywords people use to search that resulted in your site being included in the results and the ranking in those results is very valuable as it will allow you to tune your sites title, meta data, and content to match these.

You sign up for the service, then you claim websites that are yours. There are a variety of ways to do this, one involves placing a meta tag they provide into your web page. After you do this Google will crawl the page and check for it's existence and after that you are the recognized owner at which point you can get all sorts of useful information about your site and how Google and end users see it.

Tuesday, May 15, 2007

Style Sheets and Search Engines

If you're one of the people who, like me, learned HTML when the current server software was NCSA 1.0, you've probably put off style sheets.

I've been slowly converting my sites to use them, as well as working towards xhtml compliance. I'm converting to style sheets for the sake of the search engines, a prettier look, and ease of site maintenance. I'm trying to make things xhtml compliant to do the right thing. I'd like to say I'm converting to xhtml so that my code displays the same on all browsers but there appears to be at least as much incompatibility in browser interpretation of xhtml code as there was in html.

I've heard it said that search engines expect to find correct code and rank sites higher accordingly, but studies I've seen have not shown this to be true. Proper use of spelling and grammar is important but presently most search engines appear to be relatively insensitive to correct html. I expect it's possible at some point in the future so one should probably work towards making their code as correct as possible now.

Style sheets can help improve search engine ranking by improving keyword density and by making more of your sites text accessible to search engines. How can style sheets, which only serve to specify how your text is displayed, make your sites text more accessible? Many search engines will only read the first X bytes of a document, perhaps the first 64kB, and ignore the rest even if another 14mB follows. The reasoning is that if the keyword doesn't appear near the top of the document, it isn't important enough to be ranked sufficiently high to have any chance at being seen among the higher ranking documents.

If 80% of the first 64kB of your document is tags that could be extracted and placed in a style sheet, things like, and arguments to <table>, <td>, <tr> and <body> tags, then only 20% or 12.8 kBytes of your document will be seen by search engines and those tags will dilute the keyword density giving even that portion that is indexed a lower ranking.

If you haven't yet learned cascading style sheets, I would suggest the CSS tutorial at w3school.
Google