Evaluating a Search Engine Friendly Shopping Cart

    February 12, 2004

The objective of any shopping cart or e-commerce system is to allow visitors to shop on a business site for products they want. Not all search engines are created equal with equal capabilities. Some search engines are able to navigate through dynamic sites while others are not. Sometimes the search engines that are able to navigate through dynamic sites have problems indexing and navigating through the entire site.

These factors eliminate many e-commerce sites from the search engine result pages or hamper their advancement to the top of the search engine result pages. For a business to be competitive on the World Wide Web, all of its pages need to be indexed and developed correctly.

For the past 10 years programmers have been developing e-commerce systems that required the sites to compete at the site level. This required many site owners to find a company that could optimize their sites, create doorway or landing pages that focused upon a product or category, or use any number of other means to elevate the e-commerce site in the search engines. These tactics have worked successfully, but the search engines want pages that are of unique value to present to their clients. Dynamic sites hamper the model search engines desire.

In order to meet the demands of the search engines and be indexed by all search engines new techniques must be employed. These new techniques can make an e-commerce system more search engine friendly if they are developed correctly. Some systems will never be search engine friendly and result in less than adequate placement in the search engine result pages.

Why are Some E-commerce Solutions Not Search Engine Friendly?

There are many factors that come into play when attempting to determine if an e-commerce system is not search engine friendly. These factors are important to understand and can help you determine if the system is right for you.

CGI-BIN and Scripting Languages

Shopping Carts or e-commerce systems using the CGI-BIN format typically utilize the PERL scripting language. When a search engine finds /cgi-bin/ in a URL it typically ignores it. There are however some search engines that can index beyond the /cgi-bin/ element of the URL. However, there are many that cannot and do not index beyond the /cgi-bin/ element.

Then we have the database driven shopping cart or e-commerce system that operates on one of the more advanced Object Oriented Event Driven (OOED) languages such as PHP, ASP, .NET, .JSP, or Cold Fusion (just to name a few). These advanced languages utilize the question mark (?) and ampersand (&) in the URL to identify the variables required to pull the information out of the database and into the dynamically generated page. Not all search engines are able to index beyond the question mark (?) or the ampersand (&) making it difficult to be indexed by all search engines.

Meta Data

Shopping carts or e-commerce systems typically re-use the same set of Meta keywords and Meta descriptions throughout the dynamically generated pages. This simply means that an orange would have the same Meta keywords and Meta description as an apple. Obviously this does not work very well for search engines that utilize the Meta keywords and Meta descriptions. The Meta keywords and Meta descriptions should be based upon the product or the category.

Page Titles

Page titles are one of the most important elements in search engine optimization. Page titles inform the purchaser that your page offers exactly what they are looking for. Since many e-commerce solutions re-use the same page title which is typically the company name or the site URL that it can prevent your site from moving to the top of the search engine results. Each page should stand on its own.

URL Rewrites

Many programmers use URL rewrite technologies to make the URL’s friendly to the search engines. However, not all rewritten URL’s are created equal. Some people rewrite URL’s to simply remove the question mark (?) and ampersand (&) from the resulting URL. However, this does not provide the best form of rewritten URL.

Hidden Session ID’s

Hidden session id’s are session id’s that are placed in the link, but not in the resulting URL. Because session id’s use the question mark (?) or ampersand (&) in the link, this causes many search engines to cease attempting to index the site.

Session id’s are used to keep track of the visitor as they add items to their cart for purchase. Not all shopping carts utilize session id’s, but those that do can cause problems if not properly programmed to keep the session id’s out of the links. Some programmers use cookies, but those can also be problematic if the shopper turns cookies off like so many people do.

Heading Tags

Heading tags are those tags that identify the importance of a piece of content and elevate it above the remaining content. For example, an <h1> heading tag is the most important of all heading tags. When a page uses the <h1> tag it announces to the search engines that the enclosed text is of vital importance and it is usually the topic of the page.

For example, a page about Mandarin Oranges that uses an <h1> tag enclosing the words Mandarin Oranges identifies to the search engine that the main topic of the page is, in fact, Mandarin Oranges. This can elevate your page above all others that talk about Mandarin Oranges if they do not utilize the <h1> tag.

Over use of the <h1> tag on a single page can be considered “spam” by the search engines. This can get the page banned and may even get the site banned for “spamming”.

ALT Attributes

ALT attributes are typically ignored in the majority of CGI-BIN and scripting language e-commerce solutions for various reasons. These reasons could be as simple as the belief that the site owner or webmanager doesn’t understand the value of these fine attributes to the programmers didn’t understand their value and though the exercise of adding extraneous information was not worth the effort. However, they are just as important as the other content describing the item or product.

Flash Navigation

Some programmers feel it is important to utilize Flash to enhance the site presentation. Unfortunately, this hinders the search engines from navigating through the site because Flash does not utilize standards linking technologies.

JavaScript Navigation

JavaScript is an executable script residing on either the client-side or the server-side. This technology allows for the use of “eye candy” and is does not allow navigation through the entire site by some search engines because they cannot execute or parse the codes to perform the navigation required to reach the other pages.


Frames provide an easy way to manage navigation in one window while providing the content in another window. While this may sound good, but the problem with this situation is the internal pages get indexed without the frameset. That means if a person finds that page, they can’t navigate to the other sections of the site.

Coding to Standards

Many times when a site is developed the programmer writes codes that are not standards compliant. This can create problems in many of the browsers available and mean that the visitor isn’t able to utilize the site. If the visitor isn’t able to use the site, the visitor isn’t able to shop.

Understanding the Problems

CGI-BIN Directories

CGI-BIN directories have been ignored for the most part by more search engines than I would care to count. The reason for this is because the URL created by the CGI scripting language includes the question mark (?) and ampersand (&).

Until a couple of years ago no search engine would even dare approach a CGI-BIN directory. Google can index those pages, but their success is not always 100 percent. Other search engines do not have the capability to index within the CGI-BIN directory which limits the site owner’s ability to be found.

This single fact led many e-commerce site owners to find search engine optimization companies to optimize their web sites and build doorway pages linking to the items within the CGI-BIN directory.

There are two types of set up for the CGI-BIN e-commerce system.

Situation #1:

The e-commerce system is dynamic and uses a flat-file or database that presents the items and categories in a dynamic fashion. This requires the site owner to build pages external to the CGI-BIN directory that links to the items in the e-commerce system. Because site owners may not be trained on search engine optimization they would end up hiring a search engine optimization company to build these pages which are called doorway pages.

Situation #2:

The second situation calls for external pages that connect directly to the cart page which shows the items ready for purchase. This is distinctly different from the above situation because the system relies upon external pages that have “add to cart” buttons or links. When the link or button is clicked the link informs the shopping system that an item has been selected to add to the cart.

This situation requires the site owner to add the items to a flat-file or database for the shopping system to know the price. It also requires the site owner to maintain the external pages with the correct information. If either side of the equation was ignored the system would fail and items could not be added to the cart for purchase.

Scripting Languages

Scripting languages are similar to CGI-BIN situations due to the fact that they rely upon the question mark (?) and the ampersand (&) to inform the database which elements are needed for the page presentation. These two elements prevent many search engines from navigating the site properly. If the search engines cannot navigate the site, the search engines cannot index the pages on the site.

This has let many e-commerce site owners to employ the skills of search engine optimization companies to build doorway pages. These doorway pages promote the products and then add links to the item in the e-commerce system where the item can be added to the shopping cart. Depending up the set up of the e-commerce system a link may be added that adds the item directly to the cart where the quantity may be adjusted.

This requires the inventory and prices be maintained in to places. First, the database the scripting languages accesses and second the external pages.

Both the CGI-BIN and scripting languages can increase the cost of doing business online because of the increase in hours spent maintaining the web site.

Meta Data

Both CGI-BIN and scripting language versions of e-commerce typically re-use the same Meta keywords and Meta descriptions throughout the entire e-commerce site. The categories and items then have the same keywords used on the front page and the other pages of the site. This creates problems when we review the situation with oranges and apples. Certainly fruit would apply, but it wouldn’t be a good keyword if we were attempting to sell Mandarin Oranges or Delicious Red Apples. We would want keywords and descriptions that meet the needs of the individual products for the pages that present the individual items. Categories could be as broad as Fruit, but could be as concise as Apples.

For the Mandarin Oranges, the optimum Meta keywords would be:

<meta name=”keywords” content=”mandarin oranges, oranges mandarin, oranges, mandarin”>

The Meta description would be best as follows:

<meta name=”description” content=”Mandarin oranges provide a sweet flavor and are easy to peel.”>

However, as mentioned above these systems typically do not allow for individual Meta keywords and Meta descriptions. The nature of these systems actually holds your item and category pages down in the search engine results.

Page Titles

Page Titles announce the topic of the page. In the majority of e-commerce solutions available the Page Title simply reflects the name of the site or the name of the company. This does not help in optimizing a page about Mandarin Oranges unless the name of the company is The Mandarin Orange Company.

When a person does a search in the search engines they look at the titles provided. If your page comes up first in the search engines and is among a series of results that list off names of companies and your Page Title is reflected as Mandarin Oranges the search will more than likely click on your link. Page Titles allow for advertising the topic of your page and should be programmed to correspond with the topic of your page.

When optimizing a page for a web site the Page Title is considered one of the most important elements available to the SEO professional. Page Titles play an extremely important role in proper optimization and should not be used haphazardly.

URL Rewrites

URL rewrites are programming techniques that allow the returned URL to be more search engine friendly by removing the question mark (?) and ampersand (&) from the returned URL found in the location or address bar. This enables the search engines to index the page without having variables or session id’s interlaced into the URL.

There are two types of URL rewrites. Each meet the same purpose, but the advanced URL rewrite is more search engine friendly. The following examples will give you an idea of the important factors.

Non-URL Rewrite URL


The above URL indicates to the database that the returned information should be from the category with id equal to 1 and the item id equal to 2. This works fine for the system because it understands the variables. Many search engines however do not understand this form of URL.

Simple URL Rewrite


The simple URL rewrite will take the URL and modify it so that it appears without the question mark (?) and ampersand (&). This enables all search engines to index your all of your pages, but still lacks in some important areas.

Advanced URL Rewrite


The advanced URL rewrite enables your URLs to include your keywords. This is another location search engines look for important information about your pages. Being able to include keywords in your URL helps elevate your page to the top of the search engine result pages.

Hidden Session ID’s

Hidden session id’s are not exactly hidden, but they are typically hidden from view of the visitor and not placed in the returned URL. The links with session id’s include the question mark (?) and therefore can prevent many search engines from navigating and indexing your site.

Some people attempt to defeat this problem with cookies, but cookies present a different problem. Since some people are concerned with privacy issues they block cookies and therefore are unable to shop if the cart requires cookies. Session id’s keep a temporary record on the visiting computer while keeping a corresponding session number in memory or in a database.

Heading Tags

Heading tags are identified with the following HTML tags: <h1>, <h2>, <h3>, <h4>, <h5>, and <h6>. The <h1> tag is the most important heading tag while the <h6> tag is the least important.

When a page uses the <h1> tag it informs the search engines that the page is about a specific topic and elevates that piece of content above the remainder of the content. The remainder of the content is then considered supporting information and should include the same words in more than one instance for best results.

ALT Attributes

ALT attributes provide a two-fold function. The first function is to allow the site to become accessible to the blind user. Because blind users cannot see the picture the ALT attribute allows for a description of the image. This aids the blind user in understanding the information available on the page.

The ALT attribute also allows for adding keywords or the product name in a text element for the product picture. This adds relevance to the content and is used by the search engines to elevate the positioning of the page in the search engine results.

Flash Navigation

Flash is an interesting tool used for presenting information in an interesting and interactive manner. Many designers use Flash to create web sites because they can control the environment. Flash requires plug-ins for the browsers to navigate and use the site.

If a navigation element is created in Flash the links are hidden from the source codes for the page and therefore inhibits the search engines from navigating through the site. This single fact blocks the site from becoming completely indexed by the search engines.

JavaScript Navigation

JavaScript navigation brings to the table several issues that need to be understood. First, the codes are executable on either the server-side or the client-side and require the ability to utilize JavaScript. The majority of search engine spiders or robots are not programmed to parse the information in the JavaScript to reach the subsequent pages.

Second, if the visitor is unable to use or has turned off JavaScript support they are unable to navigate the site. This creates problems for these users when they attempt to utilize the site.

The only work around when including JavaScript navigation elements is to provide a link set some where on the page that the visitor or search engine spider can navigate through.


When frames came out the reason for them were simple; browsers were did not have great caching capabilities. Because of this the browser would continually have to download the navigation buttons, logos, and other images. This slowed down the performance of web sites since broadband was not available at that time. Browsers have improved their caching capabilities and therefore this technique is no longer needed.

Search engines index each page on its own without the concerns of supporting pages or pages required for the site to function correctly. Therefore, if a page has no links on it or only links to a limited set of other pages, the visitor may not be able to find the remaining pages. Additionally, the average Internet user may not understand how to get to the main page of the site or as is typical, they’ll leave and find another site to use.

Coding to Standards

Some people will debate this issue and continue to utilize their same coding techniques and utilities.

Coding to Standards means that the pages are programmed to be valid and comply with the standards established by the World Wide Consortium or the Internal Standards Organization. The World Wide Web Consortium has several different levels of HTML programming available. These programming languages are HTML and XHTML, just to name a couple. Search engines can index the pages even if they are not standards compliant, but being standards compliant ensures that the broadest array of browsers can use the pages.

Coding to standards also means that there are ways to increase the relevance of the pages by using techniques not available to non-standard compliant pages.

Advantages of a Search Engine Friendly Shopping Cart

Search engine friendly shopping carts are developed in such a way as to promote the items and categories above the remainder of the site.

Typically when an e-commerce system is developed it promotes the site above the categories and items. To this means, the items and categories rely upon how well the site performs in the search engine result pages. The site may not perform as well as items or categories can perform.

When a person performs a search for an item they are looking for an item. If they have to perform a search on a site they are then doubling their efforts and may leave the site faster due to frustration and the inability to locate the item they want in a timely fashion.

Some business owners think this is a model idea because the shopper may find something else they want or need. This is a truth, but it is also a burden on the shopper.

If that same shopper landed on the exact page that had the item they were looking for with the ability to add it directly to their cart for purchase, the likelihood of their purchase has increased. Not necessarily out of a pricing issue, but out of a time savings issue.

This allows the shopper to add the item and then go back and find additional items they may want or need. There are other tools available to help a shopper find other interesting or corresponding items. The site features can be as complex as desired to meet the marketing needs of the business.

Lee Roberts President/CEO of Rose Rock Design, Inc. and owner/developer of the Apple
Pie Shopping Cart
the search engine friendly shopping cart.