Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

ULTIMATE Seo Urls 5 - by FWR Media

Recommended Posts


Further to my previous post above. I have moved hosts and on a fresh install it is still displaying the same behaviour so please could anyone who has oscommerce 2.3 and the latest version of USU5 pro(r205) installed please take just 10 seconds to check the following for me:


Go to your home page ie. www.yoursite.com

Click on any category/product/manufacturer ie. www.yoursite.com/category-c-1.html

In your browser manually change the URL to ie. www.yoursite.com/-c-1.html

Press enter


Do you get a 404 page not found or does the URL change back to www.yoursite.com/category-c-1.html?


Also is anyone using the manual 301 redirects in includes/modules/ultimate_seo_urls5/includes/uri_redirects_array.php? Does it work for you? I can't get anything to 301 redirect even the examples given in the original file, which is:


 * ULTIMATE Seo Urls 5 PRO ( version 1.1 )
 * @package USU5_PRO
 * @license http://www.opensource.org/licenses/gpl-2.0.php GNU Public License
 * @link http://www.fwrmedia.co.uk
 * @copyright Copyright 2008-2009 FWR Media
 * @copyright Portions Copyright 2005 ( rewrite uri concept ) Bobby Easland
 * @author Robert Fisher, FWR Media, http://www.fwrmedia.co.uk
 * @lastdev $Author:: Rob                                          	$:  Author of last commit
 * @lastmod $Date:: 2010-12-21 22:45:02 +0000 (Tue, 21 Dec 2010)   	$:  Date of last commit
 * @version $Rev:: 196                             					$:  Revision of last commit
 * @Id $Id:: uri_redirects_array.php 196 2010-12-21 22:45:02Z Rob  	$:  Full Details  

 * Array of URIs to be 301 redirected
 * @package USU5_PRO
 * @example 'hardware-c-99'  => array( 'index.php', 'cPath=1' ) redirects the specific uri hardware-c-99 to the current uri for cPath=1
 $usu5_uri_redirects = array( 'hardware-c-99'  => array( 'index.php', 'cPath=1' ),
          					'hardware-c-101' => array( 'index.php', 'cPath=1' ),
          					'de/hardware-c-101' => array( 'index.php', 'cPath=1' ) );


I have tried removing the /* and */ but no matter what i do i can't get anything to 301 redirect. Also should the old URL like hardware-c-99 in the example above not be hardware-c-99.html? I have tried it with and without anyway but as i say nothing will 301 redirect i just get a 404 page not found.


Every other part of the contribution is working perfectly. The weird thing is i have other websites with older versions of USU 5 that redirect -c-1.html correctly and manual 301 redirects work perfectly so i don't understand why with this latest version i am havng these issues. I have root access to the server so can change anything if required. I need to get manual 301 redirects working because i don't have control over my categories so they could be changed at anytime and i need to be able to 301 redirect from the old categories to the new ones.


Thank you.


Ok i've managed to install a new class to handle manual redirects so that ones sorted but the other issue of www.domain.com/-c-.1.html not redirecting and showing a 404 page is still happening. I thought of simply adding -c-.1.html and categoryname-c-.1.html to my redirect array but it gives a redirect loop.


I have noticed the 404 page when the url is www.domain.com/-c-.1.html is not the USU5 404 page so it seems for some reason when the url is www.domain.com/-c-.1.html it does not even enter into the system so to speak and the server rejects it before that. But if i add any letter into the url before the hyphen for example www.domain.com/Z-c-.1.html the redirect works. I thought this could be a configure.php or .htaccess issue but both look fine. Could it be something on my server? I have root access so can tweak anything i just need to know what. Anybody got any suggestions please?

Edited by annuity
Link to comment
Share on other sites

Hi there,


We are building a project where shop B will be reading product information (products, categories, etc.) from shop A (older version OSC), but all customer and order info will remain at shop B. We have that operating fine. Prior to this, we installed Ultimate SEO Urls and it works just fine. My question is if you can provide some direction on what we would need to change to convert this add-on to function on the data from shop A. For the rest of the site, we simlpy divided the shop's operations between what is related to "products" and what is related to "customers" and modified/duplicated the functions accordingly.


Thanks for any insight.


Edited to add: The method we used to split the shop was to add a second server config in includes/configure.php that provides access to shop A for queries relating to products and categories. That is then referenced for the parts of the shop relating to products/categories.

Edited by smartwork
Link to comment
Share on other sites

Hello ALL,


I have a problem similar to buylites ( http://www.oscommerce.com/forums/topic/336702-ultimate-seo-urls-5-by-fwr-media/page__view__findpost__p__159008 page 167 post # 3324


Traditional Rewrite Seo Urls ( Requires mod_rewrite and RewriteRules added to .htaccess - www.mysite.com/the-brand-etc-great-product-p-3.html) is not working.



"The page isn't redirecting properly

Firefox has detected that the server is redirecting the request for this address in a way that will never complete."


However Standard Seo Urls is working OK.




my .htaccess

Options +SymLinksIfOwnerMatch
<IfModule mod_rewrite.c>
 RewriteEngine On
 # RewriteBase instructions
 # Change RewriteBase dependent on how your shop is accessed as below.
 # http://www.mysite.com = RewriteBase /
 # http://www.mysite.com/catalog/ = RewriteBase /catalog/
 # http://www.mysite.com/catalog/shop/ = RewriteBase /catalog/shop/
 # Change RewriteBase using the instructions above 
 RewriteBase /
 RewriteRule ^([a-z0-9/-]+)-p-([0-9]+).html$ product_info.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-c-([0-9_]+).html$ index.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-m-([0-9]+).html$ index.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-pi-([0-9]+).html$ popup_image.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-pr-([0-9]+).html$ product_reviews.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-pri-([0-9]+).html$ product_reviews_info.php [NC,L,QSA]
 # Articles contribution
 RewriteRule ^([a-z0-9/-]+)-t-([0-9_]+).html$ articles.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-au-([0-9]+).html$ articles.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-a-([0-9]+).html$ article_info.php [NC,L,QSA]
 # Information pages
 RewriteRule ^([a-z0-9/-]+)-i-([0-9]+).html$ information.php [NC,L,QSA]
 # Links contribution
 RewriteRule ^([a-z0-9/-]+)-links-([0-9_]+).html$ links.php [NC,L,QSA]
 # Newsdesk contribution
 RewriteRule ^([a-z0-9/-]+)-n-([0-9]+).html$ newsdesk_info.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-nc-([0-9]+).html$ newsdesk_index.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-nri-([0-9]+).html$ newsdesk_reviews_info.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-nra-([0-9]+).html$ newsdesk_reviews_article.php [NC,L,QSA]


my configure.php


define('HTTP_SERVER', 'http://www.mysite.com'); // eg, http://localhost - should not be empty for productive servers
 define('HTTPS_SERVER', 'https://www.mysite.com'); // eg, https://localhost - should not be empty for productive servers
 define('ENABLE_SSL', true); // secure webserver for checkout procedure?
 define('HTTP_COOKIE_DOMAIN', 'www.mysite.com');
 define('HTTPS_COOKIE_DOMAIN', 'www.mysite.com');
 define('HTTP_COOKIE_PATH', '/');
 define('HTTPS_COOKIE_PATH', '/');
 define('DIR_WS_HTTP_CATALOG', '/');
 define('DIR_WS_HTTPS_CATALOG', '/');
 define('DIR_WS_IMAGES', 'images/');
 define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
 define('DIR_WS_INCLUDES', 'includes/');
 define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
 define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
 define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
 define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
 define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');
 define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/');



Can you please let me know how to troubleshoot this error?

Anybody see this before?


thank you very much.

Link to comment
Share on other sites



Ultimate Seo Urls 5 PRO ( r205 ) osC 2.3 -


Though it is probably quite trivial, can anyone please help answer a question I have on this feature (I’m hoping to be luckier than my previous question on this thread which brought no response).


I may be going nuts, I may have done something wrong, it may be working as expected (perhaps you can check yours and let me know) -


When listing products for a Manufacturer (product_listing.php), hovering over a product item shows the expected URL for the product info page but the URL doesn’t include the ‘&manufacturers_id=’. Clicking on the product item loads the correct page with the expected URL (without the ‘&manufacturers_id=’). However, the breadcrumb trail shows Home>>Category>>Product instead of Home>>Manufacturer>>Product (as it did in the osC 2.2 version).


Swapping the products_id and the manufacturers_id around in the call to tep_href_link causes the ?manufacturers_id to show in the URL when hovering over the product name in the product listing but it is ‘mislaid’ when going to the product_info page.

Link to comment
Share on other sites

To work in Catalan language is necessary create a new file if you have selected catalan.php (CAT) in your shop.


This file catalan.php go to:




The code:


* ULTIMATE Seo Urls 5
* @package Ultimate Seo Urls 5
* @license http://www.opensource.org/licenses/gpl-2.0.php GNU Public License
* @link http://www.fwrmedia.co.uk
* @copyright Copyright 2008-2009 FWR Media
* @copyright Portions Copyright 2005 Bobby Easland
* @author Robert Fisher, FWR Media, http://www.fwrmedia.co.uk
* @lastdev $Author:: Rob											  $:  Author of last commit
* @lastmod $Date:: 2010-12-01 11:12:10 +0000 (Wed, 01 Dec 2010)	   $:  Date of last commit
* @version $Rev:: 187												 $:  Revision of last commit
* @Id $Id:: espanol.php 187 2010-12-01 11:12:10Z Rob				  $:  Full Details  

 // Spanish
 $char_convert = array('á' => '', 'é' => '', 'í' => '', 'ñ' => '',
					'à' => '', 'è' => '', 'l´' => '', 'd´' => '',
					'ó' => '', 'ú' => '', 'ü' => '', 'Á' => '',
					'É' => '', 'Í' => '', 'Ñ' => '', 'Ó' => '',
					'Ú' => '', 'Ü' => '', '¿' => '', '¡' => '');


Or add a line of code to the file espanol.php if we defined the Spanish language in our shop.


'à' => '', 'è' => '', 'l´' => '', 'd´' => '',


Hi, this symbol not work in the seo url utlimate 5.


The symbol is l.l


I insert this code but does not work:


'l.l' => '', 'L.L' => '', '´l' => '', '´L' => '',



Link to comment
Share on other sites

I've gotten my install of this distribution working perfectly. The last thing I would like to do is remove the .html at the end of my urls. I know I need to do some editing of my .htaccess file, but not sure what to change. Will anyone please share their code that will do this for me? Thank you!




I have gotten my links to work without the .html extension, but when they are generated in my catalog it is automatically added. Looks like I need to change something besides .htaccess to get this working, any help in pointing me to the associated .php?

Edited by buylites
Link to comment
Share on other sites

Hi there


I need BIG help please

Resuming url anomaly at correct place from topic http://forums.oscomm...to-product-url/


Sample 1 where errors is coming from: - left column using osc ver2.2

		  $info_box_contents[] = array('align' => 'center', 'text'  => '<img src="images/rapidssl_ssl_certificate.gif" border="0"><br>' . tep_draw_separator('pixel_trans.gif', '100%', '5') . '<a href="javascript:void(0);" onclick="NewWindow(\'' . FILENAME_POPUP_RAPIDSSL . '\',\'rapidssl\',\'600\',\'600\',\'no\');return false">' . LINK_RAPIDSSL_SECURITY . '</a>' . '<br><br>' . '<img src="images/worry.gif" border="0">');


IE Source code

<td align="center" class="boxText"><img src="images/rapidssl_ssl_certificate.gif" border="0"><br><img src="images/pixel_trans.gif" border="0" alt="" width="100%" height="5"><a href="javascript:void(0);" onclick="NewWindow('popup_rapidssl.php','rapidssl','600','600','no');return false"> SSL Security </a><br><br><img src="images/worry.gif" border="0"></td>


error link created at validator.w3. org/checklink



Sample 2) includes/boxes/product_notifications.php

  $info_box_contents[] = array('text' => '<table border="0" cellspacing="0" cellpadding="2"><tr><td class="infoBoxContents"><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=notify_remove', $request_type) . '">' . tep_image(DIR_WS_IMAGES . 'box_products_notifications_remove.gif', IMAGE_BUTTON_REMOVE_NOTIFICATIONS) . '</a></td><td class="infoBoxContents"><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=notify_remove', $request_type) . '">' . sprintf(BOX_NOTIFICATIONS_NOTIFY_REMOVE, tep_get_products_name($HTTP_GET_VARS['products_id'])) .'</a></td></tr></table>');
} else {
  $info_box_contents[] = array('text' => '<table border="0" cellspacing="0" cellpadding="2"><tr><td class="infoBoxContents"><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=notify', $request_type) . '">' . tep_image(DIR_WS_IMAGES . 'box_products_notifications.gif', IMAGE_BUTTON_NOTIFICATIONS) . '</a></td><td class="infoBoxContents"><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=notify', $request_type) . '">' . sprintf(BOX_NOTIFICATIONS_NOTIFY, tep_get_products_name($HTTP_GET_VARS['products_id'])) .'</a></td></tr></table>');


Source code output:

<td class="boxText"><table border="0" cellspacing="0" cellpadding="2"><tr><td class="infoBoxContents"><a href="shop.xxxx.com/product_category/product-name-p-566.html?action=notify"><img src="images/box_products_notifications.gif" border="0" alt="Notifications" title="Notifications"></a></td><td class="infoBoxContents"><a href="shop.xxxx.com/product_category/product-name-p-566.html?action=notify">Notify me of updates to <b>product name</b></a></td></tr></table></td>



error link created at validator.w3. org/checklink as http://shop.xxxx.com...tifications.gif


Sample 3) includes/boxes/login_box.php

			<td align=\"center\" class=\"infoBoxContents\">


Source code output:

<td align="center" class="infoBoxContents">

<a href="http://shop.xxxx.com/password_forgotten.php"><a href="password_forgotten.php"><i>(Forgot password?)</i></a>



error link created at validator.w3. org/checklink as http://shop.xxxx.com...d_forgotten.php

Same with stylesheets and js files


There are about 45 such wrong urls per product page and Google, Bing so on is going mad

All products pages url is similar to http://shop.xxxx.com/product_category/product_model/product-name-p-566.html


This error has been verified switching on/off this contribution in admin

Even disabled as much contributions as possible - same results


I first noticed this error but were unsure where it was coming from at this earlier post


Any Ideas or something to check, please post

Getting the Phoenix off the ground

Link to comment
Share on other sites


I have searched everywhere, but can't seem to get the search to come up with meaningful answers. I am using osCommerce 2.3.1 and the latest download of this addon.

I have set this addon to force cookie use, to get rid of the session id, but now it keeps reporting that the browser has blocked cookies, I have it happen with Firefox, Chrome and IE, and all are set to accept cookies. I'd really like to use the cookies, since I think it is inappropriate for the session id to be showing up in the browser address bar. That is too risky if anyone wants to copy and paste the address to forward to someone else, they would get the session id as well, which could lead to problems.

Is there something I have missed that it keeps reporting that the browser has blocked cookies even though they haven't?

I hope someone can tell me what I did wrong.



Link to comment
Share on other sites

Hi Robert,


Not sure if this is the right thread for this question, but I would think so.


When searching for a product in Google often the "Customer Review" page for the product show up way before the product even if there is no review for the product?


I'm using your SEO 5 contrib


Please advise

Link to comment
Share on other sites

Any quick support would be greatly appreciated.. When checking my webmaster tools today i noticed a serious issue with my category urls.. It looks like it is allowing anything to be input as the beginning category id...



opposed to



This is causing google to index many instances of my categories.. All other pages are fine, just the categories beyond the first one have this problem.. once it starts adding the parent category, you can change the url and get the same page.


I assume the issue lies in \ultimate_seo_urls5\page_modules]index.php file?


If I could even change the category structure to only show the current category that would be great www.store.com/your-category-c-12.html (no matter how deep of a directory..)


Thanks in advance, and I hope I explained well..

Link to comment
Share on other sites

Hello... in (and in all other page modules) page_modules/product_info.php just comment out Line 89 to 94:

//	   if (  false !== $final_text_array = Usu_Main::i()->getVar( 'registry' )->retrieve( $this->key, $this->keys_index[$this->key] ) ) {
//		 if ( Usu_Main::monitorPerformance() ) {
//		   Usu_Main::$performance['queries_saved']++;
//		 }
//		 return $final_text_array;
//	   }


Robert, could you please explain me the use of this if clause so I can exclude any negative effects?



Thank you this worked for me. I couldn't find a better solution. So we cant benefit of the registry and the cache technics of usu5 as this way we have to run the corresponding query for each item in the sitemap. But anyway this works and this is a minor problem because we just run the sitemap generation once a day. Instead of commenting the lines, I prefered inlcude them in a test lookin if we are in a sitemap process or not.


  protected function acquireLinkText() {
 // BOF 
 if (!($_SERVER['REQUEST_URI'] == "/usu5_sitemaps/" || $_SERVER['REQUEST_URI'] == "/usu5_sitemaps/index.php")) {
  if (  false !== $final_text_array = Usu_Main::i()->getVar( 'registry' )->retrieve( $this->key, $this->keys_index[$this->key] ) ) {
    if ( Usu_Main::monitorPerformance() ) {
    return $final_text_array;
 // EOF
  $result = Usu_Main::i()->query( $this->query );

Link to comment
Share on other sites

Hi Robert,

I have in my shop "The Feedmachine Solution" http://addons.oscommerce.com/info/7129 installed. Works very well but only for the defaul language in other languages ​​the product link is generated not only on default language:


but it must be like this:


Here is a section of the source code of feedmachine.php:


$catalog_path = defined('FM_CATALOG_DIRECTORY') ? FM_CATALOG_DIRECTORY : '../'; chdir($catalog_path); $catalog_path = getcwd() . '/'; require_once('includes/application_top.php'); tep_session_destroy(); require_once($installation_path . 'feedmachine_loader.php');}require_once($installation_path . 'feedmachine_loadingbay.php');if( isset($_SERVER['HTTP_HOST']) ) echo '<pre>';echo 'catalog path: ' . $catalog_path . "\n\n";function field_generator($db_field_name) { global $product, $current_product_prices, $cur_feed, $currencies_info, $countries, $categories; switch( $db_field_name ) { case 'PRODUCTS_URL': $additional_params = array(); if( $cur_feed['currency_code'] != DEFAULT_CURRENCY ) $additional_params[] = 'currency=' . $cur_feed['currency_code']; if( $cur_feed['language_code'] != DEFAULT_LANGUAGE ) $additional_params[] = 'language=' . $cur_feed['language_code']; if( !empty($cur_feed['url_parameters']) ) $additional_params[] = $cur_feed['url_parameters']; $additional_params_string = !empty($additional_params) ? '&' . implode('&', $additional_params) : ''; $output_field_value = tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product['products_id'] . $additional_params_string, 'NONSSL', false);


As you can see, users are application_top.php and tep_href_link (). The variable $ language_id $ languages ​​and I have tried to define $ language_id = '3 'and $ languages ​​=' German ', but that did not help.

Is it possible to predefine not default language for USU5 to generate the link to other language?


Thanks in advance

Link to comment
Share on other sites



I hope I am not repeating a previous request but is there a way the remove the product_info.php from the URL. I note allot of sites don't show this?




Edited by Jan Zonjee



Link to comment
Share on other sites

I hope I am not repeating a previous request but is there a way the remove the product_info.php from the URL.


In the USU5 section of your shop admin set the url mode to "rewrite"


Also read the instructions on the needed changes to the .htaccess file for this to work.

Link to comment
Share on other sites



Thanks for the quick response. I have been looking through the install guide etc and don't see the info on what need to be added to the .htaccess one extra complication may be that my host is a Zeus cluster.


Any info on what I need to add to the .htaccess would be much appreciated.



Link to comment
Share on other sites

in the download look in the folder named : extras , you will find a "dummy" htaccess file there with the info you need

Link to comment
Share on other sites

I have it installed and I'm not sure if it's actually working. I am able to use the site and admin panel properly, but I don't have any options in the admin panel. Could this be due to the fact that I have renamed my admin directory? If not what could it be?


Thanks, Brandon

Edited by Mark Evans
Link to comment
Share on other sites



I seem to be having a similar problem that someone posted a while back. Could not see a definative answer. It occurs when I submit my sitemaps. Using OSC 2.2 with latest ULTIMATE Seo Urls 5 - by FWR Media. Sitemap contrib I am using is: Google XML Sitemap SEO compitable with Ultimate SEO URL by FWR Media.


If I disable SEO I do not get the error.



<br />

<b>Fatal error</b>: Call to a member function retrieveDependencies() on a non-object in <b>/home/******/public_html/includes/modules/ultimate_seo_urls5/uri_modules/standard.php</b> on line <b>84</b><br />


Hope someone can help.


Link to comment
Share on other sites

You can try using the xml sitemap add-on included in the SEO Url download instead, its located inside the "extras" folder

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...