Jump to content



Photo
* * * * * 12 votes

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


  • Please log in to reply
6979 replies to this topic

#1   spidometrs

spidometrs
  • Members
  • 9 posts
  • Real Name:Sergey
  • Gender:Male

Posted 31 May 2005 - 15:30

I want to do translit?
?=>a
?=>b
?=>v
?=>g
..........
As I can do this? In what file must I translit add?
Thanks!
No outside url's in signatures allowed - thanks

#2   Chemo

Chemo
  • Banned
  • 2,486 posts
  • Real Name:Bobby
  • Location:/usa/kentucky/richmond/

Posted 05 June 2005 - 23:58

This is the support thread for the Ultimate SEO URLs v2.1 release.

I wanted to create a separate thread for this release as the contribution has been recoded from the ground up and is completely different from <=2.0b releases.

FEATURES
It's FREE
...some don't appreciate this fact. This release is over 1,700 lines of custom coded, golden sweet, search engine optimization goodness. I have spent an incredible amount of time not only creating the code but also testing, debugging, adding features, and of course making the best damn documentation of any contribution.

So, as a forward before you install or upgrade and ask for support remember this: ask nicely and say thank you. The increased search engine position and resulting traffic from this contribution may translate into thousands in revenue for your store...but for me it's a losing proposition as it is released for free, supported for free, and the only return I get is from positive feedback and the occassional donation. Thus, I have a pretty short fuse with those that feel I owe them anything.

Abstracted Code
The advantage to the abstraction is that the code can be used beyond the catalog side. The most immediate use will probably be for admin side data feeds like Froogle, Yahoo, etc. This adds the benefit of keyword relevant URLs for every link going out of your store to the world.

Integration of Addon Scripts
The Advanced Cache and Automatic Redirect classes are now native to the base class. This completes the development of those tools and makes the overall package easier to maintain, upgrade, and develop in the future.

Performance Optimization of the Code / Queries
There were a few store owners that had extremely large catalogs (greater than 50K products or categories) that were having issues with the 2.0b release. The code was not performance driven other than creating the SEO URLs. This release has been coded from the ground up to be a Porsche...fast, lean, and mean...no matter how large or small the catalog size. The code has been load tested on stores with over 100K products / categories and also some with less than 100. There is no difference in performance between the two extremes.

The heart of the performance is the use of efficient queries and code...but also the effective use of the cache functions. The available options allow a store owner to turn off cache completely (for large stores) or turn off cache for certain parts. This allows complete control of the performance of the code and the use of resources can be throttled at leisure.

As everyone knows, I am a performance obsessed coder. Naturally, I have performance analysis code native to the core that will help you fine tune the installation. What's the use of having options if you can't see what effect they are having on the overall page performance?

Better Support for Special Characters
I have added better regex code to strip characters but know the issue of international translations are pretty tricky. As a result, I have added the option of having the store owners define their own translations. These can be added through the admin control panel.

Simplied Installation / Upgrade Procedure
The contribution has been transformed into a more modular package which means fewer code edits. This means that initial installation is very much improved and easier. Also, in the future all upgrades will simply be overwriting 1 file. How much easier can it be? /smile.gif' class='bbc_emoticon' alt=':)' />

As for the database settings: the contribution has an installer class that will automatically detect whether it needs to upgrade or install itself. Thus, there is no need to execute SQL files in phpMyAdmin or even call installer scripts through the browser. The only step needed to install / upgrade database settings is to call your store one time...neat, right? I hope the installer class proves to be as useful as I coded it to be...especially for future upgrades.

More Pages are SEO'd
The past releases focused squarely on the meat and bones of any store: the product and category pages. Since that is very mature it has come time to expand the family of natively supported parts of the store. As of this release the following pages have SEO URLs:

1) Product Pages
2) Category Pages
3) Article Topics
4) Article Info
5) Information Pages
6) Product Reviews
7) Product Review Info
8) Popup Images

The power of the contribution code is that the list can easily be expanded to include most anything.

SUMMARY
This release is a complete recode of the contribution and represents a step forward with development. It is the backbone of the eventual v3.X series and is transitional...meaning that when v3.0 is released upgrading will be as simple as overwriting 1 file.

There are many new features introduced but the enhanced peformance is enough to warrant upgrade / installation.

This first post is a placeholder for the actual download link. I wanted to create the documentation with a link directly to this thread...so, had to create this thread before posting the contribution to the download area. It's a backward way of doing things but until the osCommerce team fixes their contribution system that's how it is.

Please do not post a reply to this thread until I get the download link posted.

Bobby

#3   Chemo

Chemo
  • Banned
  • 2,486 posts
  • Real Name:Bobby
  • Location:/usa/kentucky/richmond/

Posted 06 June 2005 - 06:45

Ultimate SEO URLs v2.1 is available for download.

#4   panzz

panzz
  • Members
  • 41 posts
  • Real Name:Axel
  • Location:Germany

Posted 06 June 2005 - 08:00

Hi Bobby,

have installed the new SEO URL and get an fatal error:

Fatal error: Call to a member function on a non-object in /homepages/14/d13488967/htdocs/includes/functions/html_output.php on line 19

Please help me ....

Best,
Panzz

#5   hansmignon

hansmignon
  • Members
  • 57 posts
  • Real Name:hans mingnon

Posted 06 June 2005 - 08:20

Hello Bobby,

I have the same error :

Fatal error: Call to a member function on a non-object in /var/www/html/includes/functions/html_output.php on line 8

Line 8 is: return $seo_urls->href_link($page, $parameters, $connection, $add_session_id);
}

Thx,

Hans

#6   billybrag

billybrag
  • Members
  • 591 posts
  • Real Name:mike
  • Location:England, mighty England

Posted 06 June 2005 - 08:27

Bobby,

Will this work on an IIS server?

Mike
"because it'll hurt more"- the greatest film of all time?

#7   anatolius

anatolius
  • Members
  • 19 posts
  • Real Name:anatolius

Posted 06 June 2005 - 08:29

Hi Bobby,

Thanks for this new release of this excellent contribution.
Was very easy to install, but 2 problems remain for me :

1. Get this message on top of every page :

Warning: ereg(): Invalid content of \{\} in /path-to-my-site/includes/classes/seo.class.php on line 1329

Here is the line 1329:
 if ( ereg("{|}", $this->real_uri) ){

2. Problem with special characters :

In French, the ' is used very often. In the mySQL DB, it is stored as "&#39".
I tried to put in SEO Admin "Enter special character conversions" :
&#39=>'
&#39=>\'
"&#39"=>"'"
"&#39"=>"\'"

But the result is always the same, ' will be displayed as 39.

Any idea of what I did wrong ?

And a last question: Will this release work with "Page Cache v1.0 - MS2" ?

Thanks in advance for your help.

Pierre

Edited by anatolius, 06 June 2005 - 08:30.

Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default

#8   misa

misa
  • Members
  • 169 posts
  • Real Name:Rob

Posted 06 June 2005 - 08:38

Just installed it without errors, but this is my first time installing SEO and I wanted to ask if someone can check my site if it's ok please.

My Webpage

#9   anatolius

anatolius
  • Members
  • 19 posts
  • Real Name:anatolius

Posted 06 June 2005 - 09:14

Just installed it without errors, but this is my first time installing SEO and I wanted to ask if someone can check my site if it's ok please.


Misa, I just had a look, seems to work fine!
Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default

#10   misa

misa
  • Members
  • 169 posts
  • Real Name:Rob

Posted 06 June 2005 - 09:20

Thanks for your reply.

Have installed the 2 new contri's from Chemo now and let's hope the best from it.

(Ultimate SEO and Google XML Sitemap Feed)

#11   JoeMcManus

JoeMcManus
  • Members
  • 168 posts
  • Real Name:Joe McManus

Posted 06 June 2005 - 09:57

Just installed it without errors, but this is my first time installing SEO and I wanted to ask if someone can check my site if it's ok please.

My Webpage

<{POST_SNAPBACK}>


I get Session ID's on your site. Might be due to my own tight firewall settings though which not always allow stuff like cookies etc.
Johan a.k.a. T0PS3O elsewhere.

Contributed Barclay's ePDQ Payment Module though not originally mine. Made it work though...

#12   misa

misa
  • Members
  • 169 posts
  • Real Name:Rob

Posted 06 June 2005 - 10:09

What do you see?

#13   anatolius

anatolius
  • Members
  • 19 posts
  • Real Name:anatolius

Posted 06 June 2005 - 10:33

Another error message to add to my last topic:

on product_listing.php:

Warning: eregi(): Unmatched \{ in /path-to-mysite/includes/classes/seo.class.php on line 699

Seems to be related to previous error ?
Pierre

MS2 Fr - Easy Populate - Main Categories - Colissimo suivi - Send order html email - Box Image Thema - admin : copy, move and delete multiple products - Add new Fields - Featured Products - Ultimate SEO URLs - Faster Page Loads, Less DB queries - Page Cache - Credit Class & Gift Voucher - Specials on Default

#14   mazza

mazza
  • Members
  • 222 posts
  • Real Name:Matti
  • Location:Finland

Posted 06 June 2005 - 11:44

This is most likely the easiest to install and most thorough contribution ever.

The only thing I found odd was that when 'Enter special character conversions' AND 'Remove all non-alphanumeric characters' were enabled, only the latter was applied. Maybe more logical way would be to first apply 'Enter special character conversions' for those characters that are useful on the URL (like =>a,=>o,=>A,=>O) and after that bulletproof the rest with 'Remove all non-alphanumeric characters' ?

If I understand the code correctly this function handles both of those tasks:

function strip($string){
  $pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
      ?	"([^[:alnum:]])+"
      :	"([[:punct:]])+";
  $anchor = ereg_replace($pattern, '', strtolower($string));
  $pattern = "([[:space:]]|[[:blank:]])+"; 
  $anchor = ereg_replace($pattern, '-', $anchor);
  if ( is_array($this->attributes['SEO_CHAR_CONVERT_SET']) ) $anchor = strtr($anchor, $this->attributes['SEO_CHAR_CONVERT_SET']);
  return $this->short_name($anchor); // return the short filtered name 
	} # end function

Any tips on how to make this happen ? I tried changinc the order of code but it not work.
"Use no way as way, have no limitation as limitation." - Bruce Lee

#15   osCshop

osCshop
  • Members
  • 161 posts
  • Real Name:.
  • Location:The Netherlands

Posted 06 June 2005 - 12:28

Bobby,
Great contribution, RESPECT!!

It is the backbone of the eventual v3.X series and is transitional...meaning that when v3.0 is released upgrading will be as simple as overwriting 1 file.

Great news! (means I don't have to wait for v3.0)
But; My development-Shop is on an Windows server. I guess I'll still have to wait a while(?).
I know your opinion about STS, but for my design needs I must use STS.
Does this contribution work with STS?

Regards

Edited by osCshop, 06 June 2005 - 12:31.


#16   Millie

Millie
  • Members
  • 63 posts
  • Real Name:Millie
  • Location:Ohio

Posted 06 June 2005 - 12:52

I have a set of categories that are the alphabet to sort our bulk herbs and the category for the letter P does not display the products. Is there a way I can change the rewrite rule so that the P category will still work? My .htaccess file is as follows

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!
Millie

#17   Phocea

Phocea
  • Members
  • 159 posts
  • Real Name:Greg

Posted 06 June 2005 - 14:05

I have updated to this version earlier on this morning without any problems. Just read the instruction carefully and you cannot go wrong !!

Chemo, you mention that this version works better for multinlingual sites .. do you refer to the special character conversion or is there something else more related to a discussion we had in another thread /wink.gif' class='bbc_emoticon' alt=';)' /> ?

#18   niknakgroup

niknakgroup
  • Members
  • 686 posts
  • Real Name:Tony Blacker
  • Location:Ipswich, UK

Posted 06 June 2005 - 14:07

hi everyone. I have just got off of instant messenger with chemo, who for as yet unexplained reasons has been banned from this forum. He cannot post any comments, nor can he even view the problems that others have posted. Obviously it is too early to pass judgement on the powers that be as to why this has happened, but Chemo wanted me to post this comment to all people looking for his valuable support and help. The comment below is his work, and if as a result of posting it I get banned, then you can make your own decisions about what that says about the state of the osc forums. Anyway, this is what he says:

osCommerce Community,

I was banned from the forum and will no longer be able to offer support for my contributions.  I apologize to the osC community members that would have benefited from not only my future support but also the contributions that would have been released.

Good luck in the future and I wish you all the best in achieving your goals.

Cordially,

Bobby


Sorry to everybody who would have benefitted from his expertise, and hopefully we can sort out any differences between him and the osc team to get such a valuable community member back into the osc family.
Please note - if I have suggested a contrib above, it doesnt mean it will work! Most of the contribs are not ones I've used, but may be useful for your particular problem....
Have you tried a refined search? Chances are your problem has already been dealt with elsewhere on the forums.....
if (stumped == true) {
return(square_one($start_over)
} else {
$random_query = tep_fetch_answer($forum_query)
}

#19   greekman

greekman
  • Members
  • 1 posts
  • Real Name:Al

Posted 06 June 2005 - 14:39

None of my language files are plugging in.... all of the cart text is just variables anyone know what to do here? /blink.gif' class='bbc_emoticon' alt=':blink:' />

#20   misterbling

misterbling
  • Members
  • 142 posts
  • Real Name:Lee

Posted 06 June 2005 - 16:47

Hello I noticed this difference.

http://www.misterbli...klace-p-18.html

http://www.misterbli...8.html?cPath=14

I thought was just me but the post earlier in this thread about a newly installed store showed the same thing in a deeply listed product

http://www.bruinenfi...tml?cPath=21_22

Just installed and am going to tinker with it on a test site but just curious about this.
Hip Hop Jewelry | Bling Bling | Iced Out