Give us feedback
Web icon

SEO Utils

Stable version 1.1.1 (Compatible with OutSystems 11)
Other versions available for 10 and Older
Uploaded on 28 March 2019 by 
 (4 ratings)

SEO Utils

This component provides additional functionality when you are building or generating SEO-friendly “pretty” URLs
Read more


The current version of the Extension is comprised of 2 Actions/Functions:

GetScreenURL – This function returns the URL of the specified Screen and the accompanying parameters. This action is SEO aware: if there is a Page Rule for the specified page and parameters, it will return this “pretty” URL. Otherwise, the function will return the “normal” URL (including parameters in Query string).

GetCleanArgument – This function prettifies the specified text so that it can be used to produce better-looking URLs. e.g. "'Variable' can not be set if 'Source Entity/Struct' not set" becomes "variable-can-not-be-set-if-source-entity-struct-not-set" (no quotes).

While it’s possible to obtain the “pretty” URL version of the current screen (by calling the GetBookmarkableURL built-in action) and the OutSystems platform already generates “pretty” URL links to other screens in the current eSpace (using any existing Page rules), there is currently  no out-of-the-box way of obtaining the “prettified” URL of an arbitrary screen in some other eSpace.

In the interest of keeping the number of circular references down to a minimum, it’s not uncommon to use an External Site node to jump to a specific screen that resides elsewhere in your factory. This is where GetScreenURL comes in: rather than you hardwiring a path on your inter-eSpace jumps, calling GetScreenURL gives you the right URL by dynamically looking into the platform’s internal metamodel to provide you with the current “pretty” URL if it exists, and the “normal” URL if it does not.

In the same vein, it is not uncommon to have SEO rules where one or more parameters are used strictly for URL decoration purposes. An example is OutSystems’ forum discussion page links such as<id>/<this-is-the-topic-title>

We only really need the <id> to look up the discussion; the last tuple is merely for human and SEO benefit and we must make sure that any odd characters don’t break the URL. This is an obvious example of where you want to use GetCleanArgument: to generate a browser-friendly, human readable snippet to appear in the URLs you assemble.

System Requirements and Limitations

  • Does not support Personal Test Areas (i.e. "Run" from Service Studio) or in-URL (i.e. cookieless) sessions.
  • Certain OutSystems cloud options do not support the underlying SEO feature (e.g. Personal Environment)
Release notes (1.1.1)
  • Fixed type conversion error, when extension was running over Oracle
Reviews (0)