Edmonds Commerce : Web Development, Design, SEO

Archive for the 'oscommerce' Category

osCommerce Contribution Released: Server Migration Synchronisation

Wednesday, May 21st, 2008

Server Migration Orders / Customers Synchronisation

This contribution is for people who have moved or are moving server. When this happens you have to update your DNS records to point your domain name at your new server. However it takes a little bit of time for this change to fully propogate through the internet meaning that for a period you will take orders at both servers.

Once your DNS has fully propogated you can use this system to generate a mysql dump of all of the orders/customers on your old site that need to be moved across to the new server.

osCommerce Output Queries Debug : Store Speed Optimisation

Wednesday, May 7th, 2008

A common requirement for oscommerce store owners is to try to get pages loading faster.

Part of the problem is that each oscommerce install is different, with a mixture of contributions and bespoke customisations all making their own database queries and causing their own problems. The first part of the solution is to actually be able to see what is going on. For this you need to install the Output Queries Debug contribution for osCommerce.

After that, it is really down to looking through the debug information and tracking down the errant code or SQL and trying to tidy it up.

This is something we specialise in, if you need any help getting your oscommerce store up to speed, simply get in touch.

osCommerce Password Reset Using phpMyAdmin

Tuesday, May 6th, 2008

Sometimes you need to get in there and reset the password for oscommerce using phpMyAdmin.

In these instances, you do not just paste in a new password but you have to properly encode it first.

Here is a really handy tool to create a password hash for you, ready to be pasted into phpMyAdmin

for the admin side, you will need to edit the admin table and paste this into the password field for the account you need to set the password for.

Check out this easy oscommerce password generator

Populating osCommerce and other Ecommerce Platforms

Wednesday, April 23rd, 2008

One of the most arduous task in maintaining and ecommerce web site is the constant task of keeping all of your products up to date. Suppliers like to release new price lists and product ranges on at least a yearly basis. Just when you have managed to get your web site completely up to date, the rug is pulled out from under you and you have to start all over again…

Its a never ending task and if not handled carefully can soak up ridiculous amounts of staff time. Staff time means expense as any business financial director will tell you on wages day.

There are some great gains to be made in automating the task of keeping a product catalogue up to date. The popular ecommerce platform osCommerce has a contribution called easypopulate which is an essential addition. CREloaded and other flavours of enhanced osCommerce tend to ship with easypopulate installed by default.

Its a great script, but for a very large site with a lot of demands the script does need a little extra work to make it the fully fledged backup, restore, update and insert products tool that a serious ecommerce business needs.

Most platforms either come with or have contributions or modules you can install to enable bulk importing and updating of products which definitely makes things faster. However if you are finding that you or your staff are creating these spreadsheets by hand in your spreadsheet programme then there are still amazing efficiences to be achieved.

In fact, once you get really serious, you start hitting the row limits of common spread sheet programmes which means you literally can not open the entire product feed for editing. Once you are at this kind of size (or a lot less) you will find that your computer is very sluggish and editing becomes a slow and tedious task.

A much better way is to use custom written scripts for processing your information into the correct format for your bulk updating system. This is something that Edmonds Commerce specialise in and we have many happy customers who are saving countless hours by having software for the hard work.

The ultimate solution is to recieve product information in a feed from your suppliers. This is generally a very fast and reliable way of grabbing all of the product information for a particular supplier. However not all suppliers supply a feed. Others do supply a feed, but it is missing crucial information.

In this kind of scenario, it is usually possible to actually develop a script which will grab all of the required information and images directly from your suppliers web site. The familiar copying and pasting scenario but done by a script rather than a member of staff. Thousands of products can be grabbed in an hour and all outputed into a file correctly formatted for immediate upload into your bulk updating system such as Easypopulate for oscommerce.

Again this is a real speciality of Edmonds Commerce, though you may find that the average web design company does not have this kind of service to offer as it is a bit unusual and involves a steep learning curve.

For more information on this subject please do get in touch

Chemos SEO URLS for osCommerce

Wednesday, April 16th, 2008

One of the most popular SEO contributions (community supplied open source modifications) for osCommerce is the SEO URLs system supplied by Chemo.

Chemo was famous on the osCommerce scene for a long time and supplied a great many highly useful contributions. One of his best contributions to osCommerce in my opinion is this forum thread where he investigates and discusses the steps needed to speed up the standard osCommerce.

For any store with a large catalogue, some of these steps are pretty much essential. Whilst the thread does not cover every single thing that a large site would need to do in order to get down to fraction of a second load times, it does cover a lot - and it also gives you the ideas you need to track down further areas in the osCommerce code base that are not as efficient as they could be.

Chemo’s SEO URLs though are not a contribution I would recommend installing on any site that has a large catalogue. The reason being that Chemo has sacrificed a lot in terms of performance in order to make the contribution easy to set up for the average web master. I totally applaud his generosity in developing such a contribution and for many sites it will perform admirably with no need for special PHP skills to install.

At Edmonds Commerce we have tackled speed issues for large osCommerce sites and have found that we needed to code our own SEO URLs system which is much more streamlined but does require a lot more edits and customisations to work.

If you are interested in getting your osCommerce store to run fast, or would like more info about our SEO URLs system - simply get in touch.

osCommerce Essential Modifications

Thursday, February 21st, 2008

osCommerce is an awesome ecommerce package. It has many critics and this is mainly due to the fact that unlike many modern open source packages it is not really ready to run “out of the box”. That is a drawback, however it is not really so much of a drawback when you take into account that anyone that would want to establish an ecommerce presence is going to be very keen to modify the package to make the site look and feel unique.

This is where osCommerce really shines as it is very easy to modify and there is a huge user base with literally thousands of plugin modifications or “contributions” in osCommerce speak which can help you to make your store work in exactly the way you want.

There are some things though that are highly recommened for every osCommerce store though:

1. Search Engine Optimisation

As standard, osCommerce really is not very search engine friendly. Search engine friendliness is the first step towards search engine optimisation. This of course means that there are a fair few things you need to do to your store to make it truly search engine optimised. However, they are worth the hassle (especially if you get us to do it for you) and once you have some SEO modifications implemented, you will be able to start to get indexed and gaining visitors from the search engines without having to pay per click.

2. Speed

There are a few key things that every store should really do to speed up osCommerce. If however you expect your store to have a lot of visitors and/or display a lot of products and categories then you will really benefit from giving the front end of the site a bit of an overhaul in certain areas. The speed improvements possible are really quite dramatic and can make the difference between your visitors sailing through the site straight to the page or product they want or them getting bogged down, bored and finally leaving before they even get where they want to be.

3. Security

osCommerce is pretty secure out of the box. The admin side obviously needs some password protection and can be made more secure if it is felt neccessary. An easy modification is to simply rename the admin folder into something that only you know.

4. User Friendly

The osCommerce ecommerce system is fairly user friendly from the outset. One area that many people prefer to modify though is the checkout procedure which can be a bit long winded for some.

5. Easy Administration

Admin side there is a whole host of things that you can do to make your and your employees’ lives easier. For example adding products one by one using the admin tool can be a bit tedious and slow. Easypopulate is an awesome addition to any osCommerce store allowing easy population and editing of the product catalogue using your favourite spreadsheet program. We like Open Office for this task.

Part of the joy of running your own web site is that you are free to edit, change, personalise and improve it to your hearts content. Some things you will add because they make a real difference to your bottom line and some things you will add just because you think its a good idea or will be cool. The great thing with osCommerce is that you can edit it and make it work the way you want.

If you are not confident with PHP or the change you want to make is a bit more complex than you can handle, then we are more than happy to get in there and give you a hand!

Speeding Up osCommerce

Wednesday, February 6th, 2008

osCommerce is a great ecommerce package which is hugely popular due to its full feature set, massive options for customisation and a huge support base. However if you want to run a large catalogue, or have plenty of visitors then speed can become an issue. There are a number of things you should look at to increase the overall speed of your osCommerce store

The problem is in the way that osCommerce has evolved, and also in the way that they have tried to make the code base as portable as possible. This means that as standard, the software may be doing quite a few processes that are not really necessary for your store.

One of the biggest culprits of page load time problems, especially on sites with large catalogues is the split_page_results class. In standard trim, the class performs the most complex query of your catalogue page twice - once to find the number of rows and a second time to actually grab the results. On a small site you may not notice this, but on a larger site this query can represent a large portion of the total page load time.

The answer is to modify the class so that it uses the SQL_CALC_FOUND_ROWS functionality to simultaneously perform the query and calculate the total number of rows. Then to get this number of rows, you only have to select FOUND_ROWS() instead of performing the whole query again.

PHP:
  1. $count_query = str_replace('select', 'select SQL_CALC_FOUND_ROWS ', $this->sql_query);
  2. if(!isset($this->current_page_number)){
  3. $this->current_page_number = 1;
  4. }
  5. $current_limit = " limit " . ((($this->current_page_number -1) * $this->number_of_rows_per_page)) .', ' . $this->number_of_rows_per_page;
  6. $this->sql_query = $count_query . $current_limit;
  7. $this->sql_query = tep_db_query($this->sql_query);
  8. $count = tep_db_query("select FOUND_ROWS()");
  9. $this->number_of_rows = mysql_result($count, 0);