Searchable h1 h2 h3 tags

A friend asked me to check his site out and was wondering if the structure of this html is what you would use. I was under the impression that the major search engines index the <h1> <h2> <h3> etc tags. If so wouldn’t it be better to use some keyword directly in the <tags> themselves?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href='http://fonts.googleapis.com/css?family=Arvo:regular,bold' rel='stylesheet' type='text/css'>


<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Thunder Island Coffee Roasters Homepage</title>

<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
<link href="reset.css" rel="stylesheet" type="text/css" />
</head>

<body>
	<div id="header">

    
    	 <div id="scnd_nav">
        	<ul>
            	<li><a href="#">Cart (0)</a></li>
                <li><a href="locations.html">Locations</a></li>
                <li><a href="contact.html">Contact</a></li>
            </ul>
        </div>

        
    	<div id="brand">Thunder Island Coffee Roasters</div>
       
        <div id="prime_nav">
        	<ul>
            	<li><a href="index.html">Home</a></li>
            	<li><a href="shop.html">Coffee Shop</a></li>
                <li><a href="grinds.html">Grind Info</a></li>
                <li><a href="tips.html">Brewing Tips</a></li>

            </ul>
        </div>
        
    </div>
    
    <div id="content">
    
    	<div id="tagline">
	    <img alt="Our coffees are 100% organic, grown on the highest mountain regions of Peru and Guatemala." src="images/100coffee.jpg" />
                 
        </div>
        <img class="main" src="images/mainimg.jpg" />
        <div id="actions">

        	<ul>
            	<li><a class="order" href="#">Coffee Shop</a></li>
                <li><a class="grinds" href="grinds.html">Grind Info</a></li>
                <li><a class="tips" href="tips.html">Brewing Tips</a></li>
            </ul>
        </div>
   
    
    </div>

    <div id="footer">
    <img class="right" src="images/aboutimg.jpg" />
    	<h2>About Us</h2>
        <p>Thunder Island Coffee Roasters is a Native American owned and operated enterprise located in Southampton, NY on the edge of the Shinnecock Indian Reservation - 1 mile east of Stony Brook University's Southampton Campus (where Thunder Island Coffees are also served).</p>
		<p>We offer our full selection of 100% organic coffees, as well as our espresso bar with seasonal drink specials and gift shopping.</p>
        <div id="copyright">
        <p>© Thunder Island Coffee Roasters 2011, Southampton, NY 11969, USA</p>

        </div>
    </div>


</body>
</html>

Search engine spiders index all text content on your site. They use the structure to interpret what the website is about, and part of that is looking at what you’ve got in the <h*> heading tags.

Yes, your headings and sub-headings should be in <h*> tags. There is some discussion over whether that should include the site branding/logo on inner pages, but there’s no harm in doing it. It may be that one or other of your images should be in <h*> tags - and you should always start with <h1> for the top-level heading. One concern I have is your alt text. For the first image, it’s very long - unless that’s actually text that’s featured on the image, it smells like keyword stuffing. And the second image is missing alt text altogether, but you’re not allowed to do that. (If you genuinely don’t want any text to be shown when the image is unavailable, you should include alt=“” to show that).