Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top
URLs that are optimized for search engines also make it easier for website visitors to navigate to and throughout your website. Friendly URLs preclude the need for visitors to have to write down or memorize hard to remember addresses. Furthermore, an optimized URL better represents the contents of a page content item and its location on the website which means that visitors can more quickly find the page(s) what they are looking for. Because optimized URLs benefit both search engines and visitors, they are referred to as "friendly URLs".


Tip

See also the website_settings section of the General tab of the Setup Tool for more information about settings that influence how friendly URLs are constructed in XperienCentral.


In This Topic

Table of Contents
maxLevel2

...

When XperienCentral's SEO component is installed, theoretically all URLs for your website are friendly. The friendly URL for pages is constructed using the page's location in the navigation tree together with the URL title, navigation title, or page title (depending on how SEO is configured). For example, if a page has the title "XperienCentral", then the URL of the page will be .../xperiencentral.htm (or .html). With SEO disabled, the URL of a page is not created using the pagespage's friendly URL title, instead an internal ID as assigned to pages within XperienCentral is used, for example .../id=77581/langid=42. For search engines and users, the unfriendly URL provides no useful meaning regarding the contents of the page and/or its location in the website's navigation hierarchy. 


Anchor
how_friendly_urls_are_constructed
how_friendly_urls_are_constructed
How Friendly URLs are Constructed

The friendly URL of an item in XperienCentral includes the relative path to the item based on the structure of the navigation tree, the title of the item and an extension, in much the same way that a path for a file is delineated in a file system. The precise URL that an item will be assigned is derived using a set of rules that evaluate the item's title(s) as well as its location in the website's navigation hierarchy. In XperienCentral, you can assign the following three titles to pages/content items:

TitleDescription
URL TitleThe title to use in the friendly URL for the item.
Navigation TitleThe title that will be used for the page in your website's navigation tree. Navigation titles only apply to pages.
Page/Content item titleThe title of the item itself that appears when the page or content item displays in the browser.


When determining which of the three titles to use in the friendly URL, the following title sequence is stepped through by XperienCentral:

  1. URL title. If there is a URL title assigned to a page or item, it takes precedence and is always used in the friendly URL. To the URL title, the The path and friendly URL extension, prefix, and separator will be added to the URL title.
  2. Navigation title (pages only). If a page has no URL title assigned to it, the navigation title is used in the friendly URL. To the navigation title, the The path and the friendly URL extension, prefix and separator will be added to the navigation title, .
  3. Item title. If the page/content item has no URL title or navigation title assigned to it, the title of the item itself is used in the friendly URL. To the title, the path and the The path and the friendly URL extension, prefix and separator will be added to the title. Note: If a page has no navigation title, the title of the page is also used as the navigation title in the navigation tree of the website.

...

  • The URL's extension is set to .htm. The extension is defined by the friendly_url_extension setting in the General tab of the Setup Tool).
  • The separator symbol, which is substituted for spaces that appear in titles, is a dash (-). The separator symbol is defined by the friendly_url_separator setting in the General tab of the XperienCentral Setup Tool. The default is a dash (-).

 


TitleNavigation TitleURL TitleFriendly URL
Welcome to GXWelcome 
/Welcomewelcome.htm
   News  

Welcome/Newswelcome/news.htm
      Articles  

Welcome/News/Articlewelcome/news/articles.htm
      News Archive  

Welcome/News/News-Archivewelcome/news/news-archive.htm
   Products overview 
ProductsWelcomewelcome/Productsproducts.htm
      XperienCentral  

Welcome/Products/GX-XperienCentralwelcome/products/xperiencentral.htm

 


For Content Repository items, the situation is a bit different. Because Content Repository items do not have navigation titles, only the URL title or the title of the item itself is used in the friendly URL. If a content item has a URL title, it is used in the friendly URL, otherwise the title of the content item itself is used. The exact friendly URL that a content item will have when it is viewed depends on the page on which it is displayed.

For example, if a content item has the title "GX releases XperienCentral 10", the friendly URL of the content item is 'GX-releases-XperienCentral-10.htm'. There is no hierarchical structure prefixed internally to the friendly URL of the content item because it is stored in the Content Repository. When the content item is displayed on a page, the hierarchical structure of the 'display on' page is prefixed to the content item's friendly URL with the result being the friendly URL for the page and the content item. Based on the example friendly URLs shown in the table above, the friendly URLs for the following sample content items would be:


Content Item TitleDisplay on PageFriendly URL
XperienCentral 10ProductsWelcomewelcome/Productsproducts/GXxperiencentral-XperienCentral-10.htm
EngagementArticlesWelcomewelcome/Newsnews/Articlesarticles/Engagementengagement.htm
Version 10XperienCentralWelcomewelcome/Productsproducts/GX-XperienCentralxperiencentral/Versionversion-10.htm

Google News ID for Articles


Info

The example Friendly URLs in the table above do not take into account the configuration of the seo_path setting on the General tab in the Setup Tool.

Google News ID for Articles

If the Google News ID has been enabled in XperienCentral, the friendly If the Google News id has been enabled in XperienCentral, the friendly URL of content items is generated in a slightly different manner. A unique id ID (number) is prefixed to the part of the friendly URL just before the title of the article, for example,.../02041/GX-releases-XperienCentral-version-10,htm. This is done in order to satisfy a requirement of the Google News article aggregation service.

...

XperienCentral does not distinguish between uppercase and lowercase letters when resolving URLs. That is, the URLs http://www.gxsoftware.com/Welcome.htm and http://www.gxsoftware.com/welcome.htm resolve to the same address. While friendly URLs in XperienCentral can be a mixture of uppercase and lowercase letters as displayed in the address bar of a browser, all versions of an address using a mixture of cases are the same.

...

In addition to the friendly URL, a content item can also be navigated to from a second friendly URL that omits the friendly URL separator. For example, if the friendly URL separator is a dash (-) and the friendly URL for a page is

gx-products.htm

then the above page is also available at the friendly URL

gxproducts.htm 


Back to top 


...

Page Title Uniqueness

In XperienCentral it is not required that all web pages have a unique title. Because the friendly URL is determined based on the title of a page plus its location in the navigation structure, two or more pages can have the same title and not have friendly URL conflicts. For example:

Parent Page Title(s)Page TitleFriendly URL
GX/SupportContactGXgx/Supportsupport/Contactcontact.htm
GX/SalesContactGXgx/Salessales/Contactcontact.htm
GX PublicContactGXgx-Publicpublic/Contactcontact.htm

In the example above, the "Contact" pages all have the page title "Contact" but because of their relative locations in the site structure, the friendly URLs for the pages remain unique. Given the fact that the friendly URL is determined by a page's title (URL, navigation, page), the following situation in which three pages in the same tree have the same page title also does not lead to friendly URL conflicts:

Parent Page Title(s)URL TitleNavigation TitlePage TitleFriendly URL
GX/SalesContacting 
ContactGXgx/Salessales/Contactingcontacting.htm
GX/Sales 
Contact usContactGXgx/Salessales/Contactcontact-us.htm
GX/Sales  

ContactGXgx/Salessales/Contactcontact.htm


Info

The example Friendly URLs in the tables above do not take into account the configuration of the seo_path setting on the General tab in the Setup Tool.



Back to top 


...

Content Item Title Uniqueness

...

  • All titles used in the friendly URL of all other content items in the Content Repository (URL title/ content item title)
  • All titles that are currently used in the friendly URL of a page (URL title, navigation title, page title)
  • All titles that are currently used in the friendly URL of all pages in all web initiatives channels where the content item can appear
  • All friendly URLs assigned to external (database) objects

This is because content items can be displayed on any page and therefore XperienCentral has no way of determining at the time that a content item is created where it will be displayed and therefore what its full friendly URL will be. XperienCentral only compares the friendly URL of newly created content items to last part of all existing friendly URLs '. htm'. For example, creating a content item that resolves to the friendly URL 'Contact.htm' would lead to a friendly URL conflict with all the pages in the following table:

Parent Page TitlesURL TitleNavigation TitlePage TitleLTitleFriendly URL
GX/PublicContact 
Contacting usGXgx/Publicpublic/Contactcontact.htm
GX/Sales 
ContactContact GXGXgx/Salessales/Contactcontact.htm
GX/Support  

ContactGXgx/Supportsupport/Contactcontact.htm


In XperienCentral, when two pages/items attempt to resolve to the same friendly URL, the conflict is resolved automatically. The mechanism for resolving friendly URLs is fully described in How Friendly URLs are Constructed.


Info

The example Friendly URLs in the table above do not take into account the configuration of the seo_path setting on the General tab in the Setup Tool.



Back to top

 


...

Anchor
friendly_url_claiming
friendly_url_claiming
Friendly URL Claiming

...

XperienCentral determines which item claims a friendly URL in a straightforward manner: The item that was created first claims the friendly URL it wants — All other items that try to claim that friendly URL are assigned a different, unique URL based on the name of the original. For items that attempt to use a claimed URL, a dash (-) plus a number is appended to the end of the original friendly URL and that is used in the address for the item. The number increments by one for each successive item that wants to claim the original friendly URL in the order they are created. The following simple example assumes that the pages are assigned no URL or navigation title but share the same page title in the same tree structure:

Order CreatedPage TitleFriendly URL
1ContactContactcontact.htm
2ContactContactcontact-1.htm
3ContactContactcontact-2.htm
4ContactContactcontact-3.htm


As you can see above, if you create a page named "Contact" and then later another with the same name in the same tree structure, the second page will be assigned the friendly URL "Contact-1.htm", the third "Contact-2.htm", and so forth.

The example above shows how page titles that attempt to claim the same URL are resolved. It is also possible to have URL conflicts that are the result of more complicated circumstances, such as URL titles and/or navigation titles that conflict with a page or object title or navigation titles that conflict with each other, content item titles that conflict with a page's friendly URL, and so forth. The following table shows what the URL result would be for conflicts at a variety of title and navigation title levels.

Order CreatedURL TitleNavigation TitlePage TitleFriendly URL
1Contact 
ContactContactcontact.htm
2 
Contact 
Contactcontact-1.htm
3 
Contact usContactContactcontact-us.htm
4  

ContactContactcontact-2.htm
5Contact 
Contacting GXContactcontact-3.htm


Back to top


...


Panel
borderColor#0081C0
titleColor#0081C0

The following applies to XperienCentral versions R36 and higher.

Friendly URL Conflict Indicator

When you create a new page or content item, XperienCentral assigns a friendly URL to it based on the rules explained in the previous sections. For each new page/ content item you create, a check is made to see whether the requested friendly URL is available. If the friendly URL that the page/ content item wants is available, it is granted. If, however, the friendly URL is already in use, a message will appear above the page/content item in the "Properties of all versions" section of the SEO tab in Content Item Properties indicating that the desired friendly URL is already in use and that a new friendly URL has been assigned to the current page/content item. For example, the friendly URL title 'Contact' A friendly URL can already be used by another content item or it can also be a reserved context path. For example, the friendly URL "Contact" is already claimed by another page or content item. When the page below entitled "Contact" is created, an indicator that the friendly URL is already claimed displays above the pagein the SEO tab of the Content Item Properties panel:


Image Added


In the example above, the message that displays is: "URL is set to 'Contact/contact-1.htm'. Contact already uses URL 'Contact.htm'" ". In this case, because the friendly URL 'Contact"contact.htm' " is already claimed, the current page content item is automatically assigned the URL 'Contact"contact-1' ,htm" to ensure that all friendly URLs remain unique.  The above action is performed on all XperienCentral pages and content items that attempt to use a friendly URL that is already claimed. To link to the page/ content item that is claiming the friendly URL that the current page/ content item wants, click the name of the item that is claiming the friendly URL that you want to use in the indicator ('"Contact' " in the example above).

When the friendly URL you want to use for an item is already claimed, you have the following options:

Likewise, when a content item attempts to claim a friendly URL that is a reserved context path, that is indicated. For example:


Image Added


In the example above, "salesforce" is a reserved context path. If you create a content item with the same name, you will see a message similar to that shown above.

When the friendly URL you want to use for an item is already claimed, you have the following options:

  • Accept the friendly URL as assigned by XperienCentral.
  • Rename the title (URL, navigation,
  • Accept the friendly URL as assigned by XperienCentral.
  • Rename the title (URL, navigation, page) of the current page/ content item that is attempting to use the claimed friendly URL to a desired, unclaimed friendly URL.
  • If the title of the page or content content item itself conflicts with a claimed friendly URL but you nevertheless want to continue using it, add an unused navigation or URL title that does not produce a friendly URL conflict. For page title conflicts, you can also make use of an alternate URL path to avoid the conflict. Alternate URL paths are described in detail in Using Alternate URL Paths.
  • Release the URL from the page/ content item that is claiming it so that it can be used by the current page/ content item. See Releasing Claimed Friendly URLs for complete information.
  • If the conflict is caused by a reserved context path, you must either select a different URL or modify the reserved context path in the application_settings section of the General tab in the Setup Tool.



Back to top

 


...

Maintaining Friendly URLs

...

In the overview, the column headings have the following meanings:

HeadingDescription
idAn internal identifier for the friendly URL within XperienCentral. IDs are assigned in the order that friendly URLs are created, beginning with 1 and incrementing by 1 for each new friendly URL.
URL titleThe title of the friendly URL as derived from the URL title, navigation title, or page/content item title.
Normalized URL titleThe friendly URL title after it has been normalized. Normalizing URL titles is necessary in order to ensure that they are valid for browsers. The normalizing of friendly URL titles is described in detail in the section URL Title Standardization.

Note: The normalized URL title as it appears in the exported list does not preserve case usage and does not contain the separator symbol that is substituted for spaces in the friendly URL
QuerystringAn internal string that XperienCentral uses to retrieve pages, content items, and external database objects. The query string syntax for each item type within XperienCentral has a unique form, for example:
  • Pages - &id=43137&langid=42
  • Media Repository articles - &contentid=3
  • External objects - &dbid=12901&typeofpage=40054
Current URL TitleSpecifies the identifier (from column 1) that is the current friendly URL for this item. If an item contains an entry in this column, it means that it is no longer an active URL: When this friendly URL is navigated to, the visitor will be redirected to the friendly URL referenced by the id in 'Current URL title' instead.See Maintaining Items with More Than One Friendly URL for more information.
WebsiteIDAn internal identifier that refers to the web initiative channel that the page belongs to. Content Repository items are assigned the value "-1" because they can appear in any web initiative channel in the configuration and therefore do not belong to a specific one.

...

  1. Navigate to Configuration > SEO.
  2. On the [Overview] tab, select "All pages without friendly URLs". The items without a friendly URL are listed. If any items appear in the list, you can manually recalculate the friendly URL for some or all items on your website.
  3. Click the [Friendly URLs] tab.
  4. Select the type of recalculation to be performed:
    • Calculate the friendly URL for all items which have no friendly URL yet. A friendly URL will be assigned only to the selected items currently lacking a friendly URL.
    • Recalculate the friendly URL for all items. A friendly URL will be calculated for all the selected items belonging to the current web initiativechannel. Note: The URL history for pages and content items will be preserved.
  5. Select the items for which the friendly URL calculation will be performed: "Pages" or "Content Repository items".
  6. Click [Calculate]. Items with no friendly URL will be assigned one.

 

...



Back to top 


...


Panel

...

borderColor

...

#0081C0

 

 

 

 

 

...

titleColor#0081C0

The following applies to XperienCentral versions R36 and higher. This documentation is meant for developers and application managers.

Running XperienCentral without a Friendly URL Extension

It is possible to run XperienCentral without using a friendly URL extension. This means that URLs like /contact are possible. In order to activate this feature, a few changes need to be made to both the configuration of Apache and XperienCentral.

Updating the Apache Configuration

In an existing Apache environment, the following configuration is usually used to route traffic from Apache to XperienCentral:

R35 and earlier


Code Block
themeEclipse
RewriteCond %{REQUEST_URI} !^/web/
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^/(.*)\.htm$ /web/$1.htm [PT,L]

R36 and later


Code Block
themeEclipse
RewriteCond %{REQUEST_URI} !^/web/
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^/(.*)\.htm$ /web/seo/$1.htm [PT,L]


When the friendly URL is blank (extensionless), it can no longer be redirected. Use the following code to run XperienCentral without a friendly URL extension.


Code Block
themeEclipse
DirectoryIndex index.html 

<IfModule mod_rewrite.c>
   RewriteEngine On

   #Optional to make sure that old urls are redirected to XC properly
   RewriteRule ^(.*).htm$ $1 [R=301,L]

   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_URI} !^/web/ 
   RewriteCond %{REQUEST_URI} !^/systemlogs 
   RewriteCond %{REQUEST_URI} !^/static
   RewriteCond %{REQUEST_URI} !^/upload
   RewriteCond %{REQUEST_URI} !^/upload_mm
  RewriteRule ^(.*)$ /web/seo$1 [PT,L]   
</IfModule>


In order to active extensionless friendly URL's in XperienCentral, the following steps should be executed:

Update the Friendly URL Setting application_settings.friendly_url_extension

Clear the field.

Clearing the cache

Since the cached files in XperienCentral contain links with the extension still included, the cache should be cleared entirely (see Server Configuration). There are two ways to do this. You can either use "Initialize caching" or set all the other timestamps. Initialize caching should only be used on an environment which is not currently in production. When the server is not running in production you can use the Initialize caching option and then reindex the frontend search index to preload the cache before going live again.

The other option is to click "Update timestamps" for all options except for "Initialize caching". This means that a page is refreshed in the background after it's been served from the cache the first time it was requested after the timestamps have been updated. This does mean that the user that requests the page for the first time after the timestamps have been set will be served a cached version with links that won't work. In order to prevent the user from getting 404 errors, you can configure Apache to rewrite any URLs containing the old extension to the version without the extension. See "Updating the Apache Configuration" above for an example.

Reindex the Frontend Index

The frontend index contains links with the old friendly URL extension, so in order to fix that the frontend search index should be rebuilt. If the Apache RewriteRule to strip the extension from any incoming URLs is used, this may be done in production because the old URLs will be rewritten by Apache to the new format.

Configure Reserved Context Paths

When running XperienCentral without an extension, a few paths should be added to the application_settings.reserved_context_paths (see reserved_context_path) in the General tab of the Setup Tool. The following values should be added:

  • web
  • static
  • upload
  • upload_mm
  • cfg
  • info
  • wm