Incorrect display URL in search results - SharePoint 2010

Issue:

In search results when we click on an item it takes us to an incorrect displayform URL. For example in an working scenario when we click on an item in search results it takes us to <url of the list>/dispform.aspx?id=<***>, but in case where there are multiple display form created for a list search results always picks only one display form to crawl.

Cause:

This is kind of by design behavior where the gatherer process renders through the available display forms in the list and picks only the form which is on the top of the order.

Resolution:

As of now it’s not possible to index all the display forms of the list but to index the desired display form following can be done.

1. Run the following to get the exact order in which gatherer will see the display forms

            $web = get-spweb <>

            $list = $web.lists[“<list title>”]

            foreach($form in $list.forms)

             {

                if($form.Type -eq "PAGE_DISPLAYFORM")

                 {

     
                      $form.id, $form.url

                }

            }

    

2. In our case we got the following

  1. Maps.aspx
  1. Home.aspx
  1. Dispform.aspx

 

3. We needed that home.aspx  should be picked up in the index and not maps.aspx.

4.  So two workarounds were there first : delete maps.aspx Second: just recreate maps.aspx using SharePoint designer.

5. Either of two changes the order and subsequent reset and full crawl starts giving the desired results