Як ми працюємо 8 хв читання моніторинг SEO

Відгуки в Google: як відповідати за годину — і де ми поставили гальма

Картка компанії в Google — це вітрина, яку ви не контролюєте. Її наповнюють інші люди, у будь-яку годину, будь-якою мовою, і ваш майбутній клієнт читає саме її, а не ваш сайт. Найдорожче в цій вітрині — не поганий відгук. Найдорожче — відгук без відповіді. І це не лише про імідж: кількість і якість відгуків — серед сигналів, за якими Google вирішує, кого показати першим у локальній видачі.

Ми будували систему, яка стежить за карткою компанії в Google і відповідає на відгуки замість власника. Нижче — як вона влаштована, і, що важливіше, де ми свідомо поставили гальма. Бо написати текст сьогодні вміє будь-хто; складне починається там, де цей текст публікується на чужу вітрину без нагляду.

Мовчання під відгуком читається як відповідь

Відгук без відповіді не нейтральний. Він каже читачеві рівно те, що написав автор, і додає від себе: «їм нічого відповісти». Одиничка з детальним описом кривди й тиша під нею — це готовий вирок, який висить роками.

І висить справді роками. Коли ми вперше зібрали картку клієнта повністю, а не по верхах, знайшовся відгук, який чекав відповіді сім місяців. Не тому, що власник злий чи байдужий — а тому, що Google поклав його не зверху списку, ніхто не гортав далі першої сторінки, і про нього просто забули. Це найпоширеніший сценарій: не відмова відповідати, а невидимість.

Звідси перше правило системи: дивитись не на те, що показують зверху, а на всю картку — і мати окремий механізм, який кричить, коли перевірка перестала відбуватись.

Що робить машина, а що людина

Машина перевіряє картку щогодини, цілодобово. Знаходить нові відгуки, помічає, чи вже є відповідь, і рахує, скільки часу відгук чекає.

Далі — розвилка, і вона жорстка. Автоматично відповідаємо лише на чисті п’ять зірок. Усе, що нижче — чотири, три, двійка, одиничка — машина не чіпає взагалі, а піднімає людину. Як відповідати на негативні відгуки — окрема робота, і вона людська. Причина проста: під п’ятіркою потрібна подяка, а під одиничкою — розбір. Треба підняти замовлення, з’ясувати, що насправді сталося, іноді визнати помилку, іноді спокійно показати факти. Це не робота для автоматики, і вдавати протилежне — найшвидший спосіб зробити з поганого відгуку скандал.

Є ще витримка й стеля. Відповідь не йде миттєво: машина чекає близько години, бо власник може відповісти сам, і два голоси під одним відгуком виглядають безглуздо. І є ліміт на добу — картка, під якою за годину з’явилось десять однотипних подяк, виглядає рівно так, як воно і є: роботою бота.

Головне правило — відповідати мовою відгуку

Здавалося б, дрібниця ввічливості: написав іспанець — відповідайте іспанською. Насправді причина технічна, і ми її побачили на живому.

Google сам перекладає вашу відповідь читачеві й публічно підписує, якою мовою ви відповіли. Якщо під іспанським відгуком ви відповіли російською, іспанець побачить машинний переклад, а під ним рядок «Ver original (ruso)» — тобто Google сам оголосить, що з клієнтом говорили чужою мовою. Оригінал сховається за посиланням, а перекладом займеться алгоритм, який дорогою легко зведе ввічливе «ви» до звичайного «ти».

Тобто мова відповіді — це не про манери, а про те, чи доживе ваш текст до читача таким, яким ви його написали. Відповідь мовою відгуку йде дослівно й без жодних позначок.

Як ми ледь не збрехали самі собі у визначенні мови

Тут — найкорисніша історія цього проєкту, і вона не про красиві тексти.

Щоб відповідати мовою відгуку, треба ту мову визначити. Ми визначали її за текстом відгуку — логічно. Ось тільки Google для багатьох відгуків показує спочатку власний англійський переклад, а вже під ним оригінал. Наш визначник чесно читав увесь блок разом і чесно бачив англійську.

Наслідок: двадцять шість іспанських відгуків лежали в базі як англійські. Панель показувала неправильний розподіл мов, і робот відповідав би цим людям не тією мовою — рівно те, чому це правило мало завадити.

Полагодили тим, що почали визначати мову тільки за оригіналом, відрізаючи переклад платформи.

Друга спокуса стоїть рівно на тому самому місці: вгадувати мову по імені автора. Хвіст прізвища виглядає надійним сигналом. Ми заміряли його на сотні відгуків, де мову видно напевно, — і сигнал не працює. А закінчення -in, -ina та -ian, які на око здаються надійною ознакою, ловлять Martin, Joaquin і Sebastian. Ім’я — підказка, а не доказ. Доказ — текст, який людина написала своєю рукою.

Урок ширший за цей випадок і вартий того, щоб забрати його собі: міряйте те, що написала людина, а не те, що вам показує чужий інтерфейс. Платформа має право показувати вам зручну для неї картину; ваші висновки мусять стояти на первинних даних.

Вісім гальм, і всі закриті «в бік нічого»

Текст відповіді складає мовна модель. Це найменш цікава частина системи — і найбільш небезпечна, якщо лишити її саму.

Модель порушує інструкції мовчки. Вона не повідомляє, що знехтувала правилом; вона просто видає гарний текст, у якому правила нема. Тому кожне важливе правило продубльоване перевіркою, яка читає готовий текст перед публікацією:

Ніяких обіцянок, яких ніхто не давав — знижок, повернень, дзвінків, термінів. Жодних деталей, яких нема у відгуку: якщо людина не писала, що міняла гальмівні колодки, ми про колодки не згадуємо. Ім’я — тільки те, яким людина підписалась: транслітерувати «Alexey» в «Алексей» можна, а підміняти на «Александр» — ні, це вже інша людина. Без підпису, без емодзі. Довжина — за довжиною відгуку. Перевірка на повтор: якщо ця кінцівка вже стояла під сусідньою відповіддю, текст іде на перескладання. І перевірка на задерев’янілі звороти — фрази, які звучать як бланк, а не як жива людина.

Найважливіше — як саме гальмо спрацьовує. Не «виправити й опублікувати», а не публікувати нічого. Якщо текст не пройшов перевірку, наступного циклу спробуємо ще раз. Мовчання цикл-другий коштує дешево. Опублікована дурниця під вашою вивіскою на вигляд не коштує нічого — насправді вона там назавжди.

Як ми перевіряємо самі гальма

Гальмо, яке жодного разу не спрацювало, невідрізниме від зламаного. Тому крізь перевірки регулярно йде десяток навмисне зіпсованих текстів: із вигаданою знижкою, з чужим ім’ям, з емодзі, з чотирма реченнями під відгуком на два слова. Якщо хоч один проліз — це не привід порадіти, що система «працює тихо», а перевірка, яку треба лагодити. Питання до будь-якого запобіжника не «чи він мовчить», а «чи він ловить, коли треба».

Так само перевіряємо й саму модель: ганяємо дві різні на одній вибірці відгуків і порівнюємо. Саме так виплив кличний відмінок — «Дякуємо за оцінку, Андрій» замість «Андрію». Одна модель не має з чим себе звіряти: вона видає впевнений текст, а про брак ви дізнаєтесь від клієнта, який його прочитав.

Однаковість помітна, навіть коли жодні дві відповіді не збігаються

Окрема, неочевидна задача. Кожна відповідь може бути унікальною — і картка все одно читатиметься як шаблон, бо всі вони закінчуються однією конструкцією й починаються однаковим зачином.

Читач не порівнює дві відповіді. Він гортає стрічку й ловить ритм. Тому система тримає перед очима список уже витрачених зачинів і кінцівок за останній час — окремо для кожної мови — і вимагає від моделі не повторюватись. А регулярний вимір показує, чи не сповзає картка в одноманітність, бо сповзання накопичується тихо й лишається непомітним для нас доти, доки його не побачать клієнти.

Тиша не означає справність

Останнє, і воно стосується будь-якої автоматики, а не лише відгуків — так само, як і цілодобового нагляду за серверами.

Одного дня наш збирач помер: злетів вхід у профіль. Завдання за розкладом справно запускалось, справно завершувалось і справно нічого не приносило. У журналі — тиша. На панелі — спокій. Формально ми «моніторили» ще п’ять годин.

Мертвий збирач виглядає точно так само, як здоровий, під яким нічого не сталося. Відрізнити їх можна лише окремим механізмом, який стежить не за відгуками, а за самим фактом перевірок: коли востаннє був успішний збір, і чи не задавнився повний обхід картки. Живе він окремо від того, за чим наглядає — інакше поламане заразом вимкнуло б і власну сигналізацію.

І це не одна пригода, а ціла родина. Google пускає в профіль лише один браузер за раз — а в нас щогодинний збір і повний обхід картки якийсь час стояли на ту саму хвилину. Щоразу програвав повний: тихо пропускав цикл і завершувався успішним кодом, бо пропуск задуманий тихим. Два дні дошка світилась зеленим, а справжнього повного обходу не було. Лікується двома незалежними ходами: рознести їх у часі — і навчити сторожа міряти окремо вік повного обходу, а не лише факт останнього збору.

Ще одна: вхід у профіль відвалюється приблизно через раз навіть тоді, коли з ним усе гаразд, — Google просто перекидає автоматичний браузер на форму логіна. Наївний нагляд кричав би про це щогодини й за тиждень привчив би всіх себе ігнорувати. Тому поріг у сторожа поставлений так, щоб стерпіти один пропуск і закричати на другому поспіль.

Це не гарна ідея з книжки. Це наслідок конкретних годин, за які ми заплатили.

Чого ми не робимо

Ми не видаляємо відгуки — ні свої, ні чужі, і не обіцяємо цього. Ми не пропонуємо клієнтам щось полагодити в обмін на зняту одиничку: це прямо суперечить правилам Google і спливає одним скріншотом переписки. І ми не даємо машині говорити за вас там, де потрібна ваша позиція, а не ввічливість.

Що ми справді робимо: прибираємо тишу. Кожен відгук помічений протягом години, кожна подяка — жива й мовою автора, кожна проблема — на столі в людини того ж дня, а не за сім місяців.

Якщо у вас є картка в Google і ви не знаєте, скільки на ній зараз відгуків без відповіді — напишіть нам. Порахувати це можна швидко, і майже завжди це число більше, ніж ви очікуєте.

Потрібна допомога з IT?

Безкоштовний аудит вашої інфраструктури — знайдемо слабкі місця й покажемо чесний план. Ні до чого не зобов’язує.

Безкоштовний аудит