PRB: Internet Search Engines Do Not Search and Index Your Web Site as Expected (810853)



The information in this article applies to:

  • Microsoft Solution Offering - Microsoft Solution for Internet Business

SYMPTOMS

Internet search crawlers and search programs might experience problems when they search and index your Web site.

CAUSE

Microsoft Solution for Internet Business pages through catalog products in a category by using a Next button. However, search crawlers do not recognize these buttons as links to be followed. Products on any page other than the first page of a product category are not crawled. Therefore, queries for those products return no results.

WORKAROUND

To work around this issue, use one of the following methods:
  • Display all search results on a single page.
    Use this option if you do not have many products in any one category on your Web site.

    Warning Performance issues may occur if any single category contains many products.

    To implement this solution, follow these steps:
    1. In Producttemplate.aspx.cs, change line 61 to make the PageSize larger than the largest number of products in a single category of your catalog, for example:
      private const int DefaultPageSize = 9999;
    2. In Producttemplate.aspx.cs, comment the following lines of code:
      //this.NextPage.Visible = true; 
      //this.PreviousPage.Visible = true;
    3. In Producttemplate.aspx, remove the asp:Buttons for PreviousPage and NextPage.
    4. In SearchResults.aspx, remove the numResultsDropDown drop-down list.
    5. Recompile the Web site.
  • Replace the Next button and the Previous button with Next and Previous links.
    This option is a useful way to limit the number of results that are returned for each query. By using this option, you assume that the user wants to see only the most relevant results.

    To implement this solution, follow these steps:
    1. Change the Next button and the Previous button to links, and then remove the runat=server directive.
    2. Add code in page_onLoad to do the following:
      • Locate a url arg that is an int that represents the current page.
      • Create a next url to the current page by using the breadcrumb navigation information and the current page plus one (+ 1) (unless that would be beyond last page; if that would be beyond the last page, disable the link). Add the next url to the current page as the href for the Next Link control.
      • Create a previous url to the current page by using the breadcrumb navigation information and the current page minus one (- 1) (unless that would be before first page; if that would be before the first page, disable the link). Add the previous url to the current page as the href for the Previous Link control.
      • Use the this.productDisplayList.MoveToPage(int) function to move to the page from the url arg, and then call the this.DisplayProductList(this.CurrentCatalogName, this.CurrentCategoryName) function to display the list.
    3. Recompile the Web site.

STATUS

This behavior is by design.

Modification Type:MajorLast Reviewed:3/20/2003
Keywords:kbprb kbinfo KB810853 kbAudDeveloper