I have a little experience from an SEO Company, there are a few tricks you can do to include links without making them displayable to the user, close to what theomega mentions but doing so without permanently hiding it from the user:
Why don't you put a list of products on you website and make it somehow small or move it out of sight, so google follows the links but your customers don't get distracted.
The main part of the keyword section for the search will be content. 7-10% of your content should be strong relational content to your target keywords. So for t-shirts you could add in words like shirt, tee-shirt, clothes, tops, etc. and for marketing purposes with the t-shirt analogy you would use keywords like cheap, affordable, low price, etc.
7-10% is the magic range, anything too high above 10% may be considered spam content by a search engine, too little and it feels the content is not relevant to the keywords you're targeting.
Also, use your <h1>
- <h6>
tags wisely on your product names. Emphasising a title in the right way (whether it has a link <a>
ref or not) will always yield good results, especially with Google and Yahoo. Use one <h1>
tag to do a main title and try to include a sub title with <h2>
or <h3>
to emphasise some more sub-keywords.
The site map is still a good idea but like theomega said, there is not much it can do if there aren't back track links on the site (like navigation menus) that relate to the links provided in the site map.
To do the hidden but crawler readable link revealable, you can use a negative floating <div>
with a high z-index:
and then use JavaScript or CSS to reveal those links to the user on a Click or Mouse event.
stack-overflow-black-tshirt.html:
<html>
<head>
<title>My Cheap Stack Overflow T-Shirt</title>
<link rel="stylesheet" type="text/css" ref="/style.css">
<meta name="keywords" content="t-shirts, tee, shirts, stack, overflow, black" />
</head>
<body>
<h1>Affordable Tee Shirts for Stack Overflow Users</h1>
<h2>Stack Overflow Logo on Black T-shirt</h2>
<div id="link-floater">
<a href="/cheap-affordable-stack-overflow-tshirts/stack-overflow-black-tshirt.html">Stack Overflow Black Tee Shirt</a>
</div>
<!-- Content starts here -->
<div id="content">
Buy this t-shirt now!
</div>
</body>
<html>
style.css:
/*This shows a 10px section of the links div (100px width - 90px left:offset)*/
#link-floater
{
display: block;
height: 100px;
left: -90px;
position: absolute;
top: 0;
width: 100px;
z-index: 2;
}
/*Using a hover you can reveal the links*/
#link-floater:hover
{
left: 0;
}
#content
{
display: block;
z-index: 1;
}
This small code snippet shows the idea of putting in the keywords in your content, in <meta>
tags to help categorisation by the search engine and the css used to make a <div>
float out of visibility of the user but able to be scanned by a crawler.
The reason we explicitly set each z-index
is to ensure that the negative positioning of the floating <div>
does not affect the layout of the other elements.
Hope this helps.
EDIT: As a revision to my description, when hiding links, you must allow an option to reveal them to the user. Creating completely hidden links has a bad effect on your page ranking and may end in removal from indexes. Hiding links as an intention to skew what a search engine can crawl in comparison to what a viewer can see will have a bad effect unless this is a description of existing links (for example those on a site-map) to aid in accessibility for screen readers and for brail generators.