[CONTRIBUTION] Ultimate SEO URLs v2.1 - by Chemo
#1
Posted 31 May 2005, 15:30
?=>a
?=>b
?=>v
?=>g
..........
As I can do this? In what file must I translit add?
Thanks!
#2
Posted 05 June 2005, 23:58
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?
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
#4
Posted 06 June 2005, 08:00
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
Posted 06 June 2005, 08:20
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
Posted 06 June 2005, 08:27
Will this work on an IIS server?
Mike
#7
Posted 06 June 2005, 08:29
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 "'".
I tried to put in SEO Admin "Enter special character conversions" :
'=>'
'=>\'
"'"=>"'"
"'"=>"\'"
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.
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
Posted 06 June 2005, 08:38
My Webpage
#9
Posted 06 June 2005, 09:14
misa, on Jun 6 2005, 10:38 AM, said:
Misa, I just had a look, seems to work fine!
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
Posted 06 June 2005, 09:20
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
Posted 06 June 2005, 09:57
misa, on Jun 6 2005, 08:38 AM, said:
My Webpage
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.
Contributed Barclay's ePDQ Payment Module though not originally mine. Made it work though...
#12
Posted 06 June 2005, 10:09
#13
Posted 06 June 2005, 10:33
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 ?
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
Posted 06 June 2005, 11:44
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.
#15
Posted 06 June 2005, 12:28
Great contribution, RESPECT!!
Quote
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
Posted 06 June 2005, 12:52
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
Posted 06 June 2005, 14:05
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
#18
Posted 06 June 2005, 14:07
Quote
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.
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
Posted 06 June 2005, 14:39
#20
Posted 06 June 2005, 16:47
http://www.misterbling.com/bling-skull-necklace-p-18.html
http://www.misterbling.com/bling-skull-nec...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.bruinenfit.nl/shop/corsa-p-29.html?cPath=21_22
Just installed and am going to tinker with it on a test site but just curious about this.














