Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Ultimate SEO URLs v3.0 Features


Guest

Recommended Posts

I've begun work on what will most likely be the last major revision to the Ultimate SEO URLs contribution. It has matured from cName to the feature rich contribution that it is today. However, there is always room for improvement...

 

Planned revisions:

1. Abstract the code

2. Integration of automatic 301 redirect script

3. Introduce more cache features

4. More scalable code

5. Better regex for HTML characters

6. Ability to choose URL keywords

7. Improved install/un-install script for database settings

 

Abstract the code

A very common reported request to the be able to use the SEO URLs for admin side datafeeds (like Froogle). Since the code is embedded in the tep_href_link() function it is not possible currently. My intention is to create an abstraction that could be used to construct the URLs anywhere...catalog side, admin side, or both. This feature will add versatilty and value to every external URL generated by the application.

 

Integration of automatic 301 redirect script

The redirect script was released as an addon but has matured nicely. It has been tested and verified functional on several websites with the number of issues reported slowing to none. It's time to integrate the code into the contribution and will be an extension of the base class.

 

Introduce more cache features

The method of caching the constants used for contruction of the URLs works nicely (and very fast) on stores with less than a few thousand products or categories but does not scale nicely on large stores. I plan on offering the option of 3 types of cache: 1 database driven and 2 filesystem options. This will give the store owner the ability to select the one that performs best on their particular setup.

 

More scalable code

The main issue is with how the code generates the cache. I will also offer the option of querying for the keywords to be used in the URL directly from the database. It should be noted that this will use more queries per page but will ultimately use less server resources in terms of RAM for large stores. Smaller stores (less than a few thousand products or categories) should still use the evaluated constants.

 

Better regex for HTML characters

Not everybody uses English as their sole language and there are still issues with foreign (at least to us English speaking types) characters in the URLs. I have crafted better regex that will strip the special characters and use URL friendly counterparts.

 

Ability to choose URL keywords

The ability to choose keywords is not present in the current code but is frequently requested. Some store owners want to use model or article title for the URL. I'll add the option through abstraction of the code. Thus, in the future if a store has articles or information pages installed it'll be a simple matter to construct SEO URLs for those pages. This will introduce a level of versatility that will be unmatched by the current selection of SEO URL contributions.

 

Improved install/un-install script for database settings

Once all the extra cache features are coded the install script for database settings will be consolidated.

 

OK..that's pretty much the planned development. If you would like to explore adding new features now is the time to help plan. It is much easier to add features while in development than in maintenance releases.

 

This is your chance to help shape YOUR contribution. This is YOUR tool...I need YOUR feedback.

 

Bobby

Link to comment
Share on other sites

Very nice Bobby Sir, you look nothing like what I imagined LOL.

Im not sure if this has been convered so far (shoot me if it has) but the stock osc code urls are still being spidered (or are trying to be) by some search engines.

Does the current rewrite address this issue?

Link to comment
Share on other sites

Very nice Bobby Sir, you look nothing like what I imagined LOL.

Im not sure if this has been convered so far (shoot me if it has) but the stock osc code urls are still being spidered (or are trying to be) by some search engines.

Does the current rewrite address this issue?

hehehe...I get that alot :) What you don't see is the 190 pound rest of me :)

 

The old stock URLs will be spidered for some time but eventually fade from the index and be replaced by the SEO URLs. Each search engine spider is different but after it receives a 301 redirect for the same URL over multiple page requests it will eventually get the point and drop the old one / replace with new (assuming you have the redirect script installed).

 

As a point of reference, it took about 4-6 weeks for the old URLs to be dropped for my development server before the new SEO URLs populated the index. I still receive hits from various engines for old URLs but the number and frequency is slowly decreasing.

 

So, the redirect script is designed to ease transition to new SEO URLs and has been verified functional for this purpose.

 

Bobby

Link to comment
Share on other sites

Cool I will watch this release..

Hey does that mean that I helped answering point 5 on the other thread ? Maybe not, but would have make a change to help rather than wait for you to finish the work ;)

You addressed the issue on the other thread although it is not the method that I used...however, there is always more than 1 way to skin a PHP cat :)

 

Bobby

Link to comment
Share on other sites

hehehe...I get that alot :)? What you don't see is the 190 pound rest of me :)

 

I hope your short then Bobby ;) :P

Just an offtopic post (wheres that gun!), I presume this post and your new sponsorship status means our not hanging up your osc hat just yet?

Edited by Reesy
Link to comment
Share on other sites

I hope your short then Bobby  ;)  :P

Just an offtopic post (wheres that gun!), I presume this post and your new sponsorship status means our not hanging up your osc hat just yet?

5'8" stack of ... :)

 

To the contrary...I wanted to ride out on a clean note. Develop and release these last few contributions plus try to make amends with the moderators. Might as well leave some money in the tip jar on the way out :)

 

Bobby

Link to comment
Share on other sites

Hi,

 

SEO URLS is excellent! I was wondering how to make it display just the model number as the url.

 

EX: www.watchkings.com/snl011.html, instead of the name with the -p- at the end.

 

The problem is that we update our products frequently, and the cached version on google soon turns out to be a PRODUCT NOT FOUND. By putting the MODEL only as the URL, this will solve the problem, as well as with internal linking to individual product pages from content pages.

 

Can you please help us with this issue?

 

Great Job on the Contrib CHEMO!

Link to comment
Share on other sites

5'8" stack of ... :)

 

To the contrary...I wanted to ride out on a clean note.  Develop and release these last few contributions plus try to make amends with the moderators.  Might as well leave some money in the tip jar on the way out :)

 

Bobby

 

Shame Bobby..... real shame. :'(

 

Totally unrelated to this thread, my apologies... but I might as well say it anyway :)

 

Any chance you can port the new MS3 categories box (which has one db query rather than the current MS2.2`s dozens if you have a few categories) back to MS2.2 coding at all.

 

Thanks muchly.

Link to comment
Share on other sites

...

Any chance you can port the new MS3 categories box (which has one db query rather than the current MS2.2`s dozens if you have a few categories) back to MS2.2 coding at all.

 

Thanks muchly.

It shouldn't be hard but it is very low on my list of things to do...maybe Chris will take a look at it for the community.

 

Does anyone have feedback about new features for the Ultimate SEO URLs v3.0 development? :)

 

Bobby

Link to comment
Share on other sites

It shouldn't be hard but it is very low on my list of things to do...maybe Chris will take a look at it for the community.

 

Does anyone have feedback about new features for the Ultimate SEO URLs v3.0 development? :)

 

Bobby

 

 

all those features sound cool to me so far... very cool contrib..

any idea of a time frame for release?

Link to comment
Share on other sites

The ultimate URL's are awesome!

 

Will v3 automatically redirect modifications made to a category or product URL?

 

Example:

v2 URL

catalog/blue-widget-p-179.html

 

v3 URL with keyword

catalog/keyword-p-179.html

 

Also, would you recommend installing BETA-3 of the current redirect code or wait for Ultimate SEO URL v3?

 

Thank you for the great contributions.

Link to comment
Share on other sites

It will have an automatic redirect system for not only old parameter driven URLs to the new SEO URLs but also the v2.X series to v3.X series.

 

Of course, I have no idea how I'm going to implement it :)

 

Bobby

Link to comment
Share on other sites

Bobby,

 

Sounds like you have my wish list covered:

 

1. OLD YASU URL's redirect to Ultimate SEO URL's

2. Froogle and PriceGrabber data feeds as Ultimate SEO URL's

3. Keywords in URL's

 

A clean URL without the -p- at the end does seem like the final touch, however I don't know what that will require.

 

Kind regards,

Eric_K

Link to comment
Share on other sites

Redirecting old YASU URLs may be a bit tricky but not impossible. Once the v3.X series has matured I'll add those features in...but only after the bulk of the bugs are corrected. There is no need compounding new code bugs with more new code :)

 

The abstraction will allow for use on the admin side for ANY feed (with minor modifications).

 

A cleaner URL (no -p- or -c-) is a little more complicated and will make it into the later v3.X releases.

 

Bobby

Link to comment
Share on other sites

Hi Bobby,

 

Might be overlooking somethings, but why would there be a need to have two or more subcategories with exactly the same name (in that category) ? i.e. software/action, software/action ?

If a site maintained correct naming / organization conventions then there would be be no need to to worry about two categories with the same name [ * ] ?

 

Also whats all this about redirects ? is this just support for backwards compatibility ?

 

[*]

Actually I'm looking into a slightly different approach.

That is when creating / editing a category in the admin, the full path to that category is stored in a db column in the description table, i.e. dvd_movies/thriller, so look ups are now not by the cPath but by the cd.categories_full_path.

This info is cached for the categories box.

So either a db query could be done to find the category id or travse the category_tree array etc...

 

I'm also currently in two minds about doing the same thing with products, i.e. to store dvd_movies/thriller/frantic.html as the products respective full path or just to tag on the product_id, ie. dvd_movies/thriller/15 (although it should be possible to handle both, i.e. /catalog/15 or /catalog/dvd_movies/thriller/frantic.html)

 

I'm also using MultiViews instead of rewrites_ ..... although I would be interested in doing / forcing rewrites for the not found errors if it will suppress these errors from the error logs... this way I could force / (the defaultIndex script) to handle to above urls rather than /catalog/ etc....

 

I noticed mention above also about keywords in the url... wouldn't this be difficult to do if removing the -p- or -c-'s ? since some uniqueness still needs to be automatically maintained ?

 

So far the only difference I can see between the two approaches is that with the -p- -c- ids the urls can be much shorter as opposed to specifying the full path, but for my needs at present the full path has a little bit more clarity for its intended prupose.

 

Out of interest is there any performance overhead with using MultiViews ?

 

FWIW, the above MultiView approach seems to be what is used for the oscommerce.info/kb site...

 

One last thought, is re relative urls.... as long as the url is not changing to ssl, would there be any benefit in ( trying to ? ) using relative urls instead ?

"Any fool can know. The point is to understand." -- Albert Einstein

Link to comment
Share on other sites

Hi Bobby,

 

Might be overlooking somethings, but why would there be a need to have two or more subcategories with exactly the same name (in that category) ? i.e. software/action, software/action ?

If a site maintained correct naming / organization conventions then there would be be no need to to worry about two categories with the same name?

It is supported mainly due to the cName mode. It is not needed for Rewrite mode since the -c- anchor is used to pull the catID. Maybe in the next release I can find a better method for both modes.

 

Also whats all this about redirects ? is this just support for backwards compatibility ?

Right...basically the redirect script is for those sites that are mature and have already been indexed by search engines. Rather than risk losing page seniority for the catalog it's better to send the proper 301 headers to the new URL. It'll make sure the new SEO URLs replace the old parameter driven URLs faster while not losing any PR/seniority.

 

I'm also using MultiViews instead of rewrites...

Great minds think alike :) I'm exploring using MultiViews as well for a 3rd option of URL generation. I'm taking the same approach as you in storing the full path as a column entry and then on category update regenerate the map file. So far it has promising results and with more development will have a better site structure than static HTML files.

 

I noticed mention above also about keywords in the url... wouldn't this be difficult to do if removing the -p- or -c-'s ? since some uniqueness still needs to be automatically maintained ?

You let the cat out of the bag with the Multiviews :)

 

The only drawback I see to using MultiViews is the need to have proper settings for AllowOverride in the Apache config file. Options All does not cover it on most setups and this is one of the most common settings. So, there will be massive support issues in that respect. Otherwise, I like MultiViews so far :)

 

Bobby

Link to comment
Share on other sites

Hey Bobby, I have a request...

 

Would you be able to add SEO URLs to product reviews? Or is this just a simple matter of adding the code to the top of those pages, or .htaccess?

 

By the way, re my page ranking: it's actually to do with the URL. If you go to this link, it comes up with a page rank of 2; but the full URL with www comes up with a rank of 3. So the main page has not changed rank, but the catalog pages have moved up one since putting in SEO URLs. Thanks!

 

Susan

Link to comment
Share on other sites

Hi Bobby,

 

Thanks for this very useful contribution.

 

1) It would be nice to integrate a better processing of special characters. As I'm French, I especially think of quotes and accents. At the moment, I have some trouble with rewriting of some Urls, eg an article named "Cartouche jet d'encre compatible Canon BC20" gets the following Url: cartouche-dencre-compatible-canon-bc20-p-1460.html.

 

2) Another thing would be to improve support of shared SSL. Some functions, like products notification, won't work correctly when SEO is activated.

 

3) Can you give an approximate date of availability for V3 ?

 

Thank you so much for your great work !

Link to comment
Share on other sites

Hey Bobby, I have a request...

 

Would you be able to add SEO URLs to product reviews? Or is this just a simple matter of adding the code to the top of those pages, or .htaccess?

 

By the way, re my page ranking: it's actually to do with the URL. If you go to this link, it comes up with a page rank of 2; but the full URL with www comes up with a rank of 3. So the main page has not changed rank, but the catalog pages have moved up one since putting in SEO URLs. Thanks!

 

Susan

The plan is to support more natural areas of the shopping cart and a few of the more popular ones like articles, information pages, etc.

 

It sounds to me like you need to do a canonical redirect for the non-WWW address to the WWW address. It will act like a PR funnel and this alone may get the www address to a PR4 or higher.

Hi Bobby,

 

Thanks for this very useful contribution.

 

1) It would be nice to integrate a better processing of special characters. As I'm French, I especially think of quotes and accents. At the moment, I have some trouble with rewriting of some Urls, eg an article named "Cartouche jet d'encre compatible Canon BC20" gets the following Url: cartouche-dencre-compatible-canon-bc20-p-1460.html.

 

2) Another thing would be to improve support of shared SSL. Some functions, like products notification, won't work correctly when SEO is activated.

 

3) Can you give an approximate date of availability for V3 ?

 

Thank you so much for your great work !

1) I'm trying :) However, since I have little experience with special (international) characters and no clients with multi-lingual sites it is hard to get this implemented. Give it some time and it will be improved as I learn...or someone with more experience can jump in and correct my deficiencies.

 

2) It should work with product notifications and on every area of the cart regardless of port (NONSSL versus SSL) that are in the defined list of active scripts. Currently, SEO URLs are only active for index.php and product_info.php pages. Others like shopping_cart.php and checkout_success.php will automatically shut off SEO URLs and render the stock code.

 

Bobby

Edited by Christian Lescuyer
Link to comment
Share on other sites

Hi Bobby

Just a small request for the install part of the 3.x release:

 

With a minor modification in install-seo.php the contribution would be more easily integrateable into the mutli-shop contribution by Rick Hobbs.

 

1) Use TABLE_CONFIGURATION instead of real table name, e.g.

old: "INSERT INTO `configuration` VALUES ..."

new: ""INSERT INTO `" .TABLE_CONFIGURATION ."` VALUES..."

 

2) Insert the configuration group values only once, even if the install script is called more than once. This not only helps for the mentioned multi-shop contribution but also for users who press "Install.." more than once.

 

 

Thanks

 

Ralph

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