December 12, 2013
Magento merchants tend to be dynamic, energetic and resourceful people. They pride themselves on their ability to research and learn the technical knowledge required to manage and grow an online business. However, because there is so much to learn, most people on the business side have only a surface understanding of the technologies and terminologies.
Even the most adept merchants often feel they are speaking to someone from another planet when dealing with developers. Almost every merchant has been in a meeting in which they were buried in a deluge of indecipherable acronyms and buzzwords.
While one article cannot solve the merchant-developer communication problem, we would like to present some questions (and the RIGHT answers) merchants should ask their technical folks to help ensure their site is in top running condition.
1. What is our current resource load and how much of a spike in traffic can we handle?
Merchants who run promotions need to be prepared for spikes in traffic. If your server is already running close to capacity, it may slow down, deny access to some users, or, heaven forbid, crash during an important marketing campaign. To make sure you have sufficient CPU power, RAM and disk space, you should provide traffic forecasts to your developers and ask… can we handle it?
2. What are we doing to keep our pages loading fast?
Page load time is critical! Your developer should be able to tell you which caching methods they are using. If you are on a cloud resource pool you will maximize your speed if you are using Nginx (rather than Apache) and have implemented APC caching. If you get a lot of traffic from other countries you should probably be using a Content Distribution Network.
3. What benefits of Magento Enterprise Edition are we using?
It is surprising how many Enterprise Edition users are not taking advantage of full page caching, one of the key features available to improve page load times. Most often, it is turned off because your design (theme) conflicts with it. If that is the case, you should be asking how you can modify your design to allow for it. You should also make sure you your team knows how to segment customers, add banners to timed promotions, set up private sales, stage content and other features unique to Magento Enterprise Edition. It's important to test, test and test again to determine what works best for your type of products and services.
4. How can a non-technical person update an image or content on my site?
Your developer should have set up CMS blocks that are easy to update for content like banners that are updated frequently. You should also have special users roles set up for designers, writers and other content creators and make sure they understand how to use them.
5. How are we keeping the server secure?
If you have not had this conversation with your developer or server administrator, have it soon! They should make sure only the ports necessary are open, that all passwords are not default and are unique, and, wherever possible, user access should only be allowed from specific IP address.
6. How are we set up to handle cases when we need to roll the site back to a stable, previous version?
If the answer is, 'we aren't,' you may want to consider a new development resource! The best answer is that a version control system of some kind is in place. You should also have both a production server and a development or 'staging' server in place. All of your experimentation should be done on the staging/development server. Changes should only be passed to your production server when it has been thoroughly tested.
7. Who has access to my server?
If your developer or server manager doesn't know, it is time for them to find out. Ideally, only they will have root access. If FTP access is set up, each user should have their own user name and password. Whenever possible, SFTP not FTP access should be granted and only to trusted users. Access to the staging/development server can be a little broader, while access to your production server should be limited to a highly-trusted core of users.
8. Which version of Magento are we using?
If you're more than 1 version behind the latest Magento release, you may be missing out on some important features or security patches if you are running an older version. Visit the Magento web site to see the latest version of Enterprise Edition. If you are more than one version behind, you should ask why.
9. What modules/extensions have been installed on the store and what do they do?
It's important to know which extensions you have installed to make sure you are using each one to its fullest extent. You may have functionality available to you that you are not aware of. Also, if the list is very long, you may want to look for extensions that handle the functionality of more than one extension. Extension conflicts do happen and managing your portfolio of install extensions will help keep your Magento site lean and mean! Your developer can easily find these by looking in the appropriate folder on your server and if they are maintaining your web store, they should know what each one does.
10. Is any core code or templates overwritten?
Overwriting core code is at the heart of many performance problems and can lead to problems when making any upgrades in functionality (new extensions or when moving to a new version of the platform).
To ensure that you are getting the most out of Enterprise Edition, make sure you are working with a certified Magento developer. Developers spend hundreds of hours learning the Magento code in order to become certified and show their dedication to the Magento platform by taking (and passing) a rigorous test.