Blog

  1. My First Experience with the Magento Ecommerce System

    Magento is a relatively new system to the open-source ecommerce world and it’s gotten rave reviews from many people. There are several good ecommerce systems such as OSCommerce or Zencart that have been around a long time but suffer from old coding, lack of features and poor SEO out of the box, so I was very interested in giving Magento a try, as we currently develop almost exclusively for ecommerce with OSCommerce, and I’m always on the look for good new technology that may benefit our clients. A good opportunity arose to give Magento a try with a pro-bono client recently, and here’s a recap of that experience.

    This project needed the ability to easily add downloadable products, have easy content management abilities for site pages, offer the ability to upsell on checkout, work with Paypal (the client’s payment preference), and work pretty much out of the box since the client couldn’t afford a lot of extra coding time. Since OSCommerce downloadable products were not real user-friendly (files have to be manually uploaded via FTP and linked to, which is more complicated than most non-techies want), and I’ve never been really a big fan of OSCommerce’s attribute handling, lack of search engine friendly URLs and no built-in support for upselling, I figured this project wold be the perfect opportunity to give Magento a try. It claims all of these features "out of the box."

    So we attempted to install Magento on the client’s webhost, which was a cheap shared service (I know, not ideal for ecommerce sites, but this client was on a very tight budget). Well, Magento wasn’t having any of that – it wouldn’t even install, despite the host supporting all of the server requirements for the system. So, we switched to another cheap host, only to later find that they didn’t support InnoDB, which is often not supported by low-end hosts due to the load it puts on the server, despite being a pretty cool technology. So, we installed a version of Magento released earlier this year that did not yet require InnoDB, and voila, it installed. The installation process went very smooth – as I would expect a modern system to. We eventually had to move the site to our server though, as the second cheap host just didn’t have enough pep to allow Magento to run well, as it is a bit of a resource hog. This experience was in the back of my mind when I wrote about "The 5 Reasons Cheap Web Hosts are the Devil." Anyway, once on our server, it ran pretty well.

    The next challenge was getting Magento set up and a template installed, as this client did not have the budget for a custom design. We purchased a $180 template, and to our disappointment, the documentation that came with it was very poor, and the theming system, although I’m sure it’s very robust, was a beast to figure out compared to the very logical was OSCommerce handles integrating themes, although it does involve cracking open a few PHP files. Although installing the template was very easy, the layouts didn’t seem to work out of the box like the screenshot shown. This may be more of a problem with the template creator than Magento though. But, we had a bit of a time beating this theme into submission. 

    Once we got the theme working as we wanted, the next step was loading products. All went well until we realized that all of the MP3 products and samples that we uploaded got "automagically" renamed by Magento, and unfortunately renamed to names that already existed, thus overwriting previous files! So we had 30 products that were all using the download file from the last one uploaded chronologically. Do’h! After playing with it forever and searching the web, it turns out that Magento utilizes Flash technology for the built-in uploading of files, and it just so happens that version 10 of Flash broke this ability in Magento. This really disappointed me. It doesn’t make sense to me that a system would tie in a critical feature like uploading products to a technology that will inevitably change, and installs on the client’s computers, which you have no control over. Because this was an issue with Flash, there was nothing we could do….so we ended up using the remote file options for products, which was one of the reasons I wanted to use Magento, as this was the way OSCommerce handles uploadable products.

    Once we got the products loaded it was time to get checkout working. The Paypal checkout worked flawlessly, but unfortunately the email that goes out with links to the purchased product showed a link to the product three times. This appeared to be a problem in the core of Magento with no easy fix, and the code was not documented very well. We are still waiting to hear back on the Magento forums if anyone know what that is about. I was disappointed that a more modern system required manually editing template files to change the default store name from "Magento Store." The system has a place to put in the store name, why not make the template files use that with a variable? Anyway, not a big deal with a little search and replace – just annoying.

    After getting that all set up, the next part was trying to get upselling set up so that when a user checks out, it encourages them to look at other similar products that are higher in cost, to improve profit. Unfortunately, neither upselling, cross-selling or multiple downloadable files per product seemed to work, despite me watching the Magento video on how to set it up (The video series are very well done, however). Again, I’m not sure if this was a theme incompatibility with these features or not.

    So all-in-all, Magento is very promising. The administrative side for tracking sells, customers, etc. is very slick. It has a nice Google Analytics-like graph showing sales on login, and things are organized pretty well. Also, installing the FCK graphical editor for the content management system went fairly well (The Magento Connect auto-install of add-ons was very nice), although image uploading required some hacking and didn’t work at all with the TinyMCE (Our preferred) editor. As with any system, the first time you use it, there is a pretty steep learning curve. I’d expect that the next time we tackled it, it would go smoother. The things that really disappointed was the lagginess on servers (high server requirements), the whole Flash integration for file uploads issue, which to me was just conceptually the wrong approach – the lack of clear code documentation and just the general bugginess out of the box.

    Will we be ditching OSCommerce as our mainstay for ecommerce in favor for Magento? Not likely anytime soon, but I do intend to keep my eye on Magento as I see some real possibilities for this system in the near future once it matures a little more. I really like how you get a number of features out of the box that would take a good deal of hacking to OSCommerce to achieve.  I’d definitely recommend going with a very high end shared server, or even better, a dedicated server environment if using Magento, however. And be aware that it has a pretty high learning curve and be ready to wrestle with it a bit since many of the features that are present out of the box may not work the way you’d expect. So working with a tight budget may not turn out so well if you’re paying someone else to do these things for you.

  2. 5 Reasons Why Cheap Web Hosting Companies are the Devil

    Although we offer great web hosting ourselves, many of our clients either come to us with their hosting set up elsewhere – some of which many are great, but a lot of the time they are not. Often people look to skimp on cost for their shared web hosting, but going with one of the number of giant bulk web hosting companies out there. In my opinion, that is a mistake and I’m going to explain why I think that, using a few of our experiences  as examples.

    1. Support

    We have a client that recently moved their web hosting from one crummy web hosting company to another. Right out of the gate, it was obvious that this new host wasn’t going to go any "extra mile" to help. They would not help with the site migration, for starters, but later when the website was hacked in to, they refused to help and simply said that the hack was do to an old script that needed updated. While, it’s possible that was the case, I later found that this particular hack has affected a number of CMS systems out there and not only that, the host’s install of phpmyadmin was also compromised. And up until that client our CMS has never been hacked by an exploit. So, I had a pretty good hunch that the server was compromised outside of our client’s CMS and more that likely a host issue.  Although that was most likely the case, they still refused to help and our client paid us to go through each of their files and remove the virus their site was infected with. So even though their hosting company has a cheap monthly charge, they still had to pay in the end…since their hosting company had crummy support and preferred to point the finger rather than take an honest look at the situation and try to help.

    2. Location

    Cheap web hosting companies typically host their servers where bandwidth is cheap, as that is the main cost for a web host provider. The bad part for the customer is those servers are often geographically very far away from them (Often California or Canada, which stinks for us southeasterners), meaning every time someone visits their site, the data has to travel a LONG distance to and back from the server for every page load, which means loading time is usually slow and sometimes times out completely, especially if the site uses a database. Going with a smaller, local hosting provider may cost more, but they usually host their servers closer to their clients (not to mention care who you are, as mentioned below), so you get a faster loading site.

    3. Technology

    It’s not unusual for cheaper hosting companies to be late adopters of technologies. I still run into hosts that have yet to offer PHP or MySQL 5 support…come on, they’ve been out for a couple years now…get with the program! Since many systems out there require new technologies, you may find that the software you want to run may not on your host. Cheap hosts also severely limit the amount of memory and bandwidth that you get – even though they may claim unlimited bandwidth, you’re getting only a trickle at a time, which can hurt your site’s performance if you have a lot of visitors. And if you have a piece of software that requires a special setting on your server or a decent amount of memory (ahem, Magento) – you can forget about them working with you, as they have to macro manage their system since they probably have a bazillion other people on that same server. And it’s easy to overlook a system requirement for something and not find out the host doesn’t support it until you’ve gone to the trouble of moving all your files over and setting up databases, emai accounts, etc.

    4. Communication

    Let’s assume the host does decide to do an update to their servers. They’ve got hundreds of thousands of customers…do they know what you are running and are they going to let you know that they just changed a setting that is going to cause your website to go down? Nope! You get to figure out that yourself when you notice your website has been down for a week and you didn’t even know. So then you get to put in a help request ticket and wait 24 hours to hear back from your host (many cheap hosts don’t offer phone support) and often you still have to figure out how to fix the problem yourself, as their technical support people aren’t too technical and are just reading a script or you get tired of waiting for them. If you’re lucky enough to have a host that offers phone support, I’ll bet a nickle that the person you talk to knows English as a second language…and I use the term "Know" loosely. If a company wants to outsource their technical support to another country…fine (I guess), but make sure they can speak English coherently if the majority of your customers speak English!

    5. They Don’t Care

    When you are one out of a hundred thousand customers, you better believe that the company won’t know your name when you call, what content management system you’re running, what version it is, or the fact that you are on a different time zone than them. And you’ll rarely ever speak to the same support person twice. So this means you have to "Do the Technical Support Dance" every time you call and answer the same questions and listen to the same suggestions that have already proved not to work again and again.

    In Summary

    So if you take your company’s website seriously, don’t skimp on your hosting….you’re going to end up paying for hosting one way or another. But at least with a good hosting company you won’t be paying with your sanity as well as your wallet.

     

  3. Use Twitter From Inside Gmail or Google Apps

    Like to Twitter and use Google Apps? Here’s a gadget that lets you update and view Twitters from within your Gmail interface:

    http://www.twittergadget.com

    Not bad.

  4. Get the Most Out of Incoming Links: FREE Link Generator!

    As you may know, it’s important to get incoming links pointing to your website in order to improve your ranking in search engines. But you can take that one step further by making sure that the person who links to you formats the link in such a way that creates a relationship between your link and several key terms. This is usually done using the title tag, like:

    <a href="http://www.yoursite.com" title="Your site title and keywords here">Your site title and keywords here</a>

    For those of you who are not HTML-inclined, we’ve created a free web app and placed it on our search engine optimization page to make properly generating this code a snap. Just enter your website address, website title, and several key phrases and viola, out pops the proper code, which you can copy and pass along to the people that you want to link to your site.Keep in mind for best results you should mix up the keywords and title a bit from site to site to make it look more natural.

    Check out our FREE link building generator tool here!

  5. Google Apps Now Have Custom Email Themes

    Back in November, Google announced themes for Gmail so that you could customize the look of your webmail. While this was a great addition, I hated that I didn’t have it in our Google Apps. Well a couple days ago, I finally noticed the new "Themes" option in my email setttings! It’s pretty neat…I was getting tired of the default look, so this was refreshing….so now I’m sporting "Green Sky."

    Keep in mind that Google is rolling this out slowly to users, so if you still don’t see the option, just hang in there.

  6. What is Pay-Per-Click Advertising (PPC)?

    Pay-per-click advertising is an amazing way to advertise. For a very reasonable amount of money you can get a world-wide audience to know more about your business. This post is going to talk about what is PPC advertising and why it’s important.

     

    Many websites offer pay-per click (PPC) advertising on them, but not all of them are necessarily a good investment. It’s hard to know where is the best place to advertise on the web, but starting with Google is never a bad thing. The next thing I’d do is look at what other websites appear near the top in searches for your targeted key phrases and then see if they offer advertising on them.

    How Does PPC Work?

    When you search on Google, for example, the PPC advertisements are the listings that show at the very top and also on the right side of the page. Research shows that the top left, followed by the top right is where most people’s eyes start out on a search result page, so placement is critical.Of those ads, when you set up an advertisement to trigger when a person searches for a particular phrase, you are competing in an auction against anyone else who also set up an ad to trigger for that same phrase. So the logical conclusion is the more broad the phrase, the more people competing for it and the more it will cost per click. This is why it’s critical to be as specific as possible when coming up with your key phrases. Ideally, your ads should link to a specific page on your website that talks about the same thing that the person searched for, so pointing to your home page is not always best.For example, if you own a shoe store and one of your key phrases is "Nike 330K Running Shoe" then you ought to link to your product page for that specific shoe. That improves your quality score in Google and keeps the user from having to search for the specific thing they want all over once they get to your site. 

    So what is "Quality Score" in Google? Google wants advertisements to be as relevant to the search term as possible. This results in a better experience for the user. If someone searches for "Roses in Raleigh, NC" and lands on an auto parts store, that would tell the person that Google advertisements don’t deliver. And Google doesn’t want that, since that is how they make their billions of dollars. So they rate all key phrases with what they call a "Quality Score" in order to encourage more relevant advertisements. You make an advertisement relevant my making sure  that your key phrases match wording in the ads for those phrases and point to a page on your site which also contain those same key phrases. In order to do this, you may need to break your key phrases in Adwords into several groups and get specific with the ad for that group and the landing page that the ad points to.

    One of the best parts of PPC advertising is you don’t have to concentrate so much on search engine optimization and link building and you get much faster results. And sometimes no matter how hard you try, you just can’t get a page to rank well for some phrases, but because you know it’s a killer phrase, you’d be willing to pay to show up for it.

    Another advantage to PPC advertising is you can get TONS of analytical data on how many clicks you get, how many times your ad appears to people, how long does someone stay on your website when they search for a particular phrase, what country they are coming from, etc. Unlike traditional advertising, you have a lot of numbers to work with. Unfortunately, with all those numbers comes the complexity of analyzing those numbers to interpret trends that work in your favor. That is where an expert in search marketing comes in handy.

  7. Automatically Tweet Your News or Blog

    Twitter is a great tool. But it doesn’t replace blogging – although it can suppliment it. There is a great service out there called TwitterFeed that will take any RSS feed and send new posts to your Twitter account automatically. That is great because people who are interested in your Tweets are probably also interested in your blog and this way you can promote your blog with no extra effort. And don’t forget you can use RSS feeds to automatically send new posts from your news or blog to other blogs, Facebook, etc.

  8. Don’t Let People Rip Off Your Website Content

    It is not uncommon for people and automated bots to snap snippets of text from your website and then use it for their own diabolical purposes. Here’s a script that will let you know when that happens and it also automatically adds a link to your site in the snippet anyone copies, so you can get an incoming link which helps improve your ranking with search engines. Cool, eh? The best part is it’s free and very easy to set up. Check it out!

    Tracer:
    http://tcr52.tynt.com/