Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[CONTRIBUTION] Ultimate SEO URLs v2.1 - by Chemo


Recommended Posts

Hy. I am trying to install ultimate seo, and it's ok. the only problem i have is the one with 'preventDuplicates.php' and

$preventDuplicates = new preventDuplicates();. i get this error.

My question is: is prevent duplication.php very important? because i've deleted those 2 lines from aplication_top.php and the site works without.

So.Do i leave it this way? or should i try fixing the problem with 'preventDuplicates.php'?

Thanx alot

Edited by honeybunny
Link to comment
Share on other sites

Using the Ultimate SEO URl's v21.d.

The contribution works great whenever a script uses the tep_href_link function to build a link. No issues, has worked fine for several months.

 

Several infoboxes I have noticed, Manufacturerbox and Categorybox specifically, use tep_draw_form and tep_draw_pull_down_menu to build the forms containing the manufacturer and category boxes. These functions don't include seo.class.php inside the html output script as tep_href_link was modified to do. So, the selected link out of one of these boxes does not have a modified url. but contains the standard style url.

 

Has anyone every dove in and modified the form functions to handle change a 'normal' osC url to a Ultimate SEO style url?

 

 

regards

Link to comment
Share on other sites

Using the Ultimate SEO URl's v21.d.

The contribution works great whenever a script uses the tep_href_link function to build a link. No issues, has worked fine for several months.

 

Several infoboxes I have noticed, Manufacturerbox and Categorybox specifically, use tep_draw_form and tep_draw_pull_down_menu to build the forms containing the manufacturer and category boxes. These functions don't include seo.class.php inside the html output script as tep_href_link was modified to do. So, the selected link out of one of these boxes does not have a modified url. but contains the standard style url.

 

Has anyone every dove in and modified the form functions to handle change a 'normal' osC url to a Ultimate SEO style url?

 

 

regards

 

Eh? I'm confused. No modifications need to be made, it all works as standard, if someone messes up the code by not using osc functions then there is nothing to be done about it except for the coder in question to clean up their act.

 

Below is a typical example of an osc form using the required tep_href_link() function.

<?php echo tep_draw_form('account_edit', tep_href_link(FILENAME_ACCOUNT_EDIT, '', 'SSL'), 'post', 'onSubmit="return check_form(account_edit);"') . tep_draw_hidden_field('action', 'process'); ?>

Link to comment
Share on other sites

Hi,

 

How can I change urls for other pages ?

 

Like contact-us,shopping-cart,login,etc. pages are same as they were earlier, they did not get html-ise after installing seo-urls contribution :huh:

 

And how can I remove the osCsid from the url ?

 

So can anyone help me on that !

Manpower moves wrenches, horsepower moves cars, and the power of the mind moves the world !
Link to comment
Share on other sites

Eh? I'm confused. No modifications need to be made, it all works as standard, if someone messes up the code by not using osc functions then there is nothing to be done about it except for the coder in question to clean up their act.

 

Below is a typical example of an osc form using the required tep_href_link() function.

<?php echo tep_draw_form('account_edit', tep_href_link(FILENAME_ACCOUNT_EDIT, '', 'SSL'), 'post', 'onSubmit="return check_form(account_edit);"') . tep_draw_hidden_field('action', 'process'); ?>

 

 

This is interesting, what we have for draw_form in html_output is:

 

 

////

// Output a form

function tep_draw_form($name, $action, $method = 'post', $parameters = '') {

$form = '<form name="' . tep_output_string($name) . '" action="' . tep_output_string($action) . '" method="' . tep_output_string($method) . '"';

 

if (tep_not_null($parameters)) $form .= ' ' . $parameters;

 

$form .= '>';

 

return $form;

}

 

What there is in sts_user_code to call it is:

 

 

echo tep_draw_form('goto', FILENAME_DEFAULT, 'get', '');

 

 

 

 

 

From looking at the script logs, it does not appear that either of these has ever been changed. Could these be old versions? I was searching for the past few days through the various forums and had not found anything relating to this, so had wondered if Chemo had simply skipped these boxes when he orignally did this contribution.

Link to comment
Share on other sites

Ok, I assume that you are not on a windows server. Maybe post htaccess

 

Hi again,

 

I've decided to try again on a clean install of OSC.

 

I was about to upload the .htaccess into the stores directory when i noticed there was already one there ... Here is what it says:

 

# $Id: .htaccess 1739 2007-12-20 00:52:16Z hpdl $

#

# 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

#

</IfDefine>

#</IfModule>

 

# If Search Engine Friendly URLs do not work, try enabling the

#

following Apache configuration parameter

 

# AcceptPathInfo On

 

#

Fix certain PHP values

# (commented out by default to prevent errors occuring on certain

# servers)

 

#

php_value session.use_trans_sid 0

# php_value register_globals 1

 

 

I never noticed this in the other store I tried.. I don't really understand what any of it means... Is it safe to overwrite with the .htaccess that comes with the SEO URL contribution?

 

I hope i can get this working because its a great contribution!!

 

Thanks very much

 

Steve

Link to comment
Share on other sites

Hi,

 

How can I change urls for other pages ?

 

Like contact-us,shopping-cart,login,etc. pages are same as they were earlier, they did not get html-ise after installing seo-urls contribution :huh:

 

And how can I remove the osCsid from the url ?

 

So can anyone help me on that !

 

Firstly please don't "shout" with red and bold.

 

Secondly .. non of those urls should have seo urls.

 

shopping_cart/login are ssl pages and should not be accessed by bots. contact us needs no seo url (like conditions,privacy,shipping)

Link to comment
Share on other sites

This is interesting, what we have for draw_form in html_output is:

 

 

////

// Output a form

function tep_draw_form($name, $action, $method = 'post', $parameters = '') {

$form = '<form name="' . tep_output_string($name) . '" action="' . tep_output_string($action) . '" method="' . tep_output_string($method) . '"';

 

if (tep_not_null($parameters)) $form .= ' ' . $parameters;

 

$form .= '>';

 

return $form;

}

 

What there is in sts_user_code to call it is:

 

 

echo tep_draw_form('goto', FILENAME_DEFAULT, 'get', '');

 

 

 

 

 

From looking at the script logs, it does not appear that either of these has ever been changed. Could these be old versions? I was searching for the past few days through the various forums and had not found anything relating to this, so had wondered if Chemo had simply skipped these boxes when he orignally did this contribution.

 

Nope that is a perfect bog standard function that will work with USU as long as the function is populated correctly.

Link to comment
Share on other sites

Hi again,

 

I've decided to try again on a clean install of OSC.

 

I was about to upload the .htaccess into the stores directory when i noticed there was already one there ... Here is what it says:

 

# $Id: .htaccess 1739 2007-12-20 00:52:16Z hpdl $

#

# 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

#

</IfDefine>

#</IfModule>

 

# If Search Engine Friendly URLs do not work, try enabling the

#

following Apache configuration parameter

 

# AcceptPathInfo On

 

#

Fix certain PHP values

# (commented out by default to prevent errors occuring on certain

# servers)

 

#

php_value session.use_trans_sid 0

# php_value register_globals 1

 

 

I never noticed this in the other store I tried.. I don't really understand what any of it means... Is it safe to overwrite with the .htaccess that comes with the SEO URL contribution?

 

I hope i can get this working because its a great contribution!!

 

Thanks very much

 

Steve

 

Steve I have never come across a Linux server that fails to work with this contribution.

 

Is mod_rewrite installed and working?

 

Are the allow_override options set correctly?

 

Is RewriteBase set correctly in .htaccess?

 

Other than that there is nothing to consider (except a minor path issue that doesn't relate to this)

Link to comment
Share on other sites

Steve I have never come across a Linux server that fails to work with this contribution.

 

Is mod_rewrite installed and working?

 

Are the allow_override options set correctly?

 

Is RewriteBase set correctly in .htaccess?

 

Other than that there is nothing to consider (except a minor path issue that doesn't relate to this)

 

Hi Robert....

 

Well i'm not an expert with .htaccess ... I have alot of add-on domains with my host .. I have a .htaccess in the /public_html/ folder which is this:

 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*) index.php"

 

Apart from that I have the .htaccess in the catalog folder of osc which I posted before...

 

For some reason the other store that i'm using this contrib on works perfectly except when i enable seo url's in admin i get 500 server errors on my catagories and products... I've been reading this entire thread and others have had similar issues but nothing appears to have been resolved.

 

Which is why i decided to try a fresh install .. but i don't know whether to overwrite the .htaccess that i posted previously with the one that comes with the contrib ..

 

i'm so close to getting this contrib working but i've fallen at the last hurdle ..

Edited by steve_spaces
Link to comment
Share on other sites

Hi Robert....

 

Well i'm not an expert with .htaccess ... I have alot of add-on domains with my host .. I have a .htaccess in the /public_html/ folder which is this:

 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*) index.php"

 

Apart from that I have the .htaccess in the catalog folder of osc which I posted before...

 

For some reason the other store that i'm using this contrib on works perfectly except when i enable seo url's in admin i get 500 server errors on my catagories and products... I've been reading this entire thread and others have had similar issues but nothing appears to have been resolved.

 

Which is why i decided to try a fresh install .. but i don't know whether to overwrite the .htaccess that i posted previously with the one that comes with the contrib ..

 

i'm so close to getting this contrib working but i've fallen at the last hurdle ..

 

Well reading back Steve you don't seem to be using 2.1d original updated which is all that I am willing to support.

Edited by FWR Media
Link to comment
Share on other sites

Nope that is a perfect bog standard function that will work with USU as long as the function is populated correctly.

 

 

Robert,

 

to me, unfamiliar with your short abrupt style of answers, you appear to be contradicting yourself. In response to my first question, you stated that a call using tep_draw_form would be something similiar to this:

 

tep_draw_form('account_edit', tep_href_link(FILENAME_ACCOUNT_EDIT, '', 'SSL'), 'post', 'onSubmit="return check_form(account_edit);"') . tep_draw_hidden_field('action', 'process');

 

that made sense to me because tep_href_link was in it, so the url would be formated in the standard style and the url would then be re-written to the SEO format.

 

I did some digging into sts_column_left and sts_user_code where the manufacturers and catmenu boxes are built. The code we have is straight from Bill Kellums current version and how they build a form is:

 

echo tep_draw_form('goto', FILENAME_DEFAULT, 'get', '');

echo tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"');

echo "</form>\n";

 

There is no usage of tep_href_link in either of them, these boxes do not format a table containing a list of urls, they format a table of actions being the url with option as the man or cat id.

 

 

Manufacturers Box:

 

<table border="0" width="100%" cellspacing="0" cellpadding="0" class="infoBoxContents">

<tr>

<td class="boxText"><form name="manufacturers" action="http://www.xxx.com/osc/index.php" method="get"><select name="manufacturers_id" onChange="this.form.submit();" size="5" style="width: 100% "><option value="39">Carbines and Rifles</option><option value="34">Ssmithing Tools</option><option value="35">Magazines and Pouches</option><option value="24">Parts and Accessories</option>

 

and so on for the manufacturers box. A sample url after the page refresh is: http://www.xxx.com/osc/index.php?manufacturers_id=35

 

Catmenu box:

 

<div class="leftHeaderBox">Manufacturers</div>

 

<!-- Start Category Menu -->

<form name="goto" action="index.php" method="get"><select name="cPath" onChange="this.form.submit();"><option value="0">Please Select</option><option value="410">Specials</option><option value="425">Closeouts</option><option value="454">A & G</option><option value="22">Accu Wedge</option><option value="453">Ace Stocks</option><option value="413">AmeriGlo</option><option value="414">Partss</option>

 

and so on for the Catmenu box. A sample url is: http://www.xxx.com/osc/index.php?cPath=414

 

 

When clicked, these lines take a person to the correct url, so the code has not been fudged with. The only thing that does not happen is the url is not changed to the SEO style. USU v2.1d was installed as directed, everything else works. All other page url's are converted properly, the code has been checked side by side. you made the statement that a "coder needs to clean up their act". what does that mean, where would this coder have screwed this up? I don't see it.

Edited by cactustactical
Link to comment
Share on other sites

Firstly please don't "shout" with red and bold.

 

Secondly .. non of those urls should have seo urls.

 

shopping_cart/login are ssl pages and should not be accessed by bots. contact us needs no seo url (like conditions,privacy,shipping)

 

Sorry I just wanted to catch attention thts it, no anger ! :)

 

Can we remove oscsid from url ?

Manpower moves wrenches, horsepower moves cars, and the power of the mind moves the world !
Link to comment
Share on other sites

hello all, i have just added the SEO contrib and i hope it does me justice...lol...

 

i'm up to the piont in the install instructios to check the site...it seems to be working ok until i add a product to the cart when i get this error...

 

Warning: Cannot modify header information - headers already sent by (output started at /home/platgame/public_html/game-shop/includes/classes/seo.class.php:2471) in /home/platgame/public_html/game-shop/includes/functions/general.php on line 40

 

has anyone seen this error before??? any ideas?

 

thanks in advance.

 

Ben

Thanks in advance!

 

Ben

Link to comment
Share on other sites

Hi!

 

I have great problem.

 

I install Ultimate Seo 2.6 contrib.In my shop perfectly working, but google bot and every meta tag checker generate

'550 internal server error' error message.

 

I don't have idea.

 

Please help me...

 

Sorry my english!

Link to comment
Share on other sites

Hi!

 

I have great problem.

 

I install Ultimate Seo 2.6 contrib.In my shop perfectly working, but google bot and every meta tag checker generate

'550 internal server error' error message.

 

I don't have idea.

 

Please help me...

 

Sorry my english!

Uninstall it and install Ultimate SEO URLS v21d_UPDATED by FWR Media.

Link to comment
Share on other sites

Uninstall it and install Ultimate SEO URLS v21d_UPDATED by FWR Media.

 

yeah, a 550 is a generic error that sometimes occurs when there is an error in the htaccess file. The prevailing wisdom is that any version after 1 that Chemo did has issues, so it is best to stick with his last.

Link to comment
Share on other sites

yeah, a 550 is a generic error that sometimes occurs when there is an error in the htaccess file. The prevailing wisdom is that any version after 1 that Chemo did has issues, so it is best to stick with his last.

and FWR Media provides support for it.

Link to comment
Share on other sites

Robert,

 

to me, unfamiliar with your short abrupt style of answers, you appear to be contradicting yourself. In response to my first question, you stated that a call using tep_draw_form would be something similiar to this:

 

No contradiction, what I said still stands.

 

The function you showed is standard and correct.

 

The code you mentioned ..

 

echo tep_draw_form('goto', FILENAME_DEFAULT, 'get', '');

 

Is incorrect. It should be ..

 

echo tep_draw_form('goto', tep_href_link(FILENAME_DEFAULT), 'get', '');

Link to comment
Share on other sites

No contradiction, what I said still stands.

 

The function you showed is standard and correct.

 

The code you mentioned ..

 

echo tep_draw_form('goto', FILENAME_DEFAULT, 'get', '');

 

Is incorrect. It should be ..

 

echo tep_draw_form('goto', tep_href_link(FILENAME_DEFAULT), 'get', '');

 

 

I have not tested out the revised statement yet, but if it does work, there is a coding incompatibility between Simple Template System (STS) and USU's.

 

The latest version of STS: http://addons.oscommerce.com/info/1524, version 4.5.8 has the following code in STS-User_Code. This module is one of those used in STS to define boxes. This code is used to define the catmenu box and does not include the tep_href_link. I have not tracked down yet how the manufacturers box is created, so can not yet say if that code is missing also. But, if this is the missing piece of code, it is clear that if you use STS and USU for the catmenu box, catmenu is not going to work with SEO urls as contributed. I will get it put in and let you know.

 

<?php

/*

$Id: sts_user_code.php,v 4.1 2005/02/05 05:57:21 rigadin Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2005 osCommerce

 

Released under the GNU General Public License

 

Based on: Simple Template System (STS) - Copyright © 2004 Brian Gallagher - [email protected]

STS v4.1 by Rigadin ([email protected])

*/

/* The following code is a sample of how to add new boxes easily.

Use as many blocks as you need and just change the block names.

$sts->start_capture();

require(DIR_WS_BOXES . 'new_thing_box.php');

$sts->stop_capture('newthingbox', 'box'); // 'box' makes the system remove some html code before and after the box. Otherwise big mess!

Note: If $sts->stop_capture('newthingbox', 'box') is followed by $sts->start_capture, you can replace both by $sts->restart_capture('newthingbox', 'box')

Another way to declare STS variables is to enter them directly into the STS array:

$sts->template['MyText']='Hello World';

*/

 

$sts->start_capture();

echo "\n<!-- Start Category Menu -->\n";

echo tep_draw_form('goto', FILENAME_DEFAULT, 'get', '');

echo tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"');

echo "</form>\n";

echo "<!-- End Category Menu -->\n";

$sts->stop_capture('catmenu');

Link to comment
Share on other sites

I've been going through getting my site updated to the rc2 version. Figured I'd check to see if this contrib had been updated.

 

Am I correct in assuming the one to use is 2.1d dated 23 Feb 2008? As Robert so correctly put, the carnage to this contrib has been extensive.

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.

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