Hello everyone, sorry if I interrupt a discussion but maybe this is of relevance for the development of Ultimate SEO.
I installed it today and it works as advertised, which is nice.
I do however have a problem with the Special Character Conversion. I have a German translation of my site (bitaurum.eu), and some of the Category and product-titles contain Umlauts such as "Krügerrand".
The Special Character Conversion tool is of course a nice feature to use in that instance, because it would convert like ü=>ue, everyone can read the URL, google likes it and I am happy. Except that it doesn't work :P
The main reason for this (I suspect) is the fact that I am running a utf-8 system, sql-database and zen-cart installation, mostly because writing html like "look at this nice Krügerrand" is a pain in the arse.
Since this is a live website, I patched it up q&d by doing this in /includes/classes/seo.url.php:
case 'special':
// Remove all punctuation
if(!self::$unicodeEnabled) {
// POSIX named classes are not supported by preg_replace
$pattern = '/[!"#$%&\'()*+,.\/:;<=>?@[\\\]^_`{|}~]/';
} else {
// Each language's punctuation.
$pattern = '/[\p{P}\p{S}äöüÄÖÜß]/u'; //Franken-fix
This of course only removes the umlauts but does not replace them. I suspect the culprit in
// Next run Character Conversion Sets over the string
if(is_array($this->filter_char)) $retval = strtr($retval, $this->filter_char);
strtr, if I read correctly, doesn't handle multibyte characters right, which is kind of the thing utf8 is all about.
Does anyone have an idea on how to replace that function? I'd do some trial and error, but I am running a live site which is getting indexed by google's crawlers right now, and would be happy not to make it look like it's broken half of the time...
Thanks for the help and the great tools, it's good to see so much nice, free software is out there.