Page 1 of 1

SEO keywords case sensitive?

Posted: Fri Aug 17, 2012 6:59 am
by mixxin
I have two shops, one is using V1.5.3.1 and the other V1.4.9.3.

On both stores, if you try to go to a URL which does not use the exact case sensitive SEO keyword you get a "The page you requested cannot be found" error.

i.e. http://demo.com/Apple vs http://demo.com/apple

I tried searching the forum but cannot find any threads relating to this. This is quite a major issue for backlinks etc.

Z

Re: SEO keywords case sensitive?

Posted: Fri Aug 17, 2012 7:24 am
by mixxin
Ok looks like it has something to do with my code in htaccess, trying to sort it out.

Re: SEO keywords case sensitive?

Posted: Mon Dec 17, 2012 9:47 am
by MrSmileyJr
my research has shown to possible solutions:

apache mod_spelling:

<IfModule mod_speling.c>
CheckCaseOnly On
CheckSpelling Off
</IfModule>

or
a custom 404 page:
http://www.forbrugerportalen.dk/sider/c ... nglish.htm

Re: SEO keywords case sensitive?

Posted: Tue Dec 18, 2012 12:44 am
by Traces
I'm having this problem too! Any news?

Re: SEO keywords case sensitive?

Posted: Fri Jul 12, 2013 12:08 am
by joshgeake
It's not a problem, it's deliberately so you don't have duplicate page content.

If you *really* want it then go to /catalog/controller/common/seo_url.php and change...

Code: Select all

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");
to...

Code: Select all

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE LOWER(keyword) = lower('" . $this->db->escape($part) . "')");

Re: SEO keywords case sensitive?

Posted: Fri Jul 12, 2013 12:24 am
by MrSmileyJr
joshgeake wrote:It's not a problem, it's deliberately so you don't have duplicate page content.

If you *really* want it then go to /catalog/controller/common/seo_url.php and change...

Code: Select all

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");
to...

Code: Select all

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE LOWER(keyword) = lower('" . $this->db->escape($part) . "')");

wouldn't your method effectively avoid the duplicate page content by effectively sending them to the lowercase version everytime?

As an aside - this functionality is necessary when your client has spent $500 printing out marketing materials with a url of mixed upper and lowercase. Wouldn't want her to find out later half her customers never got to the special page for that event... :-)