Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

[Contribution] Ultimate SEO URLs - by Chemo


Recommended Posts

Does anybody know, why my "buy button" doesn't work on product listing and advanced search results?


It didn't work also on the other pages and I managed to fix them, but on those pages, wher the url is built dynamically, it's uselss.


I get links, like "http://www.mysite.com/hardware-itemcategory-c-1_4.html?products_id=1&action=buy_now&sort=2a"


If I click this link, my shopping cart gets this: "http://www.mysite.com/shopping_cart.php?sort=2a"

And nothing is added to the cart.


Does anybody have a solution?

Edited by Hunnenkoenig
Link to comment
Share on other sites

  • Replies 1.9k
  • Created
  • Last Reply

Top Posters In This Topic



not a user of the contribution (yet), as I´m also looking at: http://addons.oscommerce.com/info/2796 - "Seach Engine Friendly URL"

Here the category is added in the URL before the product id, seems like a cool feature in my head.


I´m leaning a bit towards going with the above contribution instead of Ultimate SEO urls - can someone change my mind, or have I made the right choice? :)


Its damn hard to choose - I have tested both, and both work very well, looking at what I see then "Seach Engine Friendly URL" have an advantage as the category is included in the URL...


Anyone got some input for me on this one?

Link to comment
Share on other sites

  • 2 weeks later...
Neater fix/hack to the sort functions not working when using seo.class.php version 2-2.2e


This should leave the validation functionality working unless there is a sort going on whereby validation is bypassed.


Please note this is still a hack and hopefully a new version will be forthcoming that will deal with the "sort= querystring" within the validation code.



Find ..


	if ((@strpos($parts[count($parts) - 2], $type)) !== FALSE)  //make sure it is the correct type for this link


Replace with ..


// Commented out to bypass validation when sort= exists in the querystring
//	if ((@strpos($parts[count($parts) - 2], $type)) !== FALSE)  //make sure it is the correct type for this link
//	{
// HACK - replaces above code
if ( ((@strpos($parts[count($parts) - 2], $type)) !== FALSE) && (($sort_exists = strpos($origUrl, "sort=") == FALSE)) ) //make sure it is the correct type for this link



hi, i have version MS-2.2. i've tried searching for the string you supplied, but i can't find it. am i a dutz or in version 2.2 should i be looking for, and replacing 'other' code?


thanks for the information.. just to let you know, i have some keywords that are on page one Google.



Link to comment
Share on other sites

  • 2 months later...

Instead of sorting through 97 pages on this contribution I wanted to quickly ask... Installed the contribution fine, I think that is. The Add cPath to product URL's? in the admin panel seems to not work.


Displays as /category-c-XXX.html


I want to display as /category.html


Thanks !

Link to comment
Share on other sites

  • 4 months later...

Hi, I recently updated Ultimate SEO to v2.7 from v2.2.2. Everything works great but I don't want the manufacturer displayed in the URL line. I disabled the Enable manufacturers cache? option but it still shows the manufacturer as long as I enable SEO URLs. Am I missing something?

Edited by g7star
Link to comment
Share on other sites

  • 1 month later...

hi - cant take your question but having another one. i installed the contribution - lets say good work. i used latest release to update - but since that time of use i hardcoded the shop so much. now i dont know where my string is being replaced. i searched the seo.class.php but seems to be correct. also the '.htacces' is right. i followed the instructions as well.




shopurl.com/productongivencategoryisbroken-c-001.html should be



i already activated 'add cPath' in configuration menu.

this also happens to product names with spaces. the spaces not being replaced, they just got outta space.

i found this on seo.class.php on line1808 - 1823:

"$anchor = ereg_replace($pattern, '-', $anchor);" wich isnt replaced right in my case. i know its my hardcoded stuff. can anyone help me out to get "-" back

what have im done? i know its not directly in seo.class.php, perhaps in /includes/functions/html_output.php or general.php file.


pls help

Link to comment
Share on other sites

Certain parameters such as 'page=', 'cPath=' and 'keywords=' were not passed when clicking pagination links. Is there a way to resolve this issue? I tried the solution below from year 2007 posting but did not effect anything



function requested_page()


$protocol = ((int) $_SERVER['SERVER_PORT'] === 443)? 'https://' : 'http://';

$current_page = $protocol . $_SERVER['HTTP_HOST'] . ((!empty($_SERVER['REQUEST_URI']))? $_SERVER['REQUEST_URI'] : '');

$current_page = substr($current_page, strlen(HTTP_SERVER));

if (($pos = strpos($current_page, "?osCsid")) !== FALSE)

$current_page = substr($current_page, 0, $pos).'<br>';

if ($current_page[0] == "/")

$current_page = substr($current_page, 1);

return $current_page;


return $return;

" There are two things to aim at in life; first to get what you want, and after that to enjoy it. Only the wisest of mankind has achieved the second. " -Logan Pearsall Smith \m/

Link to comment
Share on other sites

problem example:

shopurl.com/productongivencategoryisbroken-c-001.html should be



ok i figured it out - i had a double entry in mysql database - normal are 18 tables of ultimate seo urls in configuration table. i had 36. thats it. fixed it myself.


thanks to the authors of this contribution.

Link to comment
Share on other sites

  • 2 months later...

Hey Guys!

I have just installed the template on a test server.

The template only has the Ultimate SEO contribution 2.1c

What happens is that all the product pages and categories are redirected to index.php


This error only happens with this template, it does this?




the .htaccess

# $Id: .htaccess,v 1.3 2003/06/12 10:53:20 hpdl Exp $
# This is used with Apache WebServers
# For this to work, you must include the parameter 'Options' to
# the AllowOverride configuration
# Example:
# <Directory "/usr/local/apache/htdocs">
#   AllowOverride Options
# </Directory>
# 'All' with also work. (This configuration is in the
# apache/conf/httpd.conf file)

# The following makes adjustments to the SSL protocol for Internet
# Explorer browsers

<IfModule mod_setenvif.c>
 <IfDefine SSL>
   SetEnvIf User-Agent ".*MSIE.*" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0

# Fix certain PHP values
# (commented out by default to prevent errors occuring on certain
# servers)

#<IfModule mod_php4.c>
#  php_value session.use_trans_sid 0
#  php_value register_globals 1

Options +FollowSymLinks
RewriteEngine On 
RewriteBase /prueba/

RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pi-(.*).html$ popup_image.php?pID=$2&%{QUERY_STRING}
RewriteRule ^(.*)-t-(.*).html$ articles.php?tPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-a-(.*).html$ article_info.php?articles_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pri-(.*).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-i-(.*).html$ information.php?info_id=$2&%{QUERY_STRING}

Thanks guys!

Edited by infowind
Link to comment
Share on other sites

  • 1 year later...

I've got the strangest problem, taking me forever to figure this out.


I get hundreds of 404 errors in my error log all products similar to this, even my server raw access log gives no hint to this

e.g. [Tue Aug 30 09:37:34 2011] [error] [client xx.xx.xx.234] File does not exist: /home/xxxxx/public_html/shop/computer-screens, referer: http://shop.mysite.com/computer-screens/lg100/led-screen-p-890.html


the .html part is missing thus creating 404 error

I checked page sources from a couple of pages and was unable to find broken links like the above


Any help please

Getting the Phoenix off the ground

Link to comment
Share on other sites

  • 1 year later...


when i add/edit a product, it says:


1146 - Table 'xxxxx.cache' doesn't exist


DELETE FROM cache WHERE cache_name LIKE '%seo_urls%'





CREATE TABLE `cache` (

`cache_id` varchar(32) NOT NULL default '',

`cache_language_id` tinyint(1) NOT NULL default '0',

`cache_name` varchar(255) NOT NULL default '',

`cache_data` mediumtext NOT NULL,

`cache_global` tinyint(1) NOT NULL default '1',

`cache_gzip` tinyint(1) NOT NULL default '1',

`cache_method` varchar(20) NOT NULL default 'RETURN',

`cache_date` datetime NOT NULL,

`cache_expires` datetime NOT NULL,

PRIMARY KEY (`cache_id`,`cache_language_id`),

KEY `cache_id` (`cache_id`),

KEY `cache_language_id` (`cache_language_id`),

KEY `cache_global` (`cache_global`)


Link to comment
Share on other sites

You are most likely using an older version, which had that problem. Please try version V22d-11. Note that there is a -12 but others have mentioned problems with it.

Support Links:

For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc.

All of My Addons

Get the latest versions of my addons

Recommended SEO Addons

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...