Jump to content
Sign in to follow this  
enigma1

[Contribution] SEO-G

Recommended Posts

The "bad request" problem as I understand it, is because your catalog\includes\configure.php is incorrect. There is an extra slash somewhere and that creates problems. Check the example_configure.php it can help you setting up yours.

 

O.K. at line 19 I changed http://dotlemon.com to dotlemon.com in line with your example, but that doesn't solve it.

I don't suppose there is anything else glaringly obvious (not to my eyes, though).

Thanks Again!

 

// Define the webserver and path parameters

// * DIR_FS_* = Filesystem directories (local/physical)

// * DIR_WS_* = Webserver directories (virtual/URL)

define('HTTP_SERVER', 'http://dotlemon.com'); // eg, http://localhost - should not be empty for productive servers

define('HTTPS_SERVER', ''); // eg, https://localhost - should not be empty for productive servers

define('ENABLE_SSL', false); // secure webserver for checkout procedure?

define('HTTP_COOKIE_DOMAIN', 'dotlemon.com');

define('HTTPS_COOKIE_DOMAIN', '');

define('HTTP_COOKIE_PATH', '');

define('HTTPS_COOKIE_PATH', '');

define('DIR_WS_HTTP_CATALOG', '/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/');

define('DIR_FS_CATALOG', dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/');

define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');

define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');

 

// define our database connection

define('DB_SERVER', ''); // eg, localhost - should not be empty for productive servers

define('DB_SERVER_USERNAME', '');

define('DB_SERVER_PASSWORD', '');

define('DB_DATABASE', 'osCommerce');

define('USE_PCONNECT', 'false'); // use persistent connections?

define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'mysql'

?>

Share this post


Link to post
Share on other sites

what is this?

 

define('DIR_FS_CATALOG', dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/');

 

can you make it

define('DIR_FS_CATALOG', dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) );

 

and try it, Not sure if that's the one, but something is emitting the extra slash after the domain. Also it could be another htaccess at the parent level but try that first.

Edited by enigma1

Share this post


Link to post
Share on other sites
what is this?

 

define('DIR_FS_CATALOG', dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/');

 

can you make it

define('DIR_FS_CATALOG', dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) );

 

and try it, Not sure if that's the one, but something is emitting the extra slash after the domain. Also it could be another htaccess at the parent level but try that first.

 

NOPE - Tried it with and without http:// on cookie_domain path

 

Shall I leave it out anyway?

 

Thanks once more

Share this post


Link to post
Share on other sites

you leave the cookie domain as you post it here (in red) that is correct. You don't put http in front of domain settings.

 

Ok so it could be the .htaccess at the root level. Do you have such a file?

http://dotlemon.com/.htaccess

and if so, is there something that appends the extra slash? The links are working if I remove this extra slash btw.

http://dotlemon.com/catalog/product_george...size-grill.html

Share this post


Link to post
Share on other sites

and there is one other possiblity. Check if you have another configure.php in catalog\includes\local\ directory. If so it takes precedence. (shouldn't be there normally).

Share this post


Link to post
Share on other sites
v1.05 is now available with the following changes:

- Improved parameters filtering when seo links are generated. Empty paths are now truncated.

- Added manufacturers specific string for the osc admin.

- Removed unused strings from the seo_zones.php

http://www.oscommerce.com/community/contributions,5080

 

Mark

 

I ahve installed this mod and it is awesome - I have a problem though

 

When I set the mod to on in admin I get a product_info.html file and it only goes to one product (the same one) whatever product I click

 

What have i done wrong here?

 

Thanks

 

Mark


Regards

 

Mark A Reynolds

Share this post


Link to post
Share on other sites
Also the update button in the G-Controller does not check for auto-incremented values so the user should be able to change the names if he wants.
Just to confirm, are you saying that the initial controller commands that are used to populate the original fields check for duplicates but the update feature does not check for duplicates? If I manually change some of the auto-incremented names back to original names in the controller, is the sole risk the possibility of having duplicate inbound URL's that would not know which OSC URL to translate to or are there other issues regarding duplicates. Other than the URL mapping in Reports, from OSC URL's to SEO-G URL's, the folders in the controller, and the tables in the database where the names are maintained, are there any other places where the SEO-G URL's are used or listed that I need to take into consideration before deciding whether or not to allow certain duplicates?

 

With all of the new programs that are being added to browsers and anti-virus programs to combat Phishing, I wonder if using programs like SEO-G to manipulate addresses will ever be a problem. Also, I wonder what the search engine algorithms think about changing the URL content this way? I know it is all done on the server and that right now these issues are apparently not a problem but do you think any of these things will ever become an issue?

 

Thanks for all of your hard work. It makes changing sites from static to dynamic possible without losing all SE rankings in the process.

Share this post


Link to post
Share on other sites
Mark

 

I ahve installed this mod and it is awesome - I have a problem though

 

When I set the mod to on in admin I get a product_info.html file and it only goes to one product (the same one) whatever product I click

 

What have i done wrong here?

 

Thanks

 

Mark

 

do you have another seo module installed at the same time? What shows under the reports page? I assume you went through the configuration process, setting up categories, products, manufacturers first. Also did you leave the defaults? or you changed the G-Types?

 

 

In any case I am trying here to replicate the issue, I injected the product_info.html but it creates a separate link alltogether so individual products working as expected. This is what I see from the reports here:

 

Edited by enigma1

Share this post


Link to post
Share on other sites
Just to confirm, are you saying that the initial controller commands that are used to populate the original fields check for duplicates but the update feature does not check for duplicates? If I manually change some of the auto-incremented names back to original names in the controller, is the sole risk the possibility of having duplicate inbound URL's that would not know which OSC URL to translate to or are there other issues regarding duplicates.

Yes you can change the names these show as edit boxes in the G-Controller. Now if you do change the default names is your responsibility to ensure that the final generated links are unique. However I can improve the functionality, for instance I can add some code to check the names and highlight the duplicated ones would that help?

 

Other than the URL mapping in Reports, from OSC URL's to SEO-G URL's, the folders in the controller, and the tables in the database where the names are maintained, are there any other places where the SEO-G URL's are used or listed that I need to take into consideration before deciding whether or not to allow certain duplicates?

 

These names are used for the final link generation. If you look the reports page the SEO-G url must be unique. However you could have different SEO-G urls that point to the same osC URL. This happens for instance if you change a product's name from the G-Controller and that product is already included in the report with a different name. Another SEO link will be generated but point to the same url effectively.

 

With all of the new programs that are being added to browsers and anti-virus programs to combat Phishing, I wonder if using programs like SEO-G to manipulate addresses will ever be a problem. Also, I wonder what the search engine algorithms think about changing the URL content this way? I know it is all done on the server and that right now these issues are apparently not a problem but do you think any of these things will ever become an issue?

I don't think it will be a problem. The module can generate traditional urls so that should be compatible with every browser/filter. Antispyware/Antivirus tools kick-in with the page content. Now SEO-G deals with URLs. In addition because it makes the store transparent to the search engines, people who specifically look for known vulnurabilities in osc won't even see it. Because the urls can be personalized with a different extension and/or separators.

 

Thanks for all of your hard work. It makes changing sites from static to dynamic possible without losing all SE rankings in the process.

Theoretically you should be able to transition from one site to another maintaining exactly the same links. However this module would need quite few add-ons to support an automatic transition between different types of sites.

Edited by enigma1

Share this post


Link to post
Share on other sites

Ok I have put my goggles back on and i have seen where I went wrong - operator error

 

Excellent piece of work! One small thing is the pages are wider and it throws my pages out

 

You can see what I mean here then click on the home link

 

Also the popup image is not working

Edited by crash3903

Regards

 

Mark A Reynolds

Share this post


Link to post
Share on other sites
Ok I have put my goggles back on and i have seen where I went wrong - operator error

 

Excellent piece of work! One small thing is the pages are wider and it throws my pages out

 

You can see what I mean here then click on the home link

 

Also the popup image is not working

 

cancel the popup problem resolved by switching to safe mode true


Regards

 

Mark A Reynolds

Share this post


Link to post
Share on other sites
Ok I have put my goggles back on and i have seen where I went wrong - operator error

 

Excellent piece of work! One small thing is the pages are wider and it throws my pages out

 

You can see what I mean here then click on the home link

 

Also the popup image is not working

 

Ok I checked it everything looks good. I am using IE6. I do not see the pages getting wider or anything. The popup image also works. It is not translated.

Share this post


Link to post
Share on other sites
Ok I checked it everything looks good. I am using IE6. I do not see the pages getting wider or anything. The popup image also works. It is not translated.

 

OK thanks for checking

 

IN IE7 the boxes are getting thinner when i go to a product page

 

Maybe this does not show up in ie6 but i use firefox and it is doing the same in there

 

Try going to a link from the shop by price box on the left

 

Thanks

 

Mark

Edited by crash3903

Regards

 

Mark A Reynolds

Share this post


Link to post
Share on other sites
OK thanks for checking

 

IN IE7 the boxes are getting thinner when i go to a product page

 

Maybe this does not show up in ie6 but i use firefox and it is doing the same in there

 

Try going to a link from the shop by price box on the left

 

Thanks

 

Mark

ah yes now I see it with FF. Ok this is the reason. The html pages go through the root.php and show:

 

<td width="125" valign="top"><table border="0" width="125" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

 

while the shop by price page shows

<td width="200" valign="top"><table border="0" width="200" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

 

so that means you did not copy the part of your application_top.php in the root.php as it was explained in the document. If you don't have any other changes in that section simply change the BOX_WIDTH definition to match the 200 (in root.php). In any case the section that shows in catalog\includes\application_top.php between:

 

//-MS- SEO-G Added
 if( !isset($g_seo_flag) || $g_seo_flag !== true) {

 

and:

 

//-MS- SEO URLs Support Added
require(DIR_WS_CLASSES . 'seo_url.php');
$g_seo_url = new seoURL;
//-MS- SEO URLs Support Added EOM

} 
//-MS- SEO-G Added EOM

 

should be the same in root.php. You can double check that.

Share this post


Link to post
Share on other sites

Well I have to say that this is one of the worst contributions I have ever installed - Why?

 

Because I am tired and and I have not paid attention to what are simple instructions - This is now showing perfect - This beats Chemos hands down all the way! (Sorry Chemo if you are reading this)

 

Excellent work Mark!! :thumbsup:

 

Thanks again!


Regards

 

Mark A Reynolds

Share this post


Link to post
Share on other sites
yes, delete the reports after the installation of v1.04. Also to rebuild the links fast if you have an all-products page and a sitemap, use your browser and visit them. This should automatically generate the most important links for spiders. And keep it in Safe Mode (default) initially at least and see if the spiders propagate the links properly.

 

Alright, apparently everything wasn't perfectly right. I now have about twelve of each switch in my admin. Could this be because I ran the mysql script too many times? Any thoughts? Here's a screenshot of it:

 

http://www.geekfitters.com/seogpic.JPG

 

Thank you in advance!

 

Chris

Share this post


Link to post
Share on other sites
Alright, apparently everything wasn't perfectly right. I now have about twelve of each switch in my admin. Could this be because I ran the mysql script too many times? Any thoughts? Here's a screenshot of it:

 

http://www.geekfitters.com/seogpic.JPG

 

Thank you in advance!

 

Chris

 

Yes the configuration settings should be run once. If you need to upgrade then theoretically you should remove the configuration switches first (one by one) using phpmyadmin.

 

There is an alternative.

http://www.oscommerce.com/community/contributions,5040

 

You could install it and then run the configuration options select the remove duplicates and it will remove an extra set. You have to run it few times in your case till the list comes up clean. You should also backup your database before installing it.

Share this post


Link to post
Share on other sites
Yes you can change the names these show as edit boxes in the G-Controller. Now if you do change the default names is your responsibility to ensure that the final generated links are unique. However I can improve the functionality, for instance I can add some code to check the names and highlight the duplicated ones would that help?
However you could have different SEO-G urls that point to the same osC URL. This happens for instance if you change a product's name from the G-Controller and that product is already included in the report with a different name. Another SEO link will be generated but point to the same url effectively.
It may be a good idea to highlight the duplicates and the dead links in Reports so they can be fixed/removed.

 

Theoretically you should be able to transition from one site to another maintaining exactly the same links. However this module would need quite few add-ons to support an automatic transition between different types of sites.
In the current website I am remodeling there are both .htm and .html ext. Can I manually change any ext. as long as it's not to .php? If so, where would I change it?

 

FYI -In the readme file, the classes folder is missing in the path of # 5. catalog\admin\includes\classes\split_page_results.php

Share this post


Link to post
Share on other sites

Where do I access Safe Mode? The only reference to it is in the readme file as far as I can tell. "The other switch that controls how the links are generated is the Safe Mode."

Share this post


Link to post
Share on other sites
It may be a good idea to highlight the duplicates and the dead links in Reports so they can be fixed/removed.

 

In the current website I am remodeling there are both .htm and .html ext. Can I manually change any ext. as long as it's not to .php? If so, where would I change it?

 

FYI -In the readme file, the classes folder is missing in the path of # 5. catalog\admin\includes\classes\split_page_results.php

yes I have scheduled to include several features with the reports page including confirmation and individual selection of links to be removed or edited. I will also add the highlight with the names not sure with what version yet.

 

Thanks for the readme note it will be updated with the next version.

 

for the extension you change it in 2 different places.

 

1. In catalog\.htaccess your rewrite rule could be:

RewriteRule ^(.*).xml$ root.php?%{QUERY_STRING}

or

RewriteRule ^(.*).asp$ root.php?%{QUERY_STRING}

or

RewriteRule ^(.*).htm$ root.php?%{QUERY_STRING}

 

2. And then in osc Admin->SEO-G->Configuration you change the SEO-G Extension to

.xml

or

.asp

or

.htm

respectively

 

You can put whatever extension you like. You can even modify the htaccess rule to support multiple extensions like you expose a cfm and an asp server at the same time, alhough in reality you're on php. (new links generation follow the SEO-G configuration setting).

Edited by enigma1

Share this post


Link to post
Share on other sites
Where do I access Safe Mode? The only reference to it is in the readme file as far as I can tell. "The other switch that controls how the links are generated is the Safe Mode."

its a new line in the seo_g.sql file. Here it is separately, you need to insert it with phpmyadmin

 

INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, use_function, set_function) VALUES ('SEO-G Safe Mode', 'SEO_DEFAULT_SAFE_MODE', 'true', 'Controls if SEO-G urls are generated on non-handled parameters. When false SEO-G generates friendly urls regardless of parameters passed with the links. When true generates links for the handled parameters only. (ex: products_id, cpath etc).', '24', '5', now(), NULL, 'tep_cfg_select_option(array(''true'', ''false''),');

Share this post


Link to post
Share on other sites
Well I have to say that this is one of the worst contributions I have ever installed - Why?

 

Because I am tired and and I have not paid attention to what are simple instructions - This is now showing perfect - This beats Chemos hands down all the way! (Sorry Chemo if you are reading this)

 

Excellent work Mark!! :thumbsup:

 

Thanks again!

Yes, thanks....but if it wasn't Bobby and Nimmit and in general the oscommerce team/community, contributions and support forum, I would not be able to get to the point to even think about creating such a module. And in this particular case, Bobby isn't with osC for almost 2 years. If he did update his contributions the way he did in the past, perhaps I would be creating something else now for osC that doesn't exist. And my personal position about it, was mentioned:

 

http://forums.oscommerce.com/index.php?showtopic=217527

 

Perhaps there are personal differences among members, however the more of the experts you have onboard the faster this community grows. And this benefits everyone. The ultimate SEO URLs represents another step forwards for the osCommerce engine and consequently for us.

Share this post


Link to post
Share on other sites
I have the same structure as you do and I do not have this issue. Here is all that is in my admin/.htaccess file

 

AuthType Basic

 

AuthName "OS Commerce Administration"

 

AuthUserFile "/home/user/.htpasswds/admin/passwd"

 

require valid-user

That is how my admin\.htaccess page looks as well.

 

Is this how the code you added to catalog .htaccess looks?

#-MS- SEO-G Added

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteRule ^(.*).html$ root.php?%{QUERY_STRING}

#-MS- SEO-G Added EOM

Share this post


Link to post
Share on other sites
That is how my admin\.htaccess page looks as well.

 

Is this how the code you added to catalog .htaccess looks?

#-MS- SEO-G Added

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteRule ^(.*).html$ root.php?%{QUERY_STRING}

#-MS- SEO-G Added EOM

Yes, my site.com/.htaccess has the same code added as yours. I was having the same problems as you were but the new revisions solved all of my problems. I did all changes manually to my existing pages but other than that we should have the same SEO-G changes.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×