⬆️ Winners in the Search Innovation category

    Send request
    and get an offer

      Send request
      and get an offer

      SEO for a SPA on Angular for the USA

      Author: Yurii Oshchapovskyi
      Head of SEO


      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:

      Source data and project features

      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:

      SEO for a SPA on Angular for the USA 1

      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">
      <title>Luxury Outdoor Hot Tubs</title>  
       <meta name="fragment" content="!">
       <script type="text/javascript" 

      How the HTML copy of the page looks like:

      <html lang="en">
      <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:

      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)
















































      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 and Yandex Webmaster ОК 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:

      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:

      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.

      SEO for a SPA on Angular for the USA 2

      We used a variety of methods to build up quality link mass — from unconventional and cheap (yet high-quality) to expensive ones:

      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

      SEO for a SPA on Angular for the USA 3

      Design bathroom sinks

      SEO for a SPA on Angular for the USA 4

      Modern vessel sink

      SEO for a SPA on Angular for the USA 5

      Luxury bathroom sinks

      SEO for a SPA on Angular for the USA 6

      Custom bathroom sink

      SEO for a SPA on Angular for the USA 7

      Decorative bathroom sink

      SEO for a SPA on Angular for the USA 8

      Outdoor hot tubs

      SEO for a SPA on Angular for the USA 9

      Unique bathroom sinks

      SEO for a SPA on Angular for the USA 10

      Luxury hot tubs

      SEO for a SPA on Angular for the USA 11

      Modern hot tub

      SEO for a SPA on Angular for the USA 12

      30 inch vessel sink

      SEO for a SPA on Angular for the USA 13


      Traffic dynamics

      SEO for a SPA on Angular for the USA 14

      While working on the project, we encountered many issues and factors which made it difficult to move forward:

      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