Most Content Management and Search Solutions dynamically generate URLs that are comprised of meaningless strings and no keywords. These negatively impact search engine ranking as well as user experience (try bookmarking or sharing them). A few advanced Search Solutions such as Endeca have built solutions for this problem. We’ll discuss Endeca’s URL Optimization in this blog.

The Endeca URL Optimization API enables users to create site links using directory-style URLs that include keywords and store the dynamic information in the base URL rather than in the query string. The resulting URLs do not contain any URL query parameters. Instead, all of the necessary Endeca values are stored in the URL path resulting in search engine-friendly URLs.

For example: A traditional Endeca application currently includes endeca queries in the URL

In the above query, 40005552 and 4654664 are really 2 dimension IDs and Ntt=CRM is the search term. Instead of showing a URL this way, there an efficient way to translate it into something more friendly to user,

This blog further explains how to implement the RAD Tool KIT – URL Optimization API within your existing application.

The product can be downloaded from-
Go to: > "Product Downloads" > "Endeca Discovery Suite" > "URL Optimization API for ASP.NET" for the ASP.NET distribution.
As Endeca explains - The URL Optimization API is designed to help increase your natural search engine rankings by enabling the creation of search engine-friendly URLs.

Integration of keywords into the URL string

Many search engines take URL strings in as part of their relevancy ranking strategy. Generating URLs that include keywords can increase your natural search engine ranking as well as create visitor-friendly URLs those are easier for front-end users to understand. Using the URL Optimization API, you can configure the following strings to display in the URL:

• Dimension names

• Dimension value names

• Ancestor names

• Record property string

· Text search strings


The Endeca URL Optimization API for the RAD Toolkit for ASP.NET version 2.0.0 requires the following Endeca packages:

Endeca IAP 5.1.x or Endeca IAP 6 with Platform Services 6.0.1

Endeca RAD Toolkit for ASP.NET version 1.1.4

NOTE: URL Optimization API requires RAD Toolkit for ASP.NET 1.1.4.You must upgrade your version of the RAD Toolkit for ASP.NET to use the URL Optimization API.


The Endeca URL Optimization API for the Endeca RAD Toolkit for ASP.NET is distributed as a Zip file named
1. In your local environment, locate the Zip file that you downloaded from the Endeca Developer's Network (EDeN).

2. Extract the Zip file to a local drive. E.g.: C:\Endeca\SEM\URLOptimizationAPIs\RAD Toolkit for ASP.NET\2.0.0.

3. Open your project in Visual Studio and add a reference to Endeca.Web.Url.Seo.dll. The specifics of this step vary depending on your version of Visual Studio and on the .NET language your application is written in. In general, you use the Visual Studio "Add Reference" dialog box to browse to \Endeca\SEM\URLOptimizationAPIs\RAD Toolkit for ASP.NET\2.0.0\bin\Endeca.Web.Url.Seo.dll.

4. Add references to the following Endeca RAD Toolkit for ASP.NET files:
* Endeca.Data.dll

* Endeca.Web.dll

* Endeca.Web.UI.WebControls.dll (this is optional if you are not using the RAD Toolkit Server Controls)
These assemblies are included as part of the Endeca RAD Toolkit for ASP.NET installation.

5. Add references to the following Endeca Presentation API for .NET files:

* Endeca.Navigation.dll

* Endeca.Logging.dll

* Endeca.Navigation.AccessControl.dll

To Start with the URL Optimization in your site you can use the sample UrlProvider which comes with the default API installation

Modify the DimensionValuePathFormattersFactory, StringFormatterFactory, RecordDetailsCommandFormatterFactory, PathParameterFactory e.t.c., as per the dimension and properties of our application.
SeoUrlProvider class is completely customizable and we can modify them according to the requirements Customized Provider class can be used instead of default Url provider to generate SEO Optimized Urls in our web application.

For an example on how to set up the code with dimension names from your application – please email us at
IOTAP has faced lots of challenges based on the requirements we got and have overcome them by customizing the SeoUrlProvider class. I really feel that URL Optimization API for RAD ToolKit for .NET is the easiest and optimal solution for Url Optimization apart from other methods.

For any clarifications you can read the documentation comes along with the Installation or email me at