SEO для SPA-сайту на Angular під США
Клієнт
Aquatica — компанія, що виробляє ванни, умивальники, змішувачі та душові системи преміум-класу. Основним ринком збуту є США, але інтернет-магазин компанії також представлений на кількох європейських ринках через різні домени.
Наша задача
Зростання позицій та цільового органічного трафіку за пріоритетними напрямками інтернет-магазину:
- Bathroom sinks
- Outdoor hot tubs
- Freestanding Tubs
Вихідні дані та особливості проєкту
- Сайт: інтернет-магазин продукції Aquatica (товари інших брендів не представлено на сайті)
- Регіон: США (максимально висококонкурентне гео в цій ніші)
- Пошукова система: Гугл
- Мова: англійська
- Платформа сайту: SPA-сайт (JS-фреймворк — AngularJS)
Цільова аудиторія
Цільова аудиторія — люди віком від 25 років, з доходом вище середнього, що працюють у банківській сфері та IT, і мають інтерес до новітніх технологій і трендів, що робить їх зацікавленими у функціях та матеріалах, які пропонує компанія.
Що таке SPA-сайт?
SPA-сайт (Single Page Application) — це сайт, на якому контент завантажується динамічно без необхідності перезавантаження сторінки. Такий сайт, як магазин Aquatica, розроблений на JavaScript, зокрема за допомогою AngularJS.
Важливо розуміти, що SEO-просування для SPA-сайту відрізняється від звичайного сайту, оскільки підходи до внутрішньої оптимізації мають значні відмінності. Google та інші пошукові системи не дуже ефективно обробляють JavaScript, тому контент, який відображається користувачеві в браузері, значно відрізняється від того, що може побачити Google.
На скрині показано, які пошукові системи можуть обробити JS:

На практиці ситуація ще гірша, оскільки Google використовує застарілі інструменти рендерингу, основані на версії Chrome 41.
Як «подружити» SPA із SEO
Оскільки сайт клієнта повністю побудований на JavaScript, Гугл не може побачити контент (меню, товари, тексти, перелінкування) без додаткових налаштувань. Щоб Гугл зміг коректно проіндексувати сторінки, сервер має передавати йому не JS-код, а вже оброблену HTML-версію сторінки.
Ось як виглядає JS-код сторінки:
Luxury Outdoor Hot Tubs
Який вигляд має HTML-копія сторінки:
Luxury Outdoor Hot Tubs
media=”screen“ href=”/style.css“>
Як видно з коду, різниця між HTML-копією та JS-кодом є значною. HTML-копії сторінок на сайті були реалізовані за допомогою SSR-технології рендерингу. Завдання SEO-фахівця полягало в тому, щоб перевірити правильність реалізації SSR та забезпечити, що:
- Сайт передає Гуглу саме HTML-версію сторінки, а не JS-код.
- Користувачам віддається JS-версія, а не HTML.
- Контент у HTML-копії співпадає з тим, який бачить користувач після обробки JS у браузері.
- Усі блоки контенту на сторінках коректно обробляються Гуглом, без помилок.
- Мікророзмітка присутня в HTML-копії.
Аналіз конкурентів
У США пошукова видача та її логіка (інтент) значно відрізняються від того, що ми звикли бачити в Україні. Навіть за запитами з комерційним контекстом у топ можуть потрапляти інформаційні сайти з добірками товарів. Наприклад, за запитом “Buy Outdoor Hot Tub”, який вказує на намір користувача купити товар, в топ-10 потрапляє стаття з підбіркою товарів, що є нелогічним. В інших країнах за такими запитами звичайно виводяться категорії інтернет-магазинів, де представлена продукція. Усвідомлюючи це, наші фахівці зрозуміли, що нам доведеться конкурувати не тільки з інтернет-магазинами, а й з інформаційними ресурсами.
Порівняльна таблиця конкурентів aquaticausa.com:
|
Сайт |
Domain Rating |
Доменів, що посилаються (Ahrefs) |
Сторінок, що посилаються (Ahrefs) |
Ключові фрази (Ahrefs) |
Трафік (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 |
До речі, aquaticausa.com — це відносно невеликий сайт з обмеженим асортиментом товарів у численних підкатегоріях і фільтрах. Однак, конкурувати потрібно з сайтами, де мінімальний DR складає 72 і більше. Це великі ресурси, деякі з яких добре відомі навіть користувачам, які не знайомі з ринком США.
Процес роботи
Процес роботи над просуванням сайту можна поділити на кілька частин
Технічний аудит та перевірка роботи SSR
Метою технічного аудиту було виявлення помилок та перевірка відповідності сайту технічним вимогам Гугла. Наш аудит включав 43 пункти, з яких 20 вимагали виправлення помилок. Що стосується перевірки роботи SSR, основна проблема полягала в тому, що HTML-копія сторінок не містила блоку з перелінкуванням, що ускладнювало індексацію частини товарів Гуглом.
|
Програмна реалізація |
Результат перевірки |
Пріоритет |
Виконавець |
|
|
1. |
Аналіз IP сайту |
ОК |
Низький |
програміст |
|
2. |
Перевірка сайту на наявність вірусів, шкідливих скриптів та наявність сайту в блек-листах |
ОК |
Високий |
програміст |
|
3. |
Аналіз історії домену за WhoIs та web.archive |
ОК |
Високий |
програміст |
|
4. |
Перевірка наявності елементів, що можуть негативно впливати на взаємодію користувача із сайтом |
ОК |
Низький |
програміст |
|
5. |
Перевірка наявності та коректності формування SEO-Friendly URL (ЛЗУ) |
ОК |
Високий |
програміст |
|
6. |
Перевірка склеювання дзеркал та повних дублів |
виправити |
Високий |
програміст |
|
7. |
Перевірка повного дублювання контенту |
виправити |
Високий |
програміст |
|
8. |
Перевірка наявності в індексі технічних сторінок, сторінок із дублюванням контенту або без контенту |
ОК |
Високий |
програміст |
|
9. |
Перевірити правильність відповідей сервера на запит сторінок |
виправити |
Високий |
програміст |
|
10. |
Перевірити код сторінок на помилки в HTML та CSS |
виправити |
Середній |
програміст |
|
11. |
Перевірити наявність та помилки в SSL сертифікаті |
виправити |
Високий |
програміст |
|
12. |
Перевірити наявність прихованих або спамних посилань на зовнішні ресурси |
ОК |
Високий |
програміст |
|
13. |
Перевірити коректність налаштування файлу robots.txt |
ОК |
Високий |
програміст/контент-менеджер |
|
14. |
Підключити GWT |
ОК |
Високий |
програміст |
|
15. |
Підключити GA |
ОК |
Високий |
оптимізатор |
|
17. |
Перевірити Sitemap.xml |
виправити |
середній |
програміст |
|
18. |
Перевірка доступності CSS и JS |
ОК |
Середній |
програміст |
|
19. |
Перевірка наявності мікроформатів |
виправити |
Високий |
програміст |
|
20. |
Перевірка наявності кнопок соцмереж |
ОК |
низький |
програміст |
|
21. |
Перевірка швидкості завантаження сайту |
виправити |
високий |
програміст |
|
22. |
Перевірка наявності та оптимізації мультимовності |
виправити |
Середній |
програміст |
|
23. |
Перевірка наявності мобільної версії сайту |
ОК |
середній |
програміст |
|
24. |
Перевірка адаптивності сайту для різних типів пристроїв |
виправити |
середній |
програміст |
|
25. |
Перевірка на коректність виведення текстового контенту |
виправити |
високий |
програміст |
|
26. |
Відстеження контенту Stat.Aweb у SEO-монітор |
виправити |
низький |
програміст |
|
27. |
Перевірка наявності на сторінках елементів (комерційних факторів) необхідних для ранжування у цій тематиці |
виправити |
Високий |
програміст |
|
28. |
Перевірка часткового дублювання контенту |
виправити |
середній |
програміст |
|
29. |
Усунути видалення неактуальних і відсутніх товарів |
ОК |
Високий |
програміст |
|
30. |
Перевірити індексацію відгуків на сайті |
ОК |
середній |
програміст |
|
31. |
Чи видно контент з вимкненим JavaScript (Перевірка SSR) |
виправити |
середній |
програміст |
|
Контент |
Результат перевірки |
Пріоритет |
Виконавець |
|
|
32. |
Перевірка наявності афіліатів |
ОК |
високий |
оптимізатор |
|
33. |
Перевірка гео-налаштувань в GWT |
ОК |
високий |
оптимізатор |
|
34. |
Перевірка коректності формування мета-тегів |
висправити |
високий |
контент-менеджер або програміст |
|
35. |
Перевірка наявності та унікальності контенту на сайті |
ОК |
високий |
контент-менеджер |
|
36. |
Перевірка наявності цільових сторінок під СЯ |
ОК |
низький |
контент-менеджер |
|
37. |
Перевірка оптимізації текстового контенту |
ОК |
середній |
програміст |
|
38. |
Перевірка доступності форматування контенту |
ОК |
Средний |
программист |
|
Структура та перелінкування |
Результат перевірки |
Пріоритет |
Виконавець |
|
|
39. |
Перевірка наявності меню «хлібних крихт» |
виправити |
високий |
програміст |
|
40. |
Перевірка перелінкування на сайті |
ОК |
низький |
програміст |
|
41. |
Перевірка наявності індексованих, оптимізованих сторінок фільтрів |
виправити |
високий |
програміст |
|
42. |
Перевірка наявності битих посилань |
виправити |
середній |
програміст |
|
43. |
Юзабіліті |
виправити |
середній |
програміст |
Аудит сайту на основі Інструкції для асесорів Гугл
Інтернет-магазини належать до категорії YMYL (Your Money or Your Life), що означає, що ці сайти повинні відповідати високим стандартам E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness). Наші фахівці ретельно ознайомилися з Інструкцією для асесорів Гугла та створили чек-лист для перевірки сайтів у тематиці YMYL. Ось короткий перелік заходів, які були необхідні для покращення показників E-E-A-T:
- Зняти відео про матеріали, що використовуються у виробництві
- Створити сторінку «Про компанію»
- Додати сторінку «Наші нагороди»
- Розробити сторінку «Наше виробництво»
- Створити сторінку «Портфоліо»
- Додати сторінку автора для блогу
- Вказати автора на всіх сторінках блогу
- Додати інфографіку на сторінки категорій, підкатегорій та фільтрів
- Проводити роботу над SERM (Search Engine Reputation Management)
Збір семантичного ядра та створення ТЗ для текстів
Наша команда ретельно проаналізувала основні напрямки та конкурентів. Окрім збору ключових запитів для пріоритетних категорій, ми поступово почали працювати над сторінками фільтрів, оскільки конкуренція на таких сторінках нижча, а з огляду на рівень сайтів-конкурентів, ймовірність потрапити в топ значно більша.
Ось приклади фільтрів, які ми створили:
- 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 (та інші розміри)
- large hot tub
Для кожної з цих сторінок ми підготували технічне завдання, а наша команда копірайтерів написала відповідні тексти.
Зовнішня оптимізація
На першому етапі зовнішньої оптимізації ми відхилили всі низькоякісні донори за допомогою інструменту Google Disavow Tool. Після цього кожні 4-6 місяців проводимо повторний аудит профілю посилань, відхиляючи ті, що мають низьку якість.
Наприклад, у квітні 2021 року сайт потрапив під спам-атаки з посиланнями з піддоменів blogspot.com, яких було досить багато. Якщо такі посилання не відхилити своєчасно, це може призвести до зниження позицій і втрати трафіку.

Для нарощування якісного профілю посилань ми застосовували різноманітні методи — від нестандартних і економічних (але ефективних) до більш витратних:
- Аутріч
- Закупівля посилань через біржі
- Реєстрація на авторитетних каталогах та платформах
- Реєстрація на сайтах з відгуками
- Крауд-маркетинг
Результати на проєкті
Незважаючи на вкрай високу конкуренцію в ніші та складне гео, нам вдалося отримати хороші результати з багатьох напрямків та сторінок:
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

Висновок
Динаміка з трафіку

Під час роботи над проєктом ми зіткнулися з численними труднощами та факторами, які ускладнили процес просування:
- SPA-сайт
- SSR
- Технічні помилки та необхідні доопрацювання
- Дуже висока конкуренція
- Найбільш конкурентне гео в цій ніші
Попри це, нашій команді вдалося досягти хороших результатів і продемонструвати позитивну динаміку на проєкті.
Учасники проєкту
Менеджери проєкту: Катерина Тимошенко, Олександра Несіна
Оптимізатор: Юрій Ощаповський
Лінкер: Євген Федченко.