As there doesn’t seem to be any doc pages on this i’ll add notes here about where the code is at the moment, much of this could do with some refactoring and improvements, but this is how things stand as of Tiki 17.x Jonny Bradley
There is also this page Search engine optimization which seems to contain notes also about SEFURLs, not SEO (TODO tidy up)
The rules for Tiki’s SEFURL system currently exist in two places (bad), one is in the database table called
tiki_sefurl_regex_out which processes “raw” non-|SEFURL links (such as tiki-index.php?page=FooBar and makes that just FooBar or tiki-view_tracker_item.php?itemId=42 and makes that item42)
These rules are then sort of duplicated in
route.php which takes an inout path of item42 and steers that to tiki-view_tracker_item.php with $_GET‘itemId’ = 42.
There is a “master” preference
feature_sefurl and it has it’s own control panel
admin/include_sefurl.php and corresponding tpl file.
In Tiki 13 (?) wiki pages got specifiable page slugs and new Wiki URL Schemes (pref “wiki_url_scheme”) and can be set to urlencode (Tiki Classic), underscore or dash which became the default in Tiki 17.0.
This file (should be a library in lib somewhere, but isn’t) contains the function
filter_out_sefurl which takes a raw URL and converts it to a SEFURL using the tiki_sefurl_regex_out table and some extra code for unusual cases.
As stated above, this converts a short URL back to the script name and input parameters. It used to all happen in the .htaccess file but this was converted to PHP for better portability.
This is the most widely used Smarty modifier that converts an object “reference” into either a SEFURL of unfriendly one if the feature is disabled.
Annoyingly used in the Structures header only, needs to be refactored and removed (one day)
Plus the generators in lib/core/Tiki/Wiki/SlugManager handle the wiki page slugs dependent on pref wiki_url_scheme.
Related Smarty function for generating links to objects of most kinds. Uses