It is best to not think of Joomla as "creating these links" and instead recognizing that there are a variety of urls that Joomla can understand and load a page from.
The non-sef url represents the variables that any SEF url gets translated into. The only piece that is missing from your url would be an Itemid which corresponds to the menu item id.
I haven't ...
I found this answer, but I don't think it's permanent.
To remove the base tag in the header simply add this to your template file (index.php)
$this->base = '';
I edited public_html/templates/yootheme/index.php.
You can use sef_ext plugins.
In sh404sef find sef_ext folder and create com_my_comp.php file
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
// ------------------ standard plugin initialize function - don't change ---------------------------
$sefConfig = &Sh404sefFactory::getConfig();
$shLangName = '';...
Non SEF Urls can be troublesome. Query parameters are usually associated with tracking and usually discarded by Facebook.
You can test how Facebook scrappes your site with the Debugger tool: https://developers.facebook.com/tools/debug/
In JED, you can find several extension to add Facebook Open Graph Tags.
You have to add canonical link - the prefered URL.
You can use an extesion like RSSeo from RSJoomla or just do it with override.
Robert Went has a post - in english, where you can see how to use the Custom Fields to add Canonical URLs
I have a more detailed post on My Blog. It's danish, but you can let Chrome translate it.
Three tips that I use:
1) Make sure you have a sitemap that's submitted to Google Webmaster Tools (and Bing's Webmaster Tools as well) and make sure that this sitemap is using all the correct URLs and non of the incorrect ones.
2) Add a plugin to Joomla that allows you to set (or have it be set automatically) a canonical meta element for your articles. ...
I haven't tried it recently, but the following should still do it:
$doc = JFactory::getDocument();
It can be placed in your template's index.php, or in a system plugin.
For your template, see if the one you use offers a way for your to add your own custom functions somewhere, so it can be maintained when you update it.
I found the problem:
The templates were not at all responsible.
I am using the JCH Optimize plugin. In the Basic Options tab, there is a Use url rewrite parameter. That was the problem. When I switched it to off, the conflict stopped.
For some reason, it does not work well with the directives inside my .htaccess file.
Looking at the router implementation of com_jumi here https://github.com/BonavalMultimedia/com_jumi/blob/master/com_jumi_bnvl/router.php for me it seems it doesn't handle extra parameters when sef is on (see JumiParseRoute function).
You need to modify this function to check for your extra parameters and add them to the $vars array, so they will be ...
From old non-sef urls to new SEF with new article IDs, sounds a little bit troublesome. Too many changes to track down all at once.
It would be best if you had maintained the old article IDs, or at least made this transition in steps, like first enable SEF urls for your old pages, give it some time, for search engines to update their indexes and then ...