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

There is also this page Search engine optimization which seems to contain notes also about SEFURLs, not SEO (TODO tidy up)

In Principle

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.

Administration

There is a "master" preference feature_sefurl and it has it's own control panel admin/include_sefurl.php and corresponding tpl file.

Page Slugs

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.

Code Locations

  • tiki-sefurl.php

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.

  • route.php

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.

  • lib/smarty_tiki/modifier.sefurl.php

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.

  • lib/smarty_tiki/function.sefurl.php

Annoyingly used in the Structures header only, needs to be refactored and removed (one day)

  • lib/core/Tiki/Wiki/SlugManager.php

Plus the generators in lib/core/Tiki/Wiki/SlugManager handle the wiki page slugs dependent on pref wiki_url_scheme.

  • lib/smarty_tiki/function.object_link.php

Related Smarty function for generating links to objects of most kinds. Uses smarty_modifier_sefurl internally.

Open

[-]

Pending

[+]

Closed

[+]


Alias names for this page:
SEF URLs | SEFURLs | SEF URL | SEFURL | sefurl | sefurls | Search Engine Friendly URLS | Search Engine Friendly | SEF