SEO з Ігорем Абрамовським
NewsTrace Flow: автоматизація аналізу доменів у Google Sheets
Автоматизація перевірки дроп-доменів. Розбираємо роботу скрипта NewsTrace Flow: парсинг Web Archive, оцінка контенту та пошук новинних сайтів.

NewsTrace Flow: як я автоматизував перевірку історії доменів і пошук новинних сайтів у Google Таблицях

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

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

Саме для такої роботи я розробляв NewsTrace Flow — програму для Google Таблиць, яка поєднує первинний аудит доменів із пошуком ознак новинного контенту. Я завершив її тестування й результатом задоволений: програма справді корисна та добре працює. Тепер хочу детально пояснити, що вона робить, як влаштована і який результат дає спеціалісту.

Для чого я створював NewsTrace Flow

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

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

Мені було важливо автоматизувати саме цю послідовність. Щоб програма збирала доступні дані, пояснювала свої висновки й передавала придатних кандидатів на наступний етап. А я міг зосередитися на аналізі знайденого.

Що таке NewsTrace Flow

NewsTrace Flow 2.2.1 працює всередині Google Sheets через Google Apps Script. Для стандартного запуску потрібні Google Таблиця, код програми та дозволи на його виконання. Окремий сервер для цього не потрібний.

Основний процес складається з двох пов’язаних етапів:

WaybackAudit перевіряє доступний архівний контент, ризикові поєднання ознак, мовні сигнали та редиректи.

NewsTrace досліджує відібрані домени й шукає технічні свідчення новинної або видавничої історії.

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

У стандартному сценарії цієї версії аналіз виконується за правилами, без запитів до мовної моделі. Для нього не потрібні ключі OpenAI чи Gemini. У коді збережені окремі допоміжні AI-функції, але основний запуск Flow їх не використовує.

Як програма перевіряє домен

Підготовка вхідного списку

Домени додаються у вкладку «NT Домени», у стовпець A, починаючи з другого рядка.

Перед запуском програма нормалізує записи: прибирає протокол, початковий www, шлях сторінки та зайві пробіли, приводить назви до нижнього регістру. Повтори об’єднуються. Якщо запис некоректний, повідомлення вказує на відповідний рядок. Міжнародні доменні імена потрібно вводити в punycode.

Це допомагає одразу підготувати список до обробки й не витрачати запити на однакові домени.

Пошук архівних знімків

Для отримання переліку збережених сторінок використовується CDX-індекс Wayback Machine. Простими словами, програма спочатку запитує, які адреси й дати доступні в архіві, а потім вибирає знімки для читання.

Первинний пошук охоплює головну сторінку та адреси в межах домену. Окремо враховується останній доступний знімок головної сторінки. Дані об’єднуються, повторні записи прибираються.

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

Читання реального контенту

Для мене було принципово, щоб висновок спирався на прочитаний вміст. Назва URL може дати підказку, але її недостатньо для оцінки того, що було на сторінці.

Під час первинного аудиту програма намагається прочитати базову вибірку до трьох придатних HTML-знімків. Якщо з’являються неоднозначні сигнали, вибірка може розширитися до шести прочитаних знімків.

Окремо відсіюються службові сторінки архіву, захисні перевірки браузера, технічні відповіді та HTML, у якому недостатньо корисного тексту. Такі відповіді не повинні перетворюватися на висновок, що з доменом усе добре.

Як оцінюються ризики

У програмі використовується шкала від 0 до 100. Вона показує силу знайдених поєднань ознак за закладеними правилами:

Бал

Як читати результат

0–19

Низький рівень виявленого ризику

20–59

Потрібна додаткова перевірка

60–100

Високий ризик за правилами програми

Ці бали не є відсотком імовірності спаму. Наприклад, оцінка 70 не означає, що домен «на 70% спамний». Потрібно дивитися, які саме ознаки дали цей результат.

Логіка враховує контекст. Згадка казино в новині про розслідування та сторінка ігрового сервісу із закликами зареєструватися й поповнити рахунок мають різний зміст. Для оцінки аналізуються поєднання термінів, заголовок, операційні заклики та редакційні сигнали.

Також передбачені контекстні винятки. Наприклад, слово adult в освітньому словосполученні або doctor у назві академічного ступеня не повинні автоматично трактуватися як небажана тематика.

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

Мовні критерії оцінюються окремо

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

Поодинокі символи в перемикачі мов не рівнозначні основному контенту іншою мовою. Для змішаного або короткого тексту може знадобитися ручна перевірка.

Висновок «Не підходить: мовний критерій» стосується правил конкретного відбору. Сам по собі він не доводить, що сайт був спамним.

Які редиректи перевіряє програма

У NewsTrace Flow поєднано перевірку поточних переходів і вибіркове дослідження історичних редиректів.

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

У панелі можна вибрати період історичних редиректів:

увесь доступний період, вибірково;

останні два роки, вибірково.

Історична перевірка обмежена вибіркою до шести знімків і може завершитися раніше за умовами обробки. Підтверджені зовнішні переходи виносяться в результати. Переходи на відомі паркувальні сервіси позначаються окремо й не отримують автоматичного штрафу лише за факт паркінгу.

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

Як домен потрапляє на пошук новинної історії

Після первинного аудиту NewsTrace Flow оцінює, чи є підстави передавати домен у NewsTrace.

Для автоматичного допуску потрібен результат «Ознак ризику немає» та хоча б один прочитаний HTML-знімок. Далі враховуються видавничі сигнали:

розмітка NewsArticle або її оголошення;

Article чи BlogPosting у поєднанні з іншими ознаками публікацій;

дати публікацій;

RSS- або Atom-стрічки;

посилання на матеріали;

редакційні ознаки;

характерні адреси сторінок в архівному індексі.

Сила цих сигналів різна, тому кандидатам призначається пріоритет. Якщо даних недостатньо, домен залишається на перевірку з поясненням причини.

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

Що саме шукає NewsTrace

Другий етап працює з архівними HTML-сторінками, robots.txt, картами сайту та стрічками публікацій.

У robots.txt можуть знайтися адреси sitemap. Карти сайту можуть привести до вкладених карт і сторінок матеріалів. RSS та Atom дають додаткові адреси публікацій. Тобто пошук не залежить лише від наявності файлу з назвою news-sitemap.xml.

У новинних картах програма читає доступні назви видань, мови, заголовки, дати та URL публікацій. У HTML перевіряє JSON-LD: окремо розрізняє NewsArticle, Article і BlogPosting.

Оголошення NewsArticle у Microdata або RDFa теж може бути сигналом. Водночас наявність такого оголошення не означає, що виконано повний розбір цих форматів.

Дата архівного знімка зберігається окремо від дати публікації матеріалу. Це допомагає не змішувати момент збереження сторінки в архіві з датою, зазначеною в самому матеріалі.

NewsArticle не підтверджує присутність у Google News

Це одна з важливих меж інструмента. NewsTrace знаходить технічні ознаки новинного контенту в доступних архівних даних. Він не підтверджує, що сайт був прийнятий у Google News або отримував звідти трафік.

Тому висновки формулюються відповідно до доказів: «Знайдено News Sitemap», «Знайдено NewsArticle» або «Сильні ознаки новинного контенту».

Якщо ознак не знайдено у вибірці, це теж не доводить, що сайт ніколи не був новинним. Частина історії могла не зберегтися або залишитися непрочитаною.

Два режими вибірки

У панелі доступні два варіанти пошуку NewsTrace:

Режим

Призначення

Швидка — до 12 HTML URL

Початкове дослідження кандидатів із меншою вибіркою сторінок

Ширша — до 36 HTML URL

Додаткове дослідження більшої кількості адрес

Ці числа стосуються HTML-адрес у вибірці NewsTrace. Вони не означають кількість доменів, загальну кількість HTTP-запитів або гарантовану кількість успішно прочитаних знімків. Карти сайту, індексні запити й повторні спроби формують окремі кроки.

Мені зручно починати з меншої вибірки, а потребу в ширшому дослідженні визначати за результатами та повнотою доказів.

Фонова робота, пауза та повторні спроби

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

Тримати відкритою вкладку таблиці для кожного кроку не потрібно. Виконання відбувається на стороні Google Apps Script, тому закриття браузера або вимкнення комп’ютера саме по собі не зупиняє запущену чергу. Подальша робота залежить від дозволів, тригерів, квот і доступності сервісів.

У панелі є кнопки «Пауза», «Продовжити» та «Зупинити». Після команди паузи поточний крок може спочатку завершитися, а вже потім зміниться стан.

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

Як обробляються квоти

Програма розрізняє локальні помилки запитів і ситуації, коли потрібно зачекати через обмеження сервісу.

Для розпізнаної добової квоти в цій версії передбачене перше очікування 24 години від зафіксованого спрацювання. Якщо обмеження залишається, наступні спроби плануються щогодини. Це політика повторів програми, а не гарантія часу відновлення квоти Google.

У панелі показуються причина очікування, час першого спрацювання, кількість спроб і час наступної спроби.

У версії 2.2.1 також виправлено хибне визначення quota-помилки, коли слово daily траплялося всередині URL. Адреси прибираються з тексту перед відповідною класифікацією, щоб їхній вміст не спричиняв помилкове добове очікування.

Чому програма зберігає спільні архівні дані

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

NewsTrace Flow зберігає прочитані дані та структуровані ознаки у вкладці «NT Архівні дані». Другий етап може використати їх для аналізу й побудови наступних кроків. У панелі видно кількість повторно використаних HTML-знімків.

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

Що я отримую в результаті

Після обробки залишається набір пов’язаних таблиць, за якими можна перевірити шлях від домену до висновку.

Вкладка

Що в ній дивитися

NT Домени

Вхідний список доменів

Web Archive — Аналіз

Ризики, причини, теми, мовні сигнали, заголовки, редиректи та покриття перевірки

Web Archive — Докази

Фрагменти й джерела первинного аудиту

NT Відбір

Етап, допуск, причина рішення, пріоритет і спроби обробки

NT Черга

Окремі завдання пошуку та читання архівних ресурсів

NT Докази

Знайдені ознаки новинного контенту й попередження розбору

NT Статті

Матеріали, витягнуті з news-записів карт сайту, з доступними метаданими

NT Результати

Підсумковий висновок NewsTrace, лічильники та покриття

NT Архівні дані

Збережені дані для спільного використання етапами

NT Журнал

Повідомлення про хід роботи

Не для кожного домену заповняться всі типи даних. Це залежить від доступності архіву й того, що саме вдалося знайти та прочитати.

Наприклад, домен із низьким виявленим ризиком та NewsArticle може перейти на наступний етап і отримати підтверджені технічні ознаки новинної історії. Якщо сторінки не прочитані через помилки доступу, результат має вказувати на недостатність даних. А знайдена новинна розмітка не скасовує ризикових ознак первинного аудиту.

Саме така прозорість для мене корисна: я бачу причину висновку й можу відкрити джерело для ручної перевірки.

Що показує панель керування

Бокова панель дозволяє стежити за двома етапами окремо. Видно кількість перевірених доменів, переданих кандидатів, невизначених результатів і невдалих перевірок. Для NewsTrace показуються завершені кандидати, кроки в черзі та непрочитані завдання.

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

Орієнтовний час первинного етапу формується після накопичення даних. Для всього процесу точний час наперед не обіцяється: знайдені карти й посилання можуть додавати нові завдання.

Є команда очищення результатів обох етапів, черг і спільних архівних даних. Вхідні домени залишаються. Перед очищенням активну роботу потрібно поставити на паузу.

Як почати користуватися NewsTrace Flow

Для першого знайомства я раджу окрему тестову Google Таблицю та невеликий список доменів.

Відкрити «Розширення → Apps Script».

Вставити вміст Code-v2.2.1.txt у файл Code.gs.

Створити HTML-файл Panel і вставити в нього вміст Panel-v2.2.1.txt.

Зберегти проєкт, виконати setupNewsTraceFlow та надати запитані дозволи.

Оновити Google Таблицю й відкрити меню NewsTrace Flow.

Додати домени у «NT Домени», вибрати параметри та натиснути «Запустити».

Для інсталяції файли з розширенням TXT слугують джерелом коду: у редакторі Apps Script вони використовуються як скрипт і HTML-панель відповідно.

Як я оцінюю результат тестування

Я завершив тестування NewsTrace Flow і задоволений результатом. Програма добре працює та вирішує корисне для моєї роботи завдання: допомагає організувати перевірку історії доменів і пошук ознак новинного контенту в одному процесі.

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

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

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

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

Продовжуйте навчання

Останні матеріали цього курсу

Обговорення та запитання (0)

Поки що тут немає запитань або коментарів. Будьте першим, хто розпочне обговорення.

Додати повідомлення

Тип повідомлення