Curated ideas from my proven experience to fix organic search after a failed migration on an ecommerce website.
The story that follow comes from my experience as an SEO in a web agency back in 2016. This is certainly the most valuable proven experience I had the chance to live as I learned how a business owner thought before applying my presupposed knowledge and skills at the moment.
The migration had taken place in November 2015. Since the day of the migration, organic traffic has been declining to the point of losing more than 50% by the end of December 2015 compared to the previous year. The impact on revenue was even more severe.
- 01. Context
- 02. Combining two ways of thinking: business & search
- 03. Technical optimisations
- 04. Product highlighting
- 05. Conclusion
The story begins with a failed website migration
Back in 2016, we received a call from a business owner asking for help: he had just migrated his website and the SEO suddenly drop causing a net loss of €2.5M in a month.
The story was unfortunately something we often heard at that time: “I took for granted that the company hired for the redesign and migration was taking care of the SEO side of things”. Answer is no, obviously.
After talking with the business owner, we were like “okay, it happens. We know how to take care of things. It will just take some time as we don’t only need to fix what have not been taken care of, we also need to educate the other company as they still work on the website.”. So we told him that he should be patient and at some point, the average monthly turnover would be reached again (not a promised here but an objective we could reach as the website already reached it in the past).
Still, he told us the following: “I’m willing to wait, understand that SEO takes time but I don’t want to hear that you’re just going to try to get back to the usual monthly turnover. I want you to get back what I lost, and I also want you to get a higher monthly turnover to cover all the losses I suffered.”
As an agency, it was not enough to only illustrate the issues identified in a beautiful PowerPoint and attach a quote to it. No. It had to be demonstrated that our actions would prevent him from closing his website to rely solely on his physical shop. At least, that our actions would allow him to safeguard his investment (the site cost him about €200K).
Understanding what’s behind an online business
All the best performing pages that generated the highest revenue but also organic visits (because they were very well ranked) had simply disappeared from the search results (unless one had the courage to go beyond the tenth page of search results).
With pages missing from search results and therefore sales at half-mast, it relied solely on paid acquisition campaigns to generate sales but at a loss because the overall ROI was well below 100.
Another problem caused by this unsuccessful migration which we would not have thought of without his warning: the stocks. He negotiated his stocks as well as his selling prices (thus his margin) with the various suppliers each quarter. At that time and without surprise therefore, the stocks were too high compared to the season and the collections being renewed each quarter, we were heading straight towards dry losses because nobody would want clothes of old collections (for information, the site as well as the physical store was specialized in clothes and accessories).
So we asked for the complete inventory of his products with the buying costs and his margin rates. From there, this file would help us to prioritize our work from a business point of view and not an SEO one. So the idea was not to present the SEO audit of the site in detail, he had the big picture: the SEO aspect that had been forgotten during the migration.
Technical pomade: relying on a few actions to get better
As said above, the agency in charge of the redesign and migration of the site had not yet completed all the technical deployments and our optimization requirements (technical therefore) had to be submitted to them. Obviously, as the SEO was not part of the initial specifications, each requirement had to be evaluated to be quoted and then, if the quote was accepted by the site owner, the requirement was then prioritized and included in a sprint.
In other words, it was difficult to multiply our requirements for technical optimization in terms of cost but also in terms of deadlines; our requirements were not among the highest priority.
We therefore had to decide and choose two optimization axes on which we were betting on good performance capable of improving the user experience.
The team of developers was very talented and they used high-performance technologies, so little additional work was required to achieve the desired performance.
Our requirement was to reduce the size of the images so that the pages would load faster and to set a loading limit of 200ms.
The images were important to us because we wanted to (re)build the organic acquisition through the carousel of images present on the SERP for certain queries as well as via Google Images: it was a field that had never been tackled before. We therefore bet that the efforts would be more likely to pay off quickly here.
We therefore reduced the size of the images without reducing their quality (they came from the suppliers themselves, and above all, the product scenarios were very immersive). We also revamped the names of the image files and their attributes: the product images used the product name, with a color or size variable in the case of multiple images, the images of celebrities (in this industry, the clothes were worn by high-level athletes) used first and last names + brand and situation.
Now, you can use the CRUX dashboard (built by the Chrome UX Report team) for your analysis and share it with web developers as well. You can also use PageSpeed insights to gain information at the URL level. Using Screaming Frog to run a crawl of your website is also a nice start to get data for each URL crawled as well: how to audit core web vitals.
404s & templating
Although visually clean, the product listing pages looked like what you see on most ecommerce sites. A column on the left side was dedicated to facets to allow sorting and a grid view of the products in the category with classic pagination. This was the most expensive optimization feature but certainly the one we were the most proud of, especially because SEO have been prioritised over the design.
We have broken this default layout to integrate the following choices:
- A page cut-out to distinguish the different ranges.
- Each line had an image inlaid in the background to illustrate its universe.
- Each line also featured its best seller (a link leading directly to it). The best selling product was dynamically updated according to the sales calculated over the last 7 days.
First, it was necessary to manage the high number of 404 errors left behind over the years as well as the URLs used before the migration. We often read that 404 errors have no impact on your organic search, but when we see that they represent half of Googlebot’s hits over a day: we have reason to wonder about the interest of leaving them as they are.
Two simple rules have been established to handle product pages:
- If a similar product exists then the old product page is redirected to it with a 301 status code.
- If there is any product of subtitution then a 410 status code is assigned (log analysis has demonstrated a much lower crawl frequency on this status code).
It was a workaround but not a solution for all the next 404 errors that we could see coming soon. The idea is also to automate or semi-automate as many SEO actions as possible. Thus, another rule was defined:
- When the product reaches a stock of 0, a script triggers an alert email to the person in charge of suppliers and stock giving him 5 days to define the substitution product. If no action is taken then a 410 status code is automatically assigned to the page.
If your website has a lot of URLs (more than 500K), you should read my article on how to optimise your crawl budget and get rid of resources that waste it such as 404s:
Margin rates & best selling products
With a catalog of about 80,000 products, it was a matter of prioritizing and working in batches. We chose to prioritize as follows :
- High Margin + Type of high performance product in its range + High Stock = Milk Cow
- High Margin + Type of high performance product in its range + High Stock = Star Product
- Moderate Margin + Type of high performance product in its range + Medium Stock = Dilemne (Question mark)
- Low Margin + Type of low performance or loss leader product + Medium or low Stock = Dead Weight (Pet)
We then used this matrix to create three different product page templates:
- Stars: the product page had to contain a description of the product, followed by an “expert opinion” section. For this part, we called upon the salespeople of the physical store so that they could help the in-house writer write the contents. The product page also contained the technical characteristics and the customers’ reviews. Actually, the customers were asked to write a review only for these products.
- Cash cow: the product page contained the product description, the expert’s opinion as well as the technical characteristics.
- Question mark & pet: technical characteristics only.
After 6 long months (it should be pointed out that I received a call every day asking me why it took so long to get back in place), we managed to exceed the monthly revenue that was usually achieved. The investments in paid acquisition could then decrease as organic had regained its leading position in acquisition channels (in terms of number of sessions, in revenue but also in traffic quality). Also, with my colleague on the paid acquisition side, we were against the double coverage in search results: we started from the assumption that if a page was displayed in the top 3 in organic, then paid ads had no reason to be there. It might seem like a risky bet when you know the CTR averages as you scroll down the SERP, but we had a good argument on our side: given the specialized sector of activity in which the site was evolving, the historical and therefore “trustworthy” players for the targeted audience were mostly in the organic results. It wasn’t just an idea with no related data, it was a proven fact: paid ads performed less in these cases.
In that kind of situation, you should focus on the following:
- Keep in mind that your KPIs are not the same for the business owner: you also need to take into account business and financial data in the equation to take better decisions (and best measure the risks you are willing to take).
- Be able to test things quickly, which you can implement yourself so that you don’t have to waste time having your requirements estimated or going up the decision chain.
- Split your efforts between those that will have a high impact (on revenue) and those that will have a lower impact.
- Educate the people who are going to work with you by bringing to their attention the impact that their actions can have on organic traffic: often, you will find allies in other acquisition channels and sometimes even in more distant fields but ones that have the “big picture” of SEO.
A year after, we maintained good performances but unfortunately | luckily, our contract ended faster than expected. The industry leader had just made a takeover offer. The site of our client had a physical store which was not their case and that was the main reason but the success of the website casually allowed to see the amount of the check on the rise.