Jump to content
Chemo

[Contribution] Ultimate SEO URLs - by Chemo

Recommended Posts

I'm nearly done with the development on the next release but need a store with articles and/or information pages installed to finish up.

 

Hello Chemo,

 

I would gladly offer my help and site for your contrib. I have a heavy modified site with articles and information pages. And about 25000 products.

I am experiencing some problems with cpath 0_ are these maybe also being resolved in the next version?

 

Regards

 

Hakan

Edited by hakan haknuz

Kind regards

 

Hakan Haknuz

Share this post


Link to post
Share on other sites
Hello Chemo,

 

I would gladly offer my help and site for your contrib. I have a heavy modified site with articles and information pages. And about 25000 products.

I am experiencing some problems with cpath 0_ are these maybe also being resolved in the next version?

 

Regards

 

Hakan

You have an unusual problem with cPath=0_* as that is not the usual form. The 0 indicates top level category and should be formed like cPath=1 and NOT cPath=0_1. Do you have a custom category menu?

 

I am interested in utilizing your store to finish development since it meets all of the requirements: articles, informations pages, and also has the added bonus of being a large product category with possible multiple languages.

 

Get with me on instant messenger and we'll work out the FTP credentials.

 

BTW, do you have issues with special characters in the URLs? How many characters as an estimate?

 

Bobby

Share this post


Link to post
Share on other sites
.....

Open an MS2 store and cut-n-paste the function from includes/functions/general.php

You may also need to do that for tep_output_string() based on when the CVS was grabbed.

 

Bobby

 

Hello Bobby, good morning

I tried to use your ultimate seo url v2.0b with osc 2.2 ms1 version.

I got the same error

Fatal error: Call to undefined function: tep_get_parent_categories() in .../includes/seo_cache.php on line 175

 

I have already copied the function tep_output_string() from ms2 general.php

 

Is there some kind of recommendations or guide to install your contribution on ms1?

Could you help me to get your contribution runing on ms1?

 

BTW, I am the same guy who sent you an small contribution as a token of appreciation for your work last may.09 from 6comm.net ... thanks again.

 

Thanks in advance

Fausto

Share this post


Link to post
Share on other sites
Hello Bobby, good morning

I tried to use your ultimate seo url v2.0b with osc 2.2 ms1 version.

I got the same error

Fatal error: Call to undefined function: tep_get_parent_categories() in .../includes/seo_cache.php on line 175

 

I have already copied the function tep_output_string() from ms2 general.php

 

Is there some kind of recommendations or guide to install your contribution on ms1?

Could you help me to get your contribution runing on ms1?

 

BTW, I am the same guy who sent you an small contribution as a token of appreciation for your work last may.09 from 6comm.net ... thanks again.

 

Thanks in advance

Fausto

Have you copied the tep_get_parent_categories() function as well? If so, where did you save it?

 

Bobby

Share this post


Link to post
Share on other sites

Hello all;

 

I basically left zencart for this contribution. That and they felt that sefu optimization had no bearing on search engines even as google says as much themselves. So thanks so much I've seen this drastically improve my rankings.

 

Question though.

 

As I get indexed I notice google putting A Lot of effort on my reviews. Don't know why exactly but would like to help it out.

 

example: /product_reviews.php?products_id=9

 

How hard would it be to implement this mod for product reviews? Can someone please point me in the right direction? Thanks.


Hip Hop Jewelry | Bling Bling | Iced Out

Share this post


Link to post
Share on other sites

Luckily for you I'm developing the next release (*right now*) and it is not hard to implement native support for those pages. The cache records are already generated so it would be trivial to add a logic block to turn those into SEO URLs.

 

So far here are the pages with native support:

 

Product pages (product_info.php)

Category pages (index.php)

Manufacturers (index.php)

Popup Image (popup_image.php)

Articles (article_info.php)

Topics (articles.php)

 

If all goes well I should have the v2.1 release ready for beta by the end of the day (with product review support). However, there may be some additional coding needed to get the automatic redirect logic upgraded to handle all the extra scripts.

 

Bobby

Share this post


Link to post
Share on other sites

Bobby,

 

Quick question - With the new version, will the urls still be the same with the product number at the end, or will i have to redirect all of my products to a new format? Also, will there be instructions to change from the previous version, as well as doing a fresh install?

 

thanks - i cant wait to check it out! also, appreciate your interserver.net recommendation - much better performance on my own server!

Share this post


Link to post
Share on other sites

Chemo: Thank you for the great contribution. I had no problem installing it a few weeks back, but I recently noticed that when I go to a manufacturers/brands listing I can only get one page. If I click to see the next page it bumps me back to the index page. Any thoughts? Possibly htaccess? (It's a CRE shop) - milk

Share this post


Link to post
Share on other sites

Jon,

 

With respec t to URL formation there will be no difference.

 

v2.0b - some-product-p-1.html

v2.1 - some-product-p-1.html

 

The only difference between the versions are the underlying code that is used to generate the URLs.

 

The v2.1 release is more scalable so it can be used with ease even on catalogs with 100,000+ product inventories or categories.

 

Also, it has been abstracted so that store owners with Froogle or other feeds can use the class on admin side scripts.

 

In addition, I've added some other features to address minor issues such as special characters (multilingual stores will find this handy), choice of cache use or not, and extremely simplied installation.

 

Of interesting note is the revised install procedure. I'm going to try an experiment with this release and use a more modular approach. The entire contribution is one large class that is self contained...every bit of code needed to generate SEO URLs is in that one file including the database setting installation. The planned install procedure is like this:

 

1) Upload the class script to includes/classes/seo.class.php

2) Change tep_href_link() to use the new class

3) Add 1 line of code to application_top.php

4) Add the rewrite rules to htaccess

5) Call the catalog in the browser

 

On first page request it will detect whether the database settings are installed. If not, it will install them automatically and the default configuration should be usuable immediately. The only thing left to do would be to adjust settings according to taste.

 

Does that answer your questions?

 

Bobby

Share this post


Link to post
Share on other sites
Chemo: Thank you for the great contribution. I had no problem installing it a few weeks back, but I recently noticed that when I go to a manufacturers/brands listing I can only get one page. If I click to see the next page it bumps me back to the index page. Any thoughts? Possibly htaccess? (It's a CRE shop) - milk

Let me finish this 2.1 release and we'll approach the issue later...sounds like an issue somewhere with tep_get_all_params()

Share this post


Link to post
Share on other sites

thanks, chemo.

 

so before installing v2.1 should i uninstall v2.0, or just proceed with the installation of 2.1? If it is all contained in the class, will i be removing the lines from my htaccess used on my previous version?

 

no hurry on a reply, just when you get a chance.

 

much appreciated,

 

jon

Share this post


Link to post
Share on other sites

Jon,

 

I'll include instructions for upgrading...no worries.

 

Bobby

Share this post


Link to post
Share on other sites
Have you copied the tep_get_parent_categories() function as well?  If so, where did you save it?

 

Bobby

 

Hello,

I have already that function in my general.php, like

// Recursively go through the categories and retreive all parent categories IDs

// TABLES: categories

function tep_get_parent_categories(&$categories, $categories_id) {

$parent_categories_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . $categories_id . "'");

while ($parent_categories = tep_db_fetch_array($parent_categories_query)) {

if ($parent_categories['parent_id'] == 0) return true;

$categories[sizeof($categories)] = $parent_categories['parent_id'];

if ($parent_categories['parent_id'] != $categories_id) {

tep_get_parent_categories($categories, $parent_categories['parent_id']);

}

}

}

 

Regards, Fausto

Share this post


Link to post
Share on other sites

If it is saved in your gneral.php file it should be available to the class. Make sure the statement to include the seo class is BELOW the code to include the general.php file.

 

Bobby

Share this post


Link to post
Share on other sites
If it is saved in your gneral.php file it should be available to the class.  Make sure the statement to include the seo class is BELOW the code to include the general.php file.

 

Bobby

 

It wasn't below, sorry ... you make things look too easy; I feel I am getting there, maybe just a few more hints.

 

Now I got two new problems (I just see these two)

1. In the category box I am getting this message

Warning: in_array(): Wrong datatype for second argument in /home/printing/public_html/includes/boxes/categories.php on line 31

Warning: in_array(): Wrong datatype for second argument in /home/printing/public_html/includes/boxes/categories.php on line 38

 

Both lines containg the following code:

if ( ($id) && (in_array($counter, $id)) ) {

$categories_string .= '<b>';

}

 

2. the second problems is that every link is pointing like this:

for a manufacturer:

http://letsprint.cadir_ws_http_cataloginde...facturers_id/10

for a product:

http://letsprint.cadir_ws_http_catalogprod...products_id/183

 

Just in case: .htaccess file is on web site root located at /home/printing/public_html directory and contain

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

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}

 

Thanks for your support

Fausto

Share this post


Link to post
Share on other sites

1) Change in_array() to @in_array() for both instances.

2) Turn off SEF through the admin control panel

3) Define the DIR_WS_HTTP_CATALOG setting

 

Bobby

Share this post


Link to post
Share on other sites
1) Change in_array() to @in_array() for both instances.

2) Turn off SEF through the admin control panel

3) Define the DIR_WS_HTTP_CATALOG setting

 

Bobby

 

Hello and Thanks

I did 1 and 3, but I don't know what is the point 2; I think i don't have that contribution installed (# 2796)

 

Now I have another problem

When I click on buy now buttons from any list (except from search results) I got the following message (example)

Not Found

The requested URL /blister-pack-products-p-580.html/action/buy_now/page/1/sort/2a was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

 

What it could be?

Am I already bothering you?

 

Regards, Fausto

Share this post


Link to post
Share on other sites
I did 1 and 3, but I don't know what is the point 2

Read the install directions again...and re-read the post above. The reason you want to turn it off is because the setting is not compatible with the contribution.

 

Turn it off the setting and try it again.

 

Bobby

Share this post


Link to post
Share on other sites
Read the install directions again...and re-read the post above.  The reason you want to turn it off is because the setting is not compatible with the contribution.

 

Turn it off the setting and try it again.

 

Bobby

 

It took me some time because I didn't know what was SEF means ... now it's false and it's working fine.

Thanks again and have a nice evening ... me too

Regards, Fausto.

Share this post


Link to post
Share on other sites

As far as I know this mod is not breaking anything else and up until today I thought it was working fine. I have admin set to rewrite. My URLs are correct:

ie when I go to my site I see this

 

 

mysite.net/rada-cutlery-r101-regular-parer-p-29.html

 

When I go to MSN and look at the same page in search results it is like this:

 

 

mysite.net/product_info.php?cPath=21&products_id=29

 

 

Have I installed wrong?

 

 

Tim

Share this post


Link to post
Share on other sites

Tim,

 

Install the redirect script...

 

The reason it is like that is because those URLs were crawled PRIOR to installing the contribution. The spider will continue to visit that URL until told to stop.

 

Bobby

Share this post


Link to post
Share on other sites
Tim,

 

Install the redirect script...

Please forgive my ignorance, but there is nothing in the instructions labeled script.

Would that be this line in the instructions?

"install-seo.php". Call that file in your web browser etc...

 

I installed the whole thing a week ago and MSN says the files were cached just a day or so ago. Another thing that did happen this past week was my host recompiled something without mod rewrite and messed up my ssl pages. That is now fixed. Is this why I need to install the script again?

 

 

Thanks again,

Tim

Share this post


Link to post
Share on other sites

Bobby, like most people here have done already, thank you for taking the much time to come up with this. P.S. I've sent you a donation too.

 

Next not sure if anyone came across this, but I've installed this before on a non-CRE OSC and had no issues. (Using rewrite)

 

This time on my CRE cart I got errors simular to these errors... (except with my info)

 

"Warning: in_array(): Wrong datatype for second argument in /home/printing/public_html/includes/boxes/categories.php on line 31

Warning: in_array(): Wrong datatype for second argument in /home/printing/public_html/includes/boxes/categories.php on line 38"

 

I then went into the admin. Turned on cName and tried it out. Seemed aok. Then 5 minutes later after clicking on my products, making sure everything worked with cName, I went back and turned on Re-write.

 

Bingo, it worked like a charm. Not sure if cache had to build up first, but I'd thought I would pass on my experience to others. Bobby, could you possible explain what happened?

 

Thanks

Edited by djgizmo

Share this post


Link to post
Share on other sites

In includes/boxes/categories.php do a find and replace on that function.

 

Find:

in_array

and change it to:

@in_array

The reason it throws that warning is because the cache needs to be generated...after the first page request after resetting the cache (most likely editing a product or category) the warning is generated.

 

It is a warning and not an error. Just suppress it and all will be OK.

 

Bobby

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

×