Автоматизація SEO-рутини: Парсинг даних та перевірка посилань за допомогою Puppeteer
У сучасному SEO швидкість отримання даних визначає успіх. Ручна перевірка сотень посилань чи моніторинг видачі — це втрата часу. Puppeteer, бібліотека Node.js для керування Headless Chrome, дозволяє повністю автоматизувати ці процеси.

Навіщо використовувати Puppeteer?

На відміну від простих HTTP-запитів, Puppeteer рендерить JavaScript, що критично для сучасних SPA-сайтів.
- Моніторинг видачі (SERP): Емуляція реального користувача для збору позицій.
- Перевірка індексації: Автоматизація запитів site:domain.com для контролю сторінок у Google.
- Скрапінг контактів: Масовий збір email та телефонів з сайтів конкурентів.
Технічний стек та швидкий старт
Для роботи вам знадобляться Node.js та встановлений пакет Puppeteer.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
// Приклад: Перевірка наявності посилання на сторінці
await page.goto('https://example-site.com');
const hasLink = await page.evaluate(() => {
return !!document.querySelector('a[href*="your-site.com"]');
});
console.log(hasLink ? "Посилання знайдено" : "Посилання відсутнє");
await browser.close();
})();Практичні кейси автоматизації
Якщо ви ведете список донорів і сторінок розміщення (і хочете швидко знаходити майданчики під конкретні тематики), зручно тримати це в seocatalog.com.ua. А Puppeteer далі використати для нічної перевірки: чи сторінка жива (200/301/404) і чи посилання не зникло.
Headless-аудит: Автоматичне виявлення 404 помилок на сторінках донорів.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
const response = await page.goto('https://donor-site.com/backlink-page');
if (response.status() === 404) {
console.log('Помилка 404: Сторінку не знайдено, посилання втрачено.');
} else {
console.log(`Статус: ${response.status()}`);
}
await browser.close();
})();Обхід блокувань: Використання puppeteer-extra-plugin-stealth та проксі для уникнення капчі.
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({
args: ['--proxy-server=http://IP:PORT'], // Вкажіть ваш проксі
headless: true
});
const page = await browser.newPage();
// Авторизація проксі, якщо потрібно
// await page.authenticate({ username: 'user', password: 'password' });
await page.goto('https://google.com/search?q=seo+tools');
await page.screenshot({ path: 'search_result.png' });
await browser.close();
})();Збір даних для LeadGen: Автоматизація переходу по сторінках «Контакти» та витягування даних у Google Sheets через API.
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://competitor.com/contacts');
const contacts = await page.evaluate(() => {
const text = document.body.innerText;
const emails = text.match(/[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+/g);
return [...new Set(emails)]; // Тільки унікальні
});
console.log('Знайдені контакти:', contacts);
// Тут викликається функція для Google Sheets API
await browser.close();
})();Етика та Google-френдлі підхід
Щоб ваші скрипти були «екологічними», завжди дотримуйтесь лімітів запитів та поважайте правила robots.txt. Автоматизація має на меті оптимізацію ресурсів, а не створення надмірного навантаження на сервери.

Останні статті

Як безкоштовно автоматизувати звітність у Google Sheets за допомогою Apps Script
ШІ-автоматизація звучить модно, але найчастіше бізнесу потрібне простіше: прибрати ручну “копіпасту” і стабільно збирати цифри в один звіт. У маркетолога це може бути 30…

З чого почати роботу з ШІ в бізнесі: практичний план на 14 днів
ШІ — це не “чарівна кнопка”, а інструмент. У бізнесі він дає відчутний результат лише тоді, коли прив’язаний до конкретного процесу: заявки, підтримка, документи, звіти.…