URL conventionsWhen you creating extension then please respect following coding convention to work in best practice and without fails.
ParametersWith regular parameters we mean HTTP GET (like /url/to/my/page?foo=bar) and HTTP POST parameters.
Please always use getArgv() to get your parameters, if required use the arguments of this global framework function.
IMPORTANT: Only control content output with KRYN-GET parameters!
This is not only a good practice for public search engine, but also good for our internal search engine, because the internal searchengine, the engine which searches for duplicate contents and the 404-engine are based on the content hash and the URL with Kryn-GET parameters, so we need to make sure, that you only use Kryn-GET parameters to control the content output and only use regular GET or POST parameters to handle user input without changing the content output.
Kryn-GETWe implemented a seo optimized URL scheme. Your extension should us this scheme to be a good SEO extension.
http://<domain>/<realPageUrlWithSlashes/<param1>/<param2>/<p1Name>:<p1Value>/
Some examples
Real page URL: is the real url to the page without parameters.
You can access this additional parameters with getArgv('e'.n); Info: 'e' stand for extra.
Nameless parameters based on the examples above
http://domain.com/news/detail/my-test-news/2
getArgv('e1') == returns ==> my-test-news getArgv('e2') == returns ==> 2
http://domain.com/catalog/tanks
getArgv('e1') == returns ==> tanks
Name based parameters
It is also possible to define name based parameters within the URL.
http://domain.com/news/detail/newstitle:my-test-news/newsid:2 getArgv('newstitle') == returns ==> my-test-news getArgv('newsid') == returns ==> 2
Complete order based parameters
You can access each item between the slash via the position, because each URL will be exploded by slash.
http://domain.com/news/detail getArgv(1) == returns ==> news getArgv(2) == returns ==> detail
Important notesWhen users request a page with (invalid) KGET-parameters and no extensions handle this invalid parameters and therefore no content will be changed relative to the same page without these invalid KGET-parameters, then the system redirects the client to a URL (a shorter has more priority) of the same page with the same content-hash. Same with maybe valid parameters: When a plugin generates several links to the same page with different parameters, but two or more of these links generates the same content, then the search engine redirects the client as well as with completely invalid parameters. If you want to disable this behavior, then just activate the checkbox at tab "Search" => "Exclude this page from search index"
The system respects only KGET-parametes and no regular GET/POST-parameters for this behavior. The same with the internal search engine: It respect the KGET-parameters as index but not the regular GET/Post-parameters. So, please remember: Only use KGET-Parameters to change the content output, otherwise the content won't be indexed by the internal search engine and the system can't check for duplicate content. |
What is Kryn.cms ?
Administrator
Developer
|