Client
Aquatica is a company manufacturing bathtubs, washbasins, faucets, and shower systems in the premium segment. The primary market is the U.S., although the online store is presented on many markets and different domains across Europe.
Our goal
Improvement of site ranking and increase in targeted organic traffic in priority directions of the online store:
- Bathroom sinks
- Outdoor hot tubs
- Freestanding Tubs
Source data and project features
- Website: Aquatica online store (products of other brands are not presented on the website)
- Region: USA (geo with the highest competition in this niche)
- Search engine: Google
- Language: English
- Website platform: SPA-website (JS-framework — AngularJS)
Target audience
Users aged 25 years and older, with an above-average income, working in banking and IT, who are interested in trends and technology (thus they are attracted to the features and materials offered by the company).
What is the SPA website?
SPA-website (Single Page Application) is a website where content is dynamically generated without reloading the pages. Such websites are written in JavaScript, in particular, the Aquatica store is written in AngularJS.
It is important to know that SEO promotion of SPA- and ordinary websites are fundamentally different things since the approaches to internal optimization are radically different.
Google, like any other search engine, is terrible at processing JavaScript. The content a user can see in their browser is very different from what Google can see.
In this screenshot you can see which search engines can process JS:
But in practice, the situation is much worse even for Google, as it is using outdated rendering tools based on Chrome 41.
How can you “befriend” SPA with SEO
Since the client’s website is written entirely in JavaScript, this means that Google cannot see the content (menus, products, texts, re-linking) without additional actions.
For Google to properly index the web pages, the server should not send it JS code of the page, but rather an HTML copy of the page that has already been processed.
What the JS code of the page looks like:
<html lang=”en“><head> <title>Luxury Outdoor Hot Tubs</title> <meta name=”fragment“ content=”!“></head><body>
<script type=”text/javascript“
src=”/assets/js/app.min.js?15151551“></script></body></html>
Как выглядит HTML-копия страницы:
<html lang=”en“><head> <title>Luxury Outdoor Hot Tubs</title> <meta name=”keywords“ content=”Outdoor Hot Tubs“>
<meta name=”description“ content=”ᐈ Luxury 【Hot Tubs / Outdoor Spas】 for sale in the ⭐ Aquatica ⭐ Online Store ✅ The best prices ✅ Made in EU ✅ Only the best materials ✅ Up to 25 year warranty“>
<meta name=”…“>
<link rel=”canonical“ href=”https://www.aquaticausa.com/“>
<link href=”/favicon.ico“
<meta name=”robots“ content=”index, follow“>
<link rel=”stylesheet“ type=”text/css“
media=”screen“ href=”/style.css“></head><body>
<div>Контент страницы</div></body></html>
As you can see from the code, the differences are fundamental. HTML copies of the page on the website were implemented using rendering SSR technology. The task of the SEO specialist was to check the implementation of SSR and make sure that:
- website is sending an HTML copy to Google, not JS;
- the user receives JS, not HTML copy;
- content in the HTML copy is not different from the content that user can see in any browser when JS has been processed.
- all content blocks on pages are correctly processed by Google;
- there is a micro-parsing in the HTML copy
Competitor analysis
Search results and their logic (“intent”) in the U.S. are very different from what we are used to in Ukraine. Information sites with selections are ranked even for queries with commercial content.
For instance, the query “Buy Outdoor Hot Tub” — with the user’s explicit desire to buy a product — information article with a selection of products is ranked in the top 10 (https://www.silive.com/homegarden/2022/07/these-are-the-best-outdoor-hot-tubs-to-buy-for-the-right-price.html), which is completely irrational, considering that in other countries such queries are ranked only by the categories of online stores where the products are presented.
With this in mind, our specialists came up with the conclusion that we have to compete not only with online stores but with information sites as well.
Aquaticausa.com competitors comparison chart:
Website | Domain Rating | Referring domains (Ahrefs) | Referring pages (Ahrefs) | keyword phrases (Ahrefs) | Traffic (Ahrefs) |
---|---|---|---|---|---|
aquaticausa.com |
48 |
3297 |
37932 |
13653 |
28221 |
homedepot.com |
90 |
236455 |
9250565 |
8542024 |
126776364 |
costco.com |
85 |
102987 |
11046544 |
5962766 |
50332554 |
amazon.com |
96 |
4592796 |
4332977451 |
69859278 |
938453396 |
wayfair.com |
86 |
72811 |
13926242 |
4493240 |
29681586 |
overstock.com |
83 |
90400 |
30678253 |
2147655 |
12111988 |
jacuzzi.com |
72 |
6115 |
123080 |
38838 |
300917 |
lowes.com |
88 |
319681 |
12596738 |
5024482 |
56864864 |
By the way, aquaticausa.com is a relatively small site, with a small number of items in many subcategories and filters. However, we have to compete with the websites with the min. DR value of 72+. These are million-dollar websites, and some of them are well-known to many users who are not even familiar with the U.S. market.
Work process
The process of working on the website promotion can be divided into several parts
Technical audit and checking SSR functioning
The purpose of the technical audit is to detect errors and make sure that website meets the technical specifications provided by Google. Our audit included 43 items, and 20 of them required fixing errors.
As for checking the proper functioning of SSR, the major problem was the absence of a linking block in the HTML copy of pages and Google failed to correctly index some of the products.
Program implementation | Inspection result | Priority | Contractor | |
---|---|---|---|---|
1. | IP website analysis | ОК | low | software engineer |
2. | Checking the website for viruses, malicious scripts, and blacklisting | ОК | high | software engineer |
3. | Domain history analysis on WhoIs and web.archive | ОК | high | software engineer |
4. | Checking for the elements that may negatively impact user’s interaction with the website | ОК | low | software engineer |
5. | Checking for availability and correctness of forming SEO-Friendly URLs (CNC) | ОК | high | software engineer |
6. | Checking for the gluing of mirrors and complete duplications | correct | high | software engineer |
7. | Checking for a complete duplication of content | correct | high | software engineer |
8. | Checking for technical pages, pages with duplicate content, or with no content in the index | ОК | high | software engineer |
9. | Checking for correctness of the server’s responses to the page request | correct | high | software engineer |
10. | Checking the page code for HTML and CSS errors | correct | medium | software engineer |
11. | Checking for availability and errors in SSL certificate | correct | high | software engineer |
12. | Checking for hidden or spam links to external resources | ОК | high | software engineer |
13. | Checking for the correctness of robots.txt file set up | ОК | high | software engineer/content manager |
14. | Connect GWT | ОК | high | software engineer |
15. | Connect GA | ОК | high | optimizer |
17. | Check Sitemap.xml | correct | medium | software engineer |
18. | Checking for CSS and JS availability | ОК | medium | software engineer |
19. | Checking microformats | correct | high | software engineer |
20. | Checking social media buttons | ОК | low | software engineer |
21. | Checking website loading speed | correct | high | software engineer |
22. | Checking for the availability and optimization of multilingualism | correct | medium | software engineer |
23. | Checking for mobile version of the website | ОК | medium | software engineer |
24. | Checking for the website customization on other devices | correct | medium | software engineer |
25. | Checking for the correct output of the text content | correct | high | software engineer |
26. | Tracking Stat.Aweb content in the SEO-monitor | correct | low | software engineer |
27. | Checking for the elements (commercial factors) on the pages required for ranking in this topic | correct | high | software engineer |
28. | Checking for the partial content duplication | correct | medium | software engineer |
29. | Eliminate the removal of irrelevant and out-of-stock items | ОК | high | software engineer |
30. | Checking for reviews indexing on the website | ОК | medium | software engineer |
31. | Is the content visible with JavaScript turned off (Checking SSR) | correct | medium | software engineer |
Content | Inspection result | Priority | Contractor | |
32. | Checking for affiliates | ОК | high | |
33. | Checking the location settings in GWT | ОК | high | optimizer |
34. | Checking for the correctness of forming meta tags | correct | high | content manager or software engineer |
35. | Checking for availability and uniqueness of the web content | ОК | high | content manager |
36. | Checking for availability of landing pages for semantic core | ОК | low | content manager |
37. | Checking for the text content optimization | ОК | medium | software engineer |
38. | Checking for availability of content formatting | ОК | medium | software engineer |
Structure and re-linking | Inspection result | Priority | Contractor | |
39. | Checking for availability of “bread crumbs” menu | correct | high | software engineer |
40. | Checking for re-linking on the website | ОК | low | software engineer |
41. | Checking for indexable, optimized filter pages | correct | high | software engineer |
42. | Checking for the broken links on the website | correct | medium | software engineer |
43. | Usability | correct | medium | software engineer |
Website audit based on the Instructions for Google Assessors
Online stores are related to YMYL (Your Money or Your Life) topics – such websites should have a high E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) scores.
Our experts studied the Guidelines for Google Assessors in detail, creating the checklist for checking the websites on YMYL topic. Here is a brief checklist of what had to be implemented in order to increase E-E-A-T scores:
- Make a video about the materials used in production
- Create “About us” page
- Create “Our Awards” page
- Create “Our Production” page
- Create “Portfolio” page
- Create an author page for the blog
- Add author to all blog pages
- Add infographics to the category, subcategory, and filter pages
- Elaborate on SERMs
Collecting semantic core and drafting ToR for texts
Our team studied priority directions and competitors in detail. In addition to collecting a semantic core on the high-priority category pages, we gradually started to work out the filter pages, since the competition is a way lower on such pages, and given the level of competitor websites, the chances of being ranked in the top are much higher.
Examples of the filters we have created:
- commercial bathroom sinks
- design bathroom sinks
- modern vessel sink
- luxury bathroom sinks
- custom bathroom sink
- decorative bathroom sink
- unique bathroom sinks
- luxury hot tubs
- modern hot tub
- infinity edge hot tubs
- 30-inch vessel sink (and other dimensions)
- large hot tub
- and many other pages
We drafted ToR for all pages, and our copywriters wrote the texts based on them.
External optimization
During the initial stage of external optimization, we rejected all low-quality donors using Google Disavow Tool. Following that, we performed re-audit of the current link profile every 4-6 months, rejecting low-quality links that have appeared.
For instance, the website was spammed with the links from suspicious blogspot.com subdomains back in April 2021. There were a lot of domains, and if such links were not rejected in time, you could get a drop in rankings and traffic.
We used a variety of methods to build up quality link mass — from unconventional and cheap (yet high-quality) to expensive ones:
- outreach
- purchasing through link exchanges
- registration on trust directories and platforms
- registration on review sites
- crowd marketing
Results on the project
Despite an extremely competitive niche and complex geo, we managed to achieve good results in many directions and pages:
Modern bathroom sink
Design bathroom sinks
Modern vessel sink
Luxury bathroom sinks
Custom bathroom sink
Decorative bathroom sink
Outdoor hot tubs
Unique bathroom sinks
Luxury hot tubs
Modern hot tub
30 inch vessel sink
Conclusion
Traffic dynamics
While working on the project, we encountered many issues and factors which made it difficult to move forward:
- SPA-website
- SSR
- technical errors and revisions
- extreme competition
- the most competitive geo in the niche
Nevertheless, our team managed to perform well and show some positive dynamics in the project.
Project participants
Project Managers: Kateryna Tymoshenko, Oleksandra Nesina
Optimizer: Yurii Oshchapovskyi
Linker: Yevhen Fedchenko