In a recent Google+ hangout, John Mueller from Google explained how Google ignores hidden content, and when asked for an example of such non-black-hat hidden content that might get ignored he explained it on an example of tabs.Read more
There are many Magento robots.txt templates floating around, with tens of instructions for crawlers. Most of them deal with preventing crawlers to access some of many Magento’s directories. But sometimes these instructions can be too restrictive and might prevent Google from indexing your images.Read more
WARNING: this is a fully linux-based tutorial. I’m pretty sure that this is possible on Micro$oft Windows and OS/X, but unfortunately I’m not using them, neither I know a good DNS server for them and the impact on XAMPP and MAMP.
As you probably already know, one of the main problems when you’re doing multiple projects is to organize them properly, first for fast local testing of changes, second for your own sake, to not get lost on your own computer.
One more problem are the testing local domains. Well, the easiest way when you create a project is to create a new project folder, put a new domain (and every subdomain you’ll use) into your /etc/hosts file, create a new virtual host in the apache config, run a2ensite #### (or however you enable a new site on your distribution), restart the webserver… Which means, you need to do that everytime when you’re creating a new project. Not a very convenient way if you ask me, as you’re bloating your /etc/hosts file and your Apache2 virtualHost file(s).
So, one day, I was thinking about that and looking for a solution for it. I’m sure there are a bunch of ways to get rid of this problem, and this solution which I’ll show you is how I managed to do it.Read more
Here is a bit of out-of-the-box thinking for you. What we do at ICG is consult e-commerce businesses and help them use the latest tools and technology to improve their online sales. This article will show you how to easily split test your offline promotions and see which ones drive more online sales.Read more
This post is intended for all Magento developers who use PhpStorm as their IDE. It’s about Magicento – free PhpStorm plugin for Magento developers.Read more
Did you ever need to create grid in Magento administration that is filterable by more column’s values, i.e. something from multiselect drop-down. Or perhaps more specific, you want to export all pending orders (order status: pending, pending_payment, pending_paypal) but you aren’t satisfied with Magento implementation of selecting, searching and exporting one by one pending order status. If you’re interested how I implemented similar behavior with input text field, simulating MySQL “IN” and “NOT IN” statement, keep reading!Read more
We are privileged to work with some amazing online stores out there, and it gives us great pleasure when we see our recommendations implemented, tested and see the results that have amazing impact on our clients’ businesses.Read more
When you develop your Magento module or any kind of modification by observing events, it is very important to choose proper events to observe.
One method is to search Magento core files in your PHP IDE for “Mage::dispatchEvent(“, which should result with about 400 occurrences.
To this day little was known about YouTube’s search engine ranking factors compared to what we as an industry know about Google’s ranking factors. This is pretty sad since YouTube is the world’s 2nd largest search engine. There were lots of practical advice and wild guesses thrown out there from common sense but till now we had little actual data and case studies of YouTube optimization, and nothing even remotely similar to this data we have for Google.Read more
We recently integrated a feature that would prevent users from creating an order with a PO Box in Australia. Since we are already familiar with Australia Post shipping integration (and heavy modifications of it, I might add :)), the first thing that came to mind is to have a look if there’s some API or web interface that can be used to filter out post codes that are linked to PO Boxes. Many high volume addresses and/or PO Boxes in Australia have their own post code, so it looked like an obvious solution. It turns out that it’s not that simple or logical, since there are many edge cases where you can not reliably tell if you should filter the code out or not. There is a guide made by Fontis that shows how to validate the input fields in order to filter out PO Boxes. However, in our case we had some dynamic content loading with Temando shipping method integrated. This guide is intended as a more general solution that is compatible with Checkout page’s dynamic content and third party Shipping methods integration like Temando.Read more
Here is a quick tip how to enhance your form validation error messages and show them in a tooltip.
There’s no need for any templates modification, all you have to do is edit your CSS file and update it with custom code.Read more
E-commerce is an industry where conversion rate optimization is extremely important and where it can give you amazing results, but only if you know what you’re doing. Are you testing “the right stuff” but get no results? You my friend, might be testing the right stuff, but for the wrong audience!Read more
Running a very popular blog over at inchoo.net, sometimes a piece of spam comment slips through our radar. When you’re talkign thousands and thousands of comments, there can be lots of spam in them.Read more
E-commerce industry has obsessed with the amount of checkout steps in terms of conversion rate optimization for far too long. It’s time we put a stop to it. Lots of businesses – services, extension providers etc. – were built upon idea that one step checkout is far better for your conversion rate than multi-step checkout.Read more
If you’re working for a client for a while there is a high probability that you got request to implement some commercial extension. Or perhaps you’re store owner and you bought specific extension but you now want to test it firstly locally, before you deploy it on your live site.
In this short post I’ll give you an idea of what you can do to “make it work” locally in case when you have valid license for the extension and extension doesn’t work on your local project. If you’re interested on what you can do in situation like this one, keep reading.Read more