Creating User-Friendly URLs with Aliasing
Ektron’s URL aliasing makes it easy to create descriptive, meaningful and SEO-friendly URL aliases consistently, maximizing your Web site’s placement in search results. Use of words and phrases that actually define the page increases an aliases’ search engine rankings. If you follow a pattern, you can scale your aliases across your sites as they grow. Search engines find URL aliases generated by Ektron without requiring an extension of how the page is built. Ektron caches aliases to improving performance of search engine results.
Existing sites migrate easily to Ektron, adopting the new aliasing scheme. Aliasing keeps old links valid and you do not have to make changes to web.config
. When URL aliasing is configured and enabled, content inherits the new aliasing structure.
www.ektron.com/training/
may be preferable for marketing materials.NOTE: Query strings appended to an aliased page pass to the .aspx page and may be used if necessary.
For example, you might choose a folder and alias its content using the content title followed by slash (/). So, while the original URL might be www.example.com/Human_resources/Postings/hr.aspx?id=8745
, the aliased one might be www.example.com/jobs/
. For more information, see Automatic URL Aliasing.
www.example.com/help.htm
, even though its real name is www.example.com/help.aspx?id=27
. You can assign several manual aliases to content then decide which one is the primary. For more information, see Manual Aliasing.
If both alias types are provided for a content item, a user can enter any alias into the browser address field to access that content. If someone hovers the cursor over (or clicks) a link to aliased content, the primary manual alias appears.
blogs.aspx?blogmonth=3&blogyear=2013&blogid=41
as blogs/2013/03/41
can be blogs/2013/03/40
to see the previous post, and blogs/2006/03
to see all March 2013 posts, and so on. For more information, see Using RegEx Expressions.http://www.examplesite.com/steve
.
For more information, Community URL Aliasing.www.bionics.com
to www.newgen.com
. For more information, see Site Aliasing.Members of the Administrators group or those assigned to the Alias-Admin Role have full permissions to work with aliasing. They can
To give users a limited ability to work with aliasing, assign them the Alias-Edit role. These users can only
When URL Alias names are identical but set as Manual or Automatic (and so on), then alias hierarchy rules are applied in the following order.
For example, a template exists called help.aspx. If an administrator decides that new content should have a manual alias called help.aspx, then the template still displays: a template takes priority over the manual content alias. (You may change the alias settings to override the template.)
WARNING! After you enable Aliasing, relative links embedded in your Web pages that are not preceded by a slash (/) may demonstrate symptoms such as runtime error notifications, broken images (you see a red X where the image should be), or missing text styling. The following Ektron Knowledge Base article analyzes this problem and presents solutions: http://dev.ektron.com/kb_article.aspx?id=19254.
Aliasing cannot be applied to the following areas of Ektron.
TemplateProduct
property. If you assign a page, it is used in the product’s URL, not the alias.Before you can set up aliases, you must enable the feature using the URL Aliasing Configuration screen. Choose Workarea > Settings > Configuration > URL Aliasing > Settings. Then, click Edit.
IMPORTANT: If you performed a database sync and the site being synched uses URL aliasing, you must go to its URL Aliasing Configuration screen and click Refresh () to update its aliasing information. Also, If you enable or disable any alias type or caching, you must run a full crawl of your Search Server. See Also: Understanding the Search Crawl
Manual Fields
NOTE: A developer might want to uncheck this box while developing a site, to make sure that everything is coming out of the database.
An alias is cached whenever anyone uses it. It remains in the cache for the number of seconds set in the Cache Duration field.
If more than this number of aliases needs to be added to the cache, Ektron makes room for new ones by removing aliases that have been in the cache for the longest time. If you increase the number, it is possible that your performance will improve. But at some point, the size of the cache may degrade your server’s performance. See Also: Clearing the Manual Alias Cache .
NOTE: If your Ektron supports multi-site configurations, this setting only affects the site to which you are logged on. To set a cache duration for other sites, sign in to each site’s Workarea > Settings > Url Aliasing > Settings, then set its cache duration values.
Automatic Fields
An alias is cached whenever anyone uses it. It remains in the cache for the number of seconds set in the Cache Duration field.
If more than this number of aliases needs to be added to the cache, Ektron makes room for new ones by removing aliases that have been in the cache for the longest time. If you increase the number, it is possible that your performance will improve. But at some point, the size of the cache may degrade your server’s performance. See Also: Clearing the Manual Alias Cache .
RegEx Fields
An alias is cached whenever anyone uses it. It remains in the cache for the number of seconds set in the Cache Duration field.
If more than this number of aliases needs to be added to the cache, Ektron makes room for new ones by removing aliases that have been in the cache for the longest time. If you increase the number, it is possible that your performance will improve. But at some point, the size of the cache may degrade your server’s performance. See Also: Clearing the Manual Alias Cache .
Community Fields
An alias is cached whenever anyone uses it. It remains in the cache for the number of seconds set in the Cache Duration field.
If more than this number of aliases needs to be added to the cache, Ektron makes room for new ones by removing aliases that have been in the cache for the longest time. If you increase the number, it is possible that your performance will improve. But at some point, the size of the cache may degrade your server’s performance. See Also: Clearing the Manual Alias Cache .
Other Fields
The values in this field appear as drop-downs in the Add a New Manual Alias and Add a New Automatic Alias screens.
www.example.com/dynamic.aspx
. If this happens, and a site visitor types such an address into the browser, this check box determines if the template page or the alias appears. If this box is checked, the alias appears instead of the template.NOTE: The template must be defined within the Workarea Settings > Template Configuration screen.
If this box is checked—If the content exists in the new language, it appears. If not the content appears in the original language. If this box is unchecked—Site visitor sees a 404 error. For example, if the box is checked and a site visitor browses to content using an alias...
alias’s query string parameter:
http://www.example.com/Contact.aspx?id=84
Target: http://www.example.com/aboutus.aspx?id=35&UserId=10
Result: http://www.example.com/aboutus.aspx?id=84&UserId=10
(id=35 is replaced by id=84 since it matched the query string parameter. UserId=10 was not affected because it did not match the alias query string parameter.)
alias’s query string parameter:
http://www.ektron.com/Contact.aspx?id=84
Target: http://www.ektron.com/aboutus.aspx?id=35&Userid=1
Result: http://www.ektron.com/aboutus.aspx?id=84
(The target parameters id=35&Userid=1 are replaced by the alias parameter id=84)
Alias: http://www.ektron.com/Contact.aspx?id=84&lang=1033
Target: http://www.ektron.com/aboutus.aspx?id=35&Userid=1
Result: http://www.ektron.com/aboutus.aspx?id=35&Userid=1 & id=84&lang=1033
(The parameter from the alias is appended to the target)
Quicklink Cache Fields
An non-alias URL is cached whenever anyone uses it. It remains in the cache for the number of seconds set in the Cache Duration field.
If more than this number of non-aliased Urls needs to be added to the cache, Ektron makes room for new ones by removing old ones that have been in the cache for the longest time. If you increase the number, it is possible that your performance will improve. But at some point, the size of the cache may degrade your server’s performance. See Also: Clearing the Manual Alias Cache .
NOTE: If your Ektron supports multi-site configurations, this setting only affects the site to which you are logged on. To set a cache duration for other sites, sign in to each site’s Workarea > Settings > Url Aliasing > Settings, then set its cache duration values.
If your server runs IIS7 or higher, the following restrictions apply.
This section explains how IIS7 handles Web page extensions other than .aspx. There are 2 scenarios.
In the Handler Mappings list, move non-aspx extensions (for example, .asp, .php, .cfm) above ek* because extensions below ek* are handled by aliasing.
NOTE: After you do this, you cannot use these extensions as part of an alias. So, do not enter them into the Extension field of the URL Aliasing Configuration screen.
Set up Aliases for non-aspx Pages
To use extensions other than .aspx for aliasing Web pages:
IMPORTANT: Only use this section if you are using IIS6. If you are using IIS7 or higher, you can ignore this section.
By default, Ektron supplies the following extensions.
To enable other extensions:
If Wildcard Mapping in IIS is turned off, you must enter the new extension into IIS. To do this, go to the Windows Start button > Administrative Tools > IIS manager.
aspnet_isapi.dll
. (The path is found in the Executable field.)aspnet_isapi.dll
(which you copied in Step 8).
WARNING! If your Ektron supports multi-site configurations, you must sign in to each site’s Workarea, then manually clear its cache.
You can set the default document file (for example, default.aspx) for client requests of a Web site that did not specify a document name. For example,www.example.com/jobs
. If the default document is default.aspx
, this URL resolves to www.example.com/jobs/default.aspx
.
NOTE: The concept of default document is explained in the following Microsoft KB article: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/dc6eb1b4-9028-4308-9935-52b64edfad36.mspx.
The ek_DefaultPage
element determines your Web site’s default document whether you are using URL Aliasing or not. Identify one or more default documents in the siteroot/web.config
file’s ek_DefaultPage
element.
If a site visitor enters an address without a page name, Ektron refers to ek_DefaultPage
’s values. For example, the first page is default.aspx
. If found, that page displays. If not, it looks for the second page listed, and so on.
If no pages are found or a page is not specified in ek_DefaultPage
, what happens next depends on your server's IIS version.
ek_DefaultPage
is blank in web.config
, default documents listed in IIS6 are used. If ek_DefaultPage
has one or more pages but none of them exists on the server, a Page not Found (404) message appears.When using manual aliasing, you choose a page name then specify content to appear whenever anyone enters that URL. For example, you can alias www.example.com/cms/index.aspx
as www.example.com/cms/Launch.html
. From then on, the content can be identified either by its original URL or its alias. You can assign any number manual of aliases to a content block.
You cannot apply an alias to the root Web site. For example, you cannot alias www.example.com with www.example2.com. However, you can alias anything below the root folder.
On multi-site environments, you can apply an alias to a folder on the root site, or to a folder on other sites, but not both. For example, you can have the alias content.aspx
applied to a root-folder, but then the content.aspx
alias cannot be used on a site-folder at the same time. However, if you apply content.aspx
to site1-folder, you can also apply content.aspx
to site2-folder.
To activate manual aliasing, choose Settings > Configuration > URL Aliasing > Settings. The URL Aliasing Configuration screen appears which indicates if manual aliasing is currently on or off. To change its state, click Edit, check or uncheck the box, and click Save.
You can assign aliases manually in the following ways.
Administrators and users assigned to the Alias-admin role can create or update any number of primary and secondary aliases. See Adding/Editing a Manual Alias via the Page Name Maintenance Screen.
Users with permission to edit content can create or update a primary alias. (The Alias tab displays secondary aliases but does not let users change them.) See Adding a Manual Alias via the Alias Tab.
Prerequisites
To add a manual alias via the Page Name Maintenance screen:
The primary alias appears in the browser when a user hovers the cursor over a link, such as within a ListSummary or a collection. It also appears in the browser address field after the content is selected. See . If a user clicks a content block’s Alias tab, he can only see and edit the primary manual alias. See Also: Adding a Manual Alias via the Alias Tab.
NOTE: If there are many aliases, use the search to find one. You can filter by alias name, Content ID, and so on.
(comma), (space), \, <, >, “, :, |
. Also, it must be unique within the site and language. To the right of Alias Name is a pull-down menu of valid extensions. Select 1 to apply to this alias. Extensions are defined on the URL Aliasing Configuration screen.
NOTE: Only content in the language chosen on the Page Name Maintenance screen appears.
NOTE: A folder’s content appears below its subfolder list. You may have to scroll down to see the content.
alias’s query string parameter:
http://www.example.com/Contact.aspx?id=84
Target: http://www.example.com/aboutus.aspx?id=35&UserId=10
Result: http://www.example.com/aboutus.aspx?id=84&UserId=10
(id=35 is replaced by id=84 since it matched the query string parameter. UserId=10 was not affected because it did not match the alias query string parameter.)
alias’s query string parameter:
http://www.ektron.com/Contact.aspx?id=84
Target: http://www.ektron.com/aboutus.aspx?id=35&Userid=1
Result: http://www.ektron.com/aboutus.aspx?id=84
(The target parameters id=35&Userid=1 are replaced by the alias parameter id=84)
Alias: http://www.ektron.com/Contact.aspx?id=84&lang=1033
Target: http://www.ektron.com/aboutus.aspx?id=35&Userid=1
Result: http://www.ektron.com/aboutus.aspx?id=35&Userid=1 & id=84&lang=1033
(The parameter from the alias is appended to the target)
?gclid=CO7gs_L0_ZICFRkTIgodBgV9CQ
. Your Web site's analytics software can track the source of the query through the variable.NOTE: Within the page load event that returns the query string parameters, use the Request.RawURL()
property instead of request.querystring
.
After you enable manual aliasing, every content block includes an Alias tab. You can use that tab to view and update the content’s primary alias.
NOTE: If you insert/update an alias via the Alias tab, it is available only after the content is published. Also, a content's folder may require its content to have a manual alias. If so, you must add a manual alias before you can add new or editing existing content.
Prerequisites
To add a manual URL alias via the Alias tab:
(comma), (space), \, <, >, “, :, |
. Also, it must be unique within this site and language.Using the Page Name Maintenance Screen, you can delete the primary and any secondary manual aliases.
WARNING! If you want to delete a primary manual alias while secondary aliases exist, you must first designate one of the secondary aliases as the primary. You can only delete the primary alias if no secondary aliases exist.
To remove a manual alias via the Page Name Maintenance Screen:
Using a content block’s Alias tab, you can delete a primary manual alias only if no secondary aliases exist. If secondary aliases exist and you want to delete or replace the primary alias, you must use the Manual Aliased Page Name Maintenance screen.
You can neither see nor delete secondary manual aliases from the Alias tab.
NOTE: If you delete an alias via the Alias tab, the change only goes live after the content is published.
To remove the primary manual alias by editing the associated content block:
Automatic aliasing lets you assign an alias to several content items at one time. You identify content by either taxonomy or folder. Then, select additional elements of the alias pattern and save all information as a configuration.
You can create 1 automatic aliasing configuration for each folder or taxonomy. Because you can assign a single content block to several taxonomies, it can have many automatic aliases.
When you activate an automatic alias configuration, an alias is assigned to content in the taxonomy or folder (and its subfolders). From then on, that content can be identified by its automatic alias. Also, any content added to the folder/taxonomy in the future is assigned that alias as long as the configuration is active.
To enable automatic aliasing, choose Settings > Configuration > URL Aliasing > Settings. The screen indicates if automatic aliasing is currently on or off. To change its state, click Edit, check or uncheck the box, and click Save.
Automatic alias pattern combines the following elements—separated by a slash (/)—in the following order.
www.example.com/Medical_Conditions/Kidney_Disease/
.www.example.com/CMS400Developer/CMS400Demo/About_Us/Company_Profile/Board_of_Directors.aspx
.NOTE: You can use the Customize Alias Path field to determine which path components appear in the pattern. See Also: Customize Alias Path—By default, the automatic alias pattern displays folders or taxonomy levels from the top to the level you select. You can use this field to control which folders/taxonomy levels appear in the pattern. For example, your Alias Root is based on the following folder path: /CMS400Demo/About Us/Careers. Using this field, you can choose any of the following to indicate the folder or taxonomy path in the automatic alias pattern.
Spaces are replaced by the Replacement Character specified on the Add/Edit Alias screen.
Examples:
Folder-based automatic alias
www.example.com/CMS400Demo/About_Us/Company_Profile/Awards_and_Honors/ www.example.com/CMS400Demo/About_Us/Company_Profile/12548/ www.example.com/CMS400Demo/About_Us/Company_Profile/12584/1033
Taxonomy-based automatic alias
www.example.com/cms400/MapCategory/Restaurant/Chinese/You_You_Japanese_Bistro/
NOTE: Ektron lets users create content with the same title in different folders. If an automatic alias based on a taxonomy is created, and the same taxonomy node is applied to 2 content items with the same title, both items will have the same automatic alias. To avoid this problem, do not allow users to assign the same name to more than one content item.
After enabling automatic URL aliasing, you can create a configuration, which lets you
A configuration must have a unique combination of Source Type, Alias Root, Alias Format, and Extension. For example:
You cannot create a configuration whose values match an existing one.
To create an automatic alias configuration:
NOTE: On the Auto Aliased Page Name Maintenance screen, a folder-based alias’ Lang column shows a United Nations flag (). This indicates that folders are language-neutral.
NOTE: If the language selector was set to All on the Auto Aliased Page Name Maintenance screen, and you chose Taxonomy as the Source Type, No Taxonomy appears here. This indicates that you must return to the Auto Aliased Page Name Maintenance screen and select a language before you can select a taxonomy as the Alias Root.
Sample Content Block
30
30/1033
About Us
, and you enter an underscore (_) here, the aliased version of the title is About_Us
.You cannot enter one of the following as the replacement character: [, \ / < > (Space): |? '] # * &%
NOTE: If you're using IISdmin (Microsoft Vista or Server 2008), and specify a plus sign (+), you get this error: HTTP Error 404.11 Not Found The request filtering module is configured to deny a request that contains a double escape sequence
. For a solution, see http://support.microsoft.com/kb/942076/en-us.
taxid
. Here is an example of the parameter in a URL: http://localhost/eIntranetv2/Blogs.aspx?id=238&blogid=115&taxId=28
WARNING! Do not enter id
here because that will clash with the content id.
Do not enter more than one parameter.
/CMS400Demo/About Us/Careers
. Using this field, you can choose any of the following to indicate the folder or taxonomy path in the automatic alias pattern.To see any content item’s fully aliased URL, navigate to it and click its Alias tab.
To view or edit an automatic alias configuration, choose Settings > Configuration > URL Aliasing > Automatic screen.
NOTE: Use the screen’s language selector to find taxonomy-based configurations of a selected language.
From the Auto Aliased Page Name Maintenance screen, click the alias configuration that you want to view.
To edit an automatic alias, view it then click Edit.
When you temporarily deactivate an automatic alias configuration, automatic aliases created by that configuration are removed from all content to which they are applied. The configuration is saved, so you can reactive it.
A RegEx lets site visitors enter a descriptive URL into the browser address field and transform that entry into the query string component of an Ektron page. This lets site visitors “guess” other pages based on a recognizable pattern.
For example, a RegEx expression aliases blogs.aspx?blogmonth=3&blogyear=2013&blogid=41
as blogs/2013/03/41
. From that, a site visitor can infer that blogs/2013/03/40
would display the previous post, and blogs/2013/03
would display March 2013 posts, and so on.
http://ecmintranet/blogs.aspx?blogmonth=3&blogyear=2013
PageName.aspx?year=$1 & month=$2
The Expression and Example URL field values fill in, using information from the Expression Map.
To continue the example, change the Expression Map field so that it looks like this.
www.example/com/blogs/2013/03/41 to access a blog page even though the actual URL is www.example/com/blogs/blogs.aspx?blogmonth=3&blogyear=2013&blogid=4
$1
, $2
, and so on.) in the Expression map. If you want to insert a question mark into the Expression, you must precede it with a backslash (\). $1
, $2
, and so on. As a result, a site visitor can identify other pages that use this pattern by changing the variable values. You can click Expression Library to view sample RegEx expression maps. To copy any map that resembles your page pattern, click it then modify it.This field enhances the aliasing feature's response time—it first tries to match a site visitor’s entry with high priority expressions, then medium, then low.
blogs/2013/03/41
.Community Aliasing lets you assign an alias for community groups or users, so that a site visitor can enter an easy to use URL to find them. For example, John sets up the following community alias to identify the Marketing group: http://<website>/Marketing/
. If John wants a friendly URL for his community profile, he sets the community alias type to User and applies this URL: http://<website>/John/
After enabling Community Aliasing, you can set up several community aliases. For each alias, you can
To configure a Community Alias:
—Field descriptions—
people
, the URL to a user named John would be: http://<sitename>/people/john.
See Also: Automatic Alias Pattern; Automatic URL Aliasing
About Us
, and you enter an underscore (_), the aliased title is About_Us
. You cannot enter these for the replacement character: [, \ / < > (Space): |? '] # * &% NOTE: If you're using IISAdmin (Microsoft Vista or Server 2008), and specify a plus sign (+), you get this error: HTTP Error 404.11 Not Found The request filtering module is configured to deny a request that contains a double escape sequence
. For a solution, see http://support.microsoft.com/kb/942076/en-us.
taxid
. Here is an example of the parameter in a URL: http://localhost/eIntranetv2/Blogs.aspx?id=238&blogid=115&taxId=281admin
WARNING! Do not enter id
here because that will clash with the content id.
Do not enter more than one parameter.
To see any content item’s fully aliased URL, navigate to it and click its Alias tab.
When you temporarily deactivate a Community URL alias, Community aliases are removed from all users or groups to which they are applied. The configuration is saved, so you can reactive.
IMPORTANT: You cannot deactivate a Primary Alias if secondary aliases exist. First set the another alias to primary, then deactivate the alias that used to be primary.
Follow these steps to delete an Automatic Aliasing Configuration. When you do, automatic aliases are removed from all content to which they are applied.
IMPORTANT: You cannot delete a Primary Alias if secondary aliases exists. First, set the another alias to primary, then delete the alias that used to be primary.
If you do not see the community alias when you hover over or click a link to a community group or user, check the following.
TemplateUserProfile
setting. If it does, that value takes precedence over the URL alias. For one server control example, see ActivityStream Server Control.Activity streams, SMS, and email notification messages that include links to users or community groups use the community URL alias in their links. If you want to show the template alias, use the proper token in the message. For example, to use the alias for the SubjectUser, use the @SubjectUser.TemplateAlias@
token in your message. See Also: Working with Tokens.
If you enable a user-based community alias, all Ektron and community users display their alias name on their profile's Profile Links tab.
Similarly, if you enable a group-based community alias, community groups display their alias name on the profile's Links tab.
If your site supports the multi-site feature, you can enter aliases for any site. For example, your company’s name just changed from Bionics to NewGen. You can use the site aliasing feature to resolve the url www.bionics.com
to www.newgen.com
.
NOTE: If your Ektron supports multi-site configurations, an automatic alias assigned to a taxonomy will apply to content in all sites. This is because taxonomy is site independent.
IMPORTANT: If the site being aliased resides in a folder under your server’s Web root folder (for example, ser4325/min), you must add the subfolder to the alias. For example, you could not enter http://www.myalias.com
as an alias for that site. Instead, enter http://www.myalias.com/min/
.
Prerequisite: Multi-site is enabled.
NOTE: You cannot apply an alias to the root Web site. For example, you cannot alias www.example.com
with www.example2.com
. However, you can alias anything below the root folder. On multi-site environments, you can apply an alias to a folder on the root site, or to a folder on other sites, but not both. For example, you can have the alias content.aspx
applied to a root-folder, but then the content.aspx
alias cannot be used on a site-folder at the same time. However, if you apply content.aspx
to site1-folder, you can also apply content.aspx
to site2-folder.
NOTE: The alias cannot end with a slash (/).
From now on, if a site visitor enters the alias into a browser address field, he is redirected to the site URL (set on the folder properties tab’s Production Domain field).
If Ektron has several foreign-language versions of content that share an ID, you can alias only one of them and check the URL Aliasing Configuration screen’s Disable Language Awareness checkbox. Then, when a site visitor selects a language in which to view your site and enters the alias, Ektron displays the aliased content in the selected language.
If you prefer, you can assign a different alias to each language version of content. To do this, select the content, language, go to the Alias tab, and assign a language-specific alias. For example, your English home page’s alias is default, while your Spanish alias is defecto.
Also, alias names must be unique only within a language. So, for example, you cannot have 2 aliases named Ektron
within U.S. English content. But, you can have 2 two aliases namedEktron
if one is applied to U.S. English content, and the other applies to Spanish content.
To use aliasing on a 64-bit server running Windows 2008:
siteroot/web.config
file.<add name="ek*" path="*" verb="GET,HEAD,POST" type="Ektron.ASM.EkHttpDavHandler.EkDavHttpHandlerFactory" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" preCondition="" />
ek
handler shown above.<add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="File" />