♥FWR Media Posted May 4, 2009 Share Posted May 4, 2009 (edited) ULTIMATE Seo Urls 5 by FWR Media The new version of this contribution is a total rewrite .. Faster: Using a single cache file and NO database queries (after cache load) this is super fast ..(examples given further down). The cache is also updated "on demand" as opposed to one HUGE database fest. Modern: Using PHP 5 code .. no deprecated code and error free ( E_ALL | E_STRICT) and built in a strict MySQL 5 environment, this is code for now and the future. Light: Virtually no db queries .. small variable/define footprint .. no database install needed (although advised for ease of use) .. easy install .. slimmer code base. Compatible: Replicates old seo urls so no need for redirects or Google problems. Also inbuilt validation and 301 redirection. Modular: Contributions like .. info pages .. articles .. links etc can be added as one file modules. Flexible: Even with .htaccess in place with rewrites you can still choose (without code changes) between .. Standard osC URIs osc search engine safe URIs Tradition seo url rewritten URIs New seo urls with no .htaccess rewrites needed Wasn't the original from 2005 good enough? The old seo urls served us all well .. it was a good concept but had limitations. Speed: Most wont have analysed query use with the old seo urls but it makes HUGE use of the database .. even if you had installed Chemos old queries debug contrib you will still be in the dark as the original used its own database class (for no apparent reason) so seo url queries don't get reported .. even on average sites it produces literally hundreds of queries. The cache itself queries every time to assess if a cache entry is still live so the cache is in it's own way a bit of a hog. The original also had literally tons of unnecessary code (1965 lines in total) .. unused or unimplemented features .. many errors if you run reporting E_ALL etc etc so on and so forth. In addition if anyone ever looked at the global scope and defines the old version used an enormous amount of space .. much of which was unneccessary. Example of the new code. (Stats from local environment .. my little old home pc .. so a server should manage :) ) Multiple loads explanation: I simply iterated loading the cache file X times on each page load to replicate server load. Standard: (1 iteration) Tiny shop Vanilla osc with 20 categories and 27 products Cache loads in 0.0005 seconds (1/2000 sec) Multiple loads (X 10,000) HUGE shop PC didn't like this at all :) Load time 4.6893 seconds (4 1/2 secs) Approximately replicates .. 200,000 categories 270,000 products Multiple loads (X 1000) Very very big shop Load time 0.4694 seconds (1/2 a sec) Approximately replicates .. 20,000 categories 27,000 products Multiple loads (X 15) Average shop load time 0.0073 seconds ( 1/136 second) Approximately replicates .. 300 categories 405 products Note: If anyone has comments about the validity of these "approximations" I'd be very interested. My initial view is that they are highly conservative. e.g. take the HUGE shop .. because of the way I'm testing that particular test loaded a 2kb file 10,000 times and ran unserialize() and gzinflate() on each of those iterations. In the real world the system would have loaded one 20,00kb file and called unserialize and gzinflate just once. (although on a shop of that size I would take a different approach ofc). So to the reason for posting here: - I have no intention of posting this as an available contribution until it has been successfully tested in other environments to my own. If you are interested .. email admin at <my forum name> dot co dot uk and I will send you the current revision .. purely on the understanding that you will test and provide feedback that will enable me to reach the stage of uploading a version to the community. If you have the ability to test on an Windows server all the better as I don't have access and would like to know if the "non" rewrite version works on Windows. Let me know your thoughts. You can see the standard .. non rewrite urls working at my dev site Edited May 4, 2009 by FWR Media Quote Ultimate SEO Urls 5 PRO - Multi Language Modern, Powerful SEO Urls KissMT Dynamic SEO Meta & Canonical Header Tags KissER Error Handling and Debugging KissIT Image Thumbnailer Security Pro - Querystring protection against hackers ( a KISS contribution ) If you found my post useful please click the "Like This" button to the right. Please only PM me for paid work. Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.