Булгаков SEO & Dev ⚙️
153 subscribers
147 photos
4 videos
1 file
63 links
Личный канал про автоматизацию SEO с помощью Python, javaScript и нейросетей в поисковых системах Яндекса и Google, разработку сервисов и проектов
Download Telegram
Хочу искренне поздравить всех коллег SEO-специалистов с нашим праздником!

Я полюбил сеошку сильнее тренерства, которому отдал почти 10 лет. Как будто всю жизнь искал работу «сидит что-то в компьютере ищет».

Здесь море добрых людей, которые сюда попали так же случайно, как и я 😄

Мы все разные, но делаем одну важную работу — помогаем людям быстрее находить информацию. Так сказать, фитнес-тренеры не самых стройных сайтов 🤪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
🖥 Как и обещал, возвращаюсь в фитнес!

Почти год я собираю мини-приложение в телеграм на Nuxt 3 + Vuetify, которое подбирает программы тренировок для тренажёрного зала и считает КБЖУ

Именно из-за этого бота вся разработка по SEO ушла в стол)

Официальный запуск будет к концу лета, а пока можно посмотреть MVP

📚 Что умеет мой бот → ссылка на бота в посте
Please open Telegram to view this post
VIEW IN TELEGRAM
Не знал, что в гугл таблицах можно добавлять скрипты прямо в меню)

Ловите готовый скрипт парсинга title. Как использовать:
1️⃣ Вставляете скрипт в Расширения → Script App и сохраняете
2️⃣ Обновляете таблицу и в верхнем меню появится новый пункт «🔍 Парсер»
3️⃣ Выделяете одну или несколько ячеек в столбце с URL и в меню жмёте «Получить Title»
4️⃣ В соседней ячейке справа появится тайтл

/
* Парсит meta title из URL
* @param {string} url - Адрес сайта
* @returns {string} - Заголовок страницы или сообщение об ошибке
*/
function getMetaTitle(url) {
if (!url) return "No URL";

try {
// Добавляем протокол если отсутствует
const fullUrl = url.includes('://') ? url : 'http://' + url;

const response = UrlFetchApp.fetch(fullUrl, {
muteHttpExceptions: true,
followRedirects: true,
validateHttpsCertificates: false
});

const html = response.getContentText();
const titleMatch = html.match(/<title>([\s\S]*?)<\/title>/i);

if (titleMatch) {
// Заменяем HTML-сущности на символы
let title = titleMatch[1].trim()
.replace(/\s+/g, ' ')
.replace(/&#x2F;/g, '/')
.replace(/&amp;/g, '&')
.replace(/&quot;/g, '"')
.replace(/&lt;/g, '<')
.replace(/&gt;/g, '>');
return title;
}
return "Title not found";
} catch (e) {
return `Error: ${e.message}`;
}
}

/
* Запускает парсинг для активной ячейки или диапазона
*/
function parseSelectedUrls() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getActiveRange();
const values = range.getValues();

// Массив для результатов
const results = [];

// Обрабатываем каждую ячейку в выделенном диапазоне
for (let i = 0; i < values.length; i++) {
const row = values[i];
const rowResults = [];

for (let j = 0; j < row.length; j++) {
const url = row[j];
if (url) {
const title = getMetaTitle(url);
rowResults.push(title);
} else {
rowResults.push("");
}
}
results.push(rowResults);

// Пауза между запросами для соблюдения квот
Utilities.sleep(500);
}

// Записываем результаты в соседний столбец
const outputRange = range.offset(0, 1, results.length, results[0].length);
outputRange.setValues(results);
}

/**
* Добавляет меню в таблицу
*/
function onOpen() {
SpreadsheetApp.getUi().createMenu('🔍 Парсер')
.addItem('Получить Title', 'parseSelectedUrls')
.addToUi();
}
Please open Telegram to view this post
VIEW IN TELEGRAM
В SEO пока что на текучке, в разработке всё дальше от Бога

Решил прервать молчание и поделиться чем так занят.

1️⃣Для своего тг-бота с тренировками сделал контент-план для тг-канала на ~150 постов. Каждый пост классифицировал по рубрикам и ещё нескольким параметрам для какой он ЦА предназначен. Позже по лайкам буду пытаться понять, к каким темам интереса больше и перестраивать план.

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

2️⃣Почти собрал на контроллере esp32 (на фото он у стаканчика)
автоматизацию для садоводства: датчик температуры и влажности воздуха, влажность почвы, датчик освещенности, мини насос для полива. Жду половину датчиков с Ali Express.

ESP32 по вайфаю отдает значения датчиков в виде json api, мейн-контроллер Orange pi 3B (на фото ниже в прозрачном корпусе) принимает все значения из локальной сети и передает для показа и управления поливом в телеграм-бота.

3️⃣Начал собирать комплектующие для робота-собаки NovaSM3. Научился управлять серво-приводами с того же Orange PI. Серво-приводы — это моторчики, которые используются как суставы для роботов. На фото снизу 2шт на белом листке бумаги.

Уже готова под 3D-печать первая итерация деталей для робота собаки, но сборка будет идти ещё долго. Приходится вспоминать электромеханику и школьную физику)

В остальном как у всех: генерю тексты и ставлю в топ 🤷‍♀️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
🔥7😁4👍1
🤬 Надоело искать нужный промт по чатам нескольких нейронок и я психанул

Написал «Промт Склад» — расширение для браузера для хранения промтов с удобной вставкой в чаты правой кнопкой мыши.

Тут нет чужих промтов — плагин для хранения и упорядочивания своих! Качайте, делитесь 🙂 Написал для себя, но деплойнул для всех.

🟢Создаём категории
🟢Добавляем промты, размечаем по цветам
🟢Вставляем с помощью клика правой кнопкой мыши по полю ввода текст или с помощью копирования из окна плагина
🟢Экспорт/импорт базы промтов из файла, чтобы не потерять созданное

Зайдите хотя бы оценку поставить)

⚡️ Скачать расширение для браузера
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
Забыл рассказать про Cursor AI

Я отказался от платной подписки ChatGPT, пересел на бесплатный тариф DeepSeek, который без всяких лимитов может сёрфить в инете и безлимитно ресёрчить.

А всю разработку и автоматизацию делаю полностью через IDE Cursor AI за $20 в месяц.

Так вот, в курсоре крутое обновление: теперь он умеет составлять себе todo и чтобы не случилось в процессе, он держит всегда изначальный план перед глазами.
🔥2
Заканчиваю отпуск) Отдыхал в Питере и Карелии. Пока отдыхал, появились новые идеи для разработки. Наконец-то в сторону SEO.

Хочу сделать одну тулзу для ИИ-агента, о которой расскажу потом.

Почему отдельная тулза и почему именно для агентов? Потому что чаты и километровые промты это 2024 год 😉

Сколько не проси нейронку сделать то, что она не умеет, она так и не научится. Файнтюнить под конкретные задачи, имхо, как долбить из пушки по воробью. Остаётся написать рабочий инструмент и дать нейронке.

Подробнее расскажу, как запилю MVP.

P.S. вторым кадром уникальное видео с персональной экскурсией в кабину машиниста Рускеальского экспресса. Это единственный пассажирский поезд на паровой тяге 1953 года выпуска.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
🔍 Интересное: ждём развитие промт-инъекций в постах, чтобы кружить голову нейронкам
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁1
Так, ну я свою часть тулзы из поста написал. Ждём отстающую команду, так сказать 😁
👍1😁1
Исторический момент 🔞

У меня было несколько сайтов на WP на хостинге в течение 3-х лет, на которых я много чего пробовал по SEO, на некоторых даже зарабатывал. Сегодня я попрощался с хостом и не продлил его, сайты упали и больше подняты не будут.

Всё ради VPS 😄 Теперь вместо нескольких мёртвых сайтов на WP, у меня несколько тг-ботов, пару telegram mini app и лендосик на любимом Vue.

До сегодня я думал, что сайт как продукт хорошая идея. Теперь SEO лично для меня сильный инструмент продвижения продукта и часть продукта, но менее значимая и менее интересная.

Больше нет желания пробовать что-то для себя в чистом SEO а-ля поднял блог и пытаюсь лить на партнёрку: свободного времени на хороший контент у меня нет, заливать выдачу нейро-калом против личных ценностей.

Я как пользователь почти перестал переходить на сайты, потому что коллеги портят выдачу. Искать ответы стало всё тяжелее. Сейчас словлю хейт, НО: спасибо Яндексу за Алису в выдаче, как пользователя она меня спасает от контент некоторых коллег. Уж простите)

Если кому-то нужен домен ru по тематике крипты, пишите в личку:
🟣DR 27
🟣Backlinks 754
🟣Ref. domains 84

И есть ещё домен почти нулевой по аренде авто в Сочи с небольшим ссылочным.

SEO оч сильно люблю и никуда не собираюсь. Хобби (dev) и работа (seo) для меня не одно и тоже, но крайне важно их переплетать между собой. Это личная формула успеха и поддержания высочайшего уровня интереса к работе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Обожаю читать ход мыслей нейронки в режиме Research)
🤔1
Чтобы не писать информационку, написал очередной парсер 🖥

Не буду палить нишу, но задача стандартная: увеличить трафик в одном из видов спорта. Информационка и работа с копирайтерами в моём случае это большой расход денег за непонятное качество и трата времени на написание/вычитку. Когда речь про десятки и сотни статей, задача становится невыполнимой в рамках 2-3 недель без потери качества.

Поэтому я посмотрел всю семантику и нашёл неохваченный кластер у пачки спортсменов, который можно закрыть без написания текстов. С помощью статистики, которой у меня нет.

1️⃣Определил список спортсменов, которые в топе, которые приносили трафик в 2025 и у которых будут выступления до конца года.
2️⃣Нашёл откуда спарсить данные для всех бойцов.
3️⃣Написал парсер, который пересобирает спаршенное в html-код для залива в БД.

Так как статистика у спортсменов обновляется, парсер на повторных запусках проверяет данные на изменение в источнике и приносит только те, которые нужно перезалить в базу. То есть парсер актуализирует стату только по факту изменений.

К спаршенной статистике добавил:
1️⃣Перелинковку на теги по имени
2️⃣Текстовое описание спаршенной статистики для повышения уникальности. Писал с помощью chatgpt api, куда с промтом скармливал статистику для каждого спортсмена. Юзаю самую недорогую из новых моделей gpt-4.1-nano.

💎 Итог: 200+ новых страниц с потенциалом несколько десятков тысяч переходов в месяц. Время реализации 1-2 недели вместе с внедрением, потраченный бюджет до $1 на запросы в api chatgpt.

До того, как делать парсер на сотни страниц, само собой протестировал подход вручную на 30 страницах. Спустя полгода решил мастабировать и дописать v2 парсера.

Улучшил подход к созданию проектов:
1️⃣Все проекты без исключений упаковываю в докер, чтобы иметь возможность передать контейнер или развернуть на любом серваке (выхожу из локальной разработки)
2️⃣Перестал писать прототипы на python и потом думать надо ли пересаживать проект на JS → делаю сразу на typeScript. Если проекту нужен фронт, то поднимаю Nuxt + Vue в дополнение к Express, вот и весь стек.
Please open Telegram to view this post
VIEW IN TELEGRAM