Как надо SEO +шить не надо
2.9K subscribers
140 photos
2 videos
1 file
169 links
Пишу о своём опыте в SEO и интернет маркетинге. Продвижение сайтов, фишки и секреты в СЕО здесь!

Люди договариваются, пишите: @zloody
Download Telegram
ГИТ - такая удобная штука 🤩

Потихоньку осваиваю гит и питон. Научился клонировать репозиторий, добавлять, удалять, коммитить, пушить файлы в репу, а также работать с ветками на GitHub. Мне прям нравится - осваивать новые технологии!

Питон (🐍), кстати, изучаю для автоматизации работы в SEO. Хочется что-то серьёзное закодить - но не сейчас (не хватает скилла).

Что там по крайнему проекту? 🤔

Почти доделал интернет магазин, остались мелкие правки по CSS, пара моментов с отображением листингов в разных категориях и доработка карточек товаров. Основной функционал уже готов, товары добавляются в корзину и приходят заявки на почту. Работаем дальше!

#python #проекты
👍2🔥2
Мой первый раз работы с python в SEO 😏

Уже месяц плотно изучаю питон, а если быть точнее 38 день из 100. И мне пришла идея чуть чуть облегчить мою жизнь при проверке текстов на наличие ключевых слов. Знаю, что есть такой сервис и он мне очень нравится, но согласитесь когда вы делаете что-то своими руками и видите положительный результат, уровень вашего дофамина резко увеличивается. Так вот, о чем это я..

Суть в вот в чем, на входе программа запрашивает текст и список слов. Далее этот список делится на отдельные слова и циклично каждое слово проверяется на наличие в тексте, потестил, удивился что у меня получилось сделать это с первого раза 😁

Но понял, что этого мало (а как же проверка на окончания и все в этом роде?)

И тут на помощь приходит стемминг. И если точное вхождение не будет найдено, программа будет искать корень этого слова. И все это выделяется цветами, где:

Зеленый - найдено ✅
Красный - не найдено ❌

#python
🔥6👍2
Продолжаю ускорять работу в SEO с помощью python 🐍

Дошел до работы с файлами, что кстати очень облегчает работу со списками. И мне пришла идея сделать программу, которая будет удалять из списка фраз те фразы, которые являются подстроками всех фраз. С первого раза может показаться, что звучит сложно, сейчас объясню по подробнее. Часто при работе с СЯ, мы встречаем ключи, которые являются началом или содержатся в середине остальных ключей. Такие ключи обычно являются ВЧ, поэтому в тексте их не всегда стоит использовать, лучше поместить в такие поисковые зоны, как title и h1. Пример со скриншота:

1. На входе мы имеем текстовый документ, который содержит следующие ключи:
купить дом
купить дом в Тюмени
купить дом в Тюмени из бруса
купить дом цена

2. На выходе мы получаем во втором текстовом документе следующие ключи:
купить дом в Тюмени из бруса
купить дом цена

Таким образом можно обрабатывать очень быстро большие кластеры из ядра и не убивать лишнее время на оптимизацию текстов 😎

#python
🔥4👍1
Продолжаю решать свои нетипичные задачи с помощью Python 🐍

В этот раз моя задача заключалась в том, что мне нужно было сравнить структуру жирного конкурента со своим сайтом. Выгрузил его заголовки H1 и свои. Быстро пробежался глазами и заметил, что некоторые заголовки H1 похожи на мои, но не являются дублями на 100%.

В заголовках конкурента я заметил:
- Дополнительные слова
- Слова в другом порядке
- Разные окончания в словах

Такие заголовки по факту являются неявными дублями моим так как отображают такой же интент. А что если их тысячи? И тут на помощь снова приходит питон с библиотекой NLTK 😉

Скрипт имеет 2 массива строк:
1. Список заголовков H1 конкурента
2. Список заголовков H1 моего сайта

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

Теперь я с уверенностью могу сказать, какие страницы мне нужно создать, чтобы получить новый трафик! 🚀

#python #точки_роста
👍14🔥3
Как я снова облегчил себе жизнь с помощью Python 🐍

Я, как и все, тоже покупаю ссылки для роста в Google и знаю, что некоторые вебмастера удаляют статьи или просто сносят ссылки. В последнее время объемы покупок ссылок значительно увеличились, из-за чего проверять руками наличие моих ссылок стало довольно затратно по времени.

Я уже периодически проверяю наличие всех моих ссылок в индексе Гугла с помощью другого скрипта на Python и подумал, что можно автоматизировать еще и проверку их наличия на самих страницах доноров.

Скрипт берет первую строку (страницу на которой размещена моя ссылка) из первого массива и ищет на этой странице ссылку которая находится во втором массиве и проходит по всем ссылкам из этих двух списков пока не проверит все ссылки.

В итоге я получаю Excel таблицу с трема колонками:
1. URL
2. Link
3. Результат (найдена/не найдена)

Теперь, когда я проверил 100 ссылок за пару секунд, могу с облегчением выдохнуть 😄

Кстати, пока писал этот пост, пришла идея добавить в скрипт проверку на наличие анкоров и атрибутов которые не рекомендуется ставить у размещенных ссылок. Пошел допиливать, результат будет в комментариях 😉

#python #google #ссылки
👍12🔥6💩6👌3🤡2👎1👏1
Как я ускорил анализ дропов с помощью Веб Архива и Python 🔍

Недавно задался вопросом, как можно ускорить рутину при проверке дроп доменов в Веб Архиве и понял, что помочь мне с этим снова сможет Python. Единственное, что я хотел массово проверить - это наличие 301 редиректов в Веб Архиве по списку доменов, но потом понял, что можно добавить еще пару пунктов и вот что у меня получилось.

Скрипт по очереди берет домены из txt файла и проверяет их на:
1. Наличие 301 редиректов в Веб Архиве (за последние 27 лет)
2. Выдергивает Title и Description из последнего снимка в Веб Архиве
3. Проверяет дату истечения срока регистрации домена через Who is

В качестве результата скрипт по прежнему создает для меня Excel таблицу с данными колонками (результат на скрине)

Планирую дальше развивать эту идею и автоматизировать другие проверки для быстрого анализа дропов. Вот некоторые из них, которые уже в планах:

- Домен не закрыт от Веб Архива
- Текущий код ответа сервера домена
- Язык контента из последнего снимка в Веб Архиве
- Языке контента не менялся
- Наличие снимка в Веб Архиве за последний год
- Отсутствие 302 редиректов в Веб Архиве
- Вывод всей цепочки редиректов в Веб Архиве (в том числе и 302-ых)
- Отсутствие спамных слов в контенте и мета тегах в Веб Архиве
- Отсутствие исходящих ссылок на другие домены в Веб Архиве
- Дата первой регистрации
- Возраст дропа (на основе данных регистрации и истечения срока)
- Остаток дней до дропа (на основе данных текущей даты и даты истечения срока)
- Отсутствие бана РКН
- Наличие главной страницы дропа в индексе Google
- Отсутствие в индексе страниц с папкой "_media_" в URL
- Отсутствие в индексе под доменов
- Отсутствие в индексе страниц с иероглифами
- Отсутствие в индексе 404 страниц
- Отсутствие в индексе php страниц
- Отсутствие в индексе pdf страниц
- Количество изменений NS

Конечно, есть много ручных и важных проверок, которые, скорее всего, не получится автоматизировать, но уже стало гораздо быстрее чекать дропы 😎

#python #google #дропы
🔥13👍5
Давно хотел иметь свой "сервис"

Решил накидать простенький сайт на Python себе, а то надоело работать со скриптами и консолью. Назвать это сервисом нельзя, поэтому в ковычках, но это пока что 😅

Ничего сверхъестественного тут нет:
- Django
- Bootstrap
- JS

По функционалу также все очень просто, пока что добавляю лайтовые инструменты для себя, возможно (когда нибудь) на нем появится что-то "серьезное".

На данный момент сайт еще ооочень сырой, поэтому даже хостить его не собираюсь - держу на локалке. В планах добавить вообще все свои скрипты по автоматизации работы на питоне, а потом думать, что с ним делать дальше (возможно добавлю туда блог, но что-то особо не вижу в этом смысла). Больше склоняюсь к работе с выдачей, ключами и документами.

P.S - я не программист, делаю как умею 🙃

#python #проекты #сервис
🔥9👍7
Скрипт на Python для массовой проверки Reverse DNS 🔎

Для работы со скриптом вам понадобится:
1. Сам питон - качаем от сюда https://www.python.org/downloads/

2. Рабочая среда (я использую PyCharm) - скачать можно здесь https://www.jetbrains.com/ru-ru/pycharm/download/?section=windows

3. Пакетный менеджер pip (в командной строке пропишите pip install). Или установите по гайдам

4. Библиотека openpyxl для работы с Excel (в командной строке пропишите pip install openpyxl)

Порядок действий следующий:
1. Скачиваем скрипт на рабочий стол
2. Скачиваем файл ip.txt также на рабочий стол
3. В файл ip.txt вставляем айпишники из логов серверов
4. Запускаем скрипт
5. Если все сделали правильно, на рабочем столе должен появиться эксель файл

Скрипт и txt файл с примером ip-адресов будет в комментах под этим постом 😉

#техничка #python #скрипты
🔥6👍3
Я больше не доверяю ИИ при работе с Python 🐍

Или что я понял, используя ИИ для автоматизации SEO задач на питоне и не только 🔥

Дисклеймер - данный материал носит исключительно ознакомленный характер и не содержит абсолютно никаких призывов. Все изложенное ниже является личным опытом автора, который не является разработчиком. F*ck the shame!


0. Перед написанием скрипта - даю ИИ технические требования. Например, если это парсинг выдачи - отправляем ему код региона, тип выдачи, кол-во результатов из SERP + прошу вынести их в отдельные переменные, чтобы я быстро смог заменить эти данные на другие.

Результат - код становится структурнее и содержит меньше мусора.


1. Декомпозиция - это база! Не стоит просить ИИ написать парсер с кучей функций за 1 промпт. Эффективнее будет написать эти функции по отдельности, каждую протестить и потом объединить их в 1 скрипт который ты просто запустишь и на выходе получишь несколько эксель табличек с нужными тебе листами и столбцами.

Проще собрать отдельные функции в 1 комбайн, чем вечно копаться в одном файле и править эти функции по отдельности.


2. Хватит хранить большие данные в массивах и занимать место в своем коде. Если твои данные для входа (например список доменов) в будущем будут меняться или дополняться - храни их в отдельных файлах. Во первых, так удобнее редактировать сами данные для входа в анализ. Во вторых, при будущей доработке скрипта через ИИ с переменными, которые хранят в себе большие данные в отдельных файлах - ты ускоряешь процесс чтения кода для самого ИИ, что снижает заполнение окна у ИИ модели и вероятность появления артефактов в твоем скрипте (какие-то функции могут быть вырезаны после доработки длинного кода).

Я всегда храню большие данные в отдельных .txt файлах (семантику, списки доменов и URL-адресов, стоп фразы и т.д).


3. Логируй процесс работы скрипта. Объясню на своем реальном примере. Делал для своего WP проекта плагин на PHP для массового импорта данных (при импорте у страниц нужно было заполнять/обновлять атрибуты для корректной фильтрации на листинге). Но страницы создавались без указаных атрибутов, а уже созданные - не обновлялись. Хотя в админке я проверил названия этих полей через код (чекнул атрибут name). И только после того, как подключил лог, понял, что скрипт искал их названия в БД, а там они назывались по другому - в итоге после доработки скрипта - плагин стал работать корректно.

ИИ может помочь с логами, если ты четко ему объяснишь, что логировать. Это спасает дебаг, особенно при работе с API или базами WP.


4. Если делаешь скрипт для долгого анализа (например хочешь проверить несколько тысяч запросов, снять по ним выдачу и покрутить данные дальше как тебе нужно) - попробуй сначала тоже самое на десятке/сотне запросов, тем самым сэкономишь себе время на полученный результат. А когда он тебя устроит - можешь запускать скрипт хоть на сотни тысяч запросов и залипать в терминал на свой лог.

Лучше пусть ИИ научится на маленьком датасете, чем на твоем терпении и нервах.


5. Если при доработке скрипта этот ленивый ИИ пишет тебе кусок кода, который нужно заменить, а тебе лень копаться в скрипте или ты не знаешь его синтаксис - попроси ИИ написать весь скрипт.

Я просто пишу ему «Напиши весь скрипт, учитывая последние изменение».


6. Бэкап - спасение твоих нервов! Сохраняй копии файлов, у которых тебя устроил результат на выходе. Часто бывает так, что после доработки скрипта - ИИ может изменить его логику и тебе придется вернуться к предыдущей версии.

Я называю их версиями (например: main-v1.py, main-v2.py и тд). Так я могу откатиться в любой момент и не просить ИИ восстанавливать логику, которую он сам же и стер.


Если твоя задача длится дольше, чем 30 минут и регулярно повторяется - ее нужно автоматизировать! 🧠

А вы используете Python для автоматизации SEO задач?

#python #ии #опыт
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥16👍7❤1😁1
Парсим данные из Яндекс Метрики ❤️

Для чего это нужно?
Это полезно, когда вам нужно быстро подготовить нестандартный отчет и сэкономить на этом кучу времени (часов) на ручной работе.

Парсинг данных по конкретной цели - может быть полезным занятием для ее аналитики, например за определенный период (месяц или квартал), чтобы сравнить данные ее конверсии по дням - об этом и пойдет речь в этом посте. Это может быть полезно, если вы добавили на сайт новую цель и хотите проверить ее эффективность, или проводите A/B тест 👀

Как это работает?
1. Отправляем GET запрос к API Яндекс Метрики;
2. API возвращает в ответ JSON с данными;
3. Обрабатываем JSON под формат эксель таблицы.

Необходимый стек:
1. Python и библиотеки для парсинга и обработки данных;
2. API Яндекс Метрики;
3. ИИ.

Если с питоном и ИИ все понятно, то с API Яндекс Метрики может быть чуть сложнее. Для ее работы необходимо создать специальное приложении (с аккаунта владельца счетчика) с необходимыми доступами к вашему счетчику:

Настройка счетчика:
1. Перед созданием приложения необходимо перейти в настройки вашего счетчика (с аккаунта владельца);

2. Далее перейти в раздел "Доступ" и активировать "Публичный доступ к статистике" (включить тумблер переключатель).

Создание приложения:
1. Переходим по ссылке https://oauth.yandex.ru/client/new;

2. Вводим название приложения (можно назвать также, как называется ваш счетчик, чтобы потом не путаться в приложениях - если их будет несколько);

3. Подгружаем иконку;

4. Выбираем платформу "Веб-сервисы";

5. В Redirect URI указываем ссылку: https://oauth.yandex.ru/verification_code;

6. Указываем доступы для работы с Яндекс Метрикой (нужно ввести названия каждого доступа, так как в интерфейсе их нет):
metrika:read — выбираем "получение статистики, чтение параметров своих и доверенных счетчиков, получение списка счетчиков";

metrika:write — выбираем "создание счетчиков, изменение параметров своих и доверенных счетчиков, загрузка любых данных";

metrika:expenses — выбираем "загрузка в счетчики расходов";

metrika:user_params — выбираем "загрузка в счетчики параметров пользователей";

metrika:offline_data — выбираем "загрузка в счетчики офлайн-данных (данные из CRM, офлайн-конверсии, звонки)".


7. Нажать на кнопку "Создать приложение";

8. После создания приложения вы увидите свой ClientID (это идентификатор приложения для получения QAuth токена);

9. Далее нужно вставить этот ID в конце ссылки (после знака равно): https://oauth.yandex.ru/authorize?response_type=token&client_id=КЛИЕНТ-АЙДИ и перейти по ней для получения вашего токена (его нужно будет скопировать и запомнить).

Создание скрипта:
Для создания скрипта парсинга данных по конкретной цели из Яндекс Метрики нам понадобится:
- Номер счетчика;
- Номер цели (можно увидеть рядом с ее названием в разделе "Цели" в Метрике);
- QAuth токен;
- Необходимые данные на вход (например: период, детализация, роботность, источник визита и тд - тут уже все на ваше усмотрение);

Рекомендую использовать ИИ (кстати, недавно писал пост - почему я не доверяю ИИ при работе с Python - почитайте, будет полезно). Пример промпта, который можете переделать под себя будет в комментариях к этому посту.

Про лимиты:
У Яндекс Метрики есть квоты на запросы к счетчику по API и их нужно соблюдать, чтобы не словить ошибку, о которой предупреждает сам Яндекс:
В случае превышения квот дальнейшие действия пользователя временно блокируются. При этом API возвращает ответ с HTTP-статусом 429 Too Many Requests. В теле ответа содержится информация о типе превышенной квоты.


Подробнее про сами квоты можете почитать здесь: https://yandex.ru/dev/metrika/ru/intro/quotas

На самом деле это все не нужно, когда в Яндекс Метрике есть отчет "Параметры целей" - просто выберите в таблице под графиком конкретную цель, укажите необходимый период, настройте детализацию (например по дням) и скачайте эксель таблицу графика. Но теперь вы знаете, как можно парсить данные из Метрики и возможно вам это пригодится для создания кастомного отчета 😁

#python #api #ии #аналитика #парсинг #яндекс_метрика
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍9🔥5
Почему Chat GPT-5 не заменит тебя?

Или заменит, если ты "ручной джун". Давайте пойдем разбираться, или 🥶

Вчера от Open AI вышел релиз GPT-5, думаю вы уже видели что она умеет и повторять этого нет никакого смысла. Но сегодня я хочу поразмышлять на тему, кого заменит и не заменит ИИ.

Кого не заменит:
ИИ не сможет делать всю работу за вас (особенно если в ней есть ответственность, свобода и креатив). Для ИИ в любом случае нужно давать данные на вход и не важно что это за данные - конверсии ваших целей с посадочных страниц, ТЗ на очередной скрипт на #python или вы хотите сгенерировать ИИ текст который не распознает Гугл.

Кого заменит:
ИИ в ближайшем будущем сможет заменить любого "специалиста" младшего уровня на котором завязана однотипная и рутинная работа. Который не убивается в метрики и не ищет #точки_роста у проекта, не думает как привлечь новый трафик и не заинтересован в росте конверсии - если мы говорим про SEO канал. Да что уж там, посмотрите на спрос по запросу "копирайтер вакансии". Я не говорю сейчас, что ИИ полностью заменит копирайтеров, они останутся, просто также будут его использовать (уже), ну или бизнес наймет контентщика и передаст ему подробную инструкцию с рабочими промптами для генерации текстов, а конкуренция таких контентщиков будет только расти, остальные пойдут за копирайтерами с графика по ссылке выше.

В комментариях будет список 50+ профессий, которые сократятся в ближайшие 5 лет (список составил Chat GPT-5). Освоение ИИ поможет сохранить и повысить вашу ценность на рынке труда, но только вам решать, в какой группе быть 👋

#ии
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10💩2❤1🔥1
Как быстро почистить мусор в СЯ? 💬🗑

Если у вас стоит задача быстро собрать всю семантику в нише и покрыть ей сайт, а у конкурентов и агрегаторов слабая структура - единственное, что остается - это собрать все запросы тематики. Но при парсинге у вас 100% будет куча мусора (инфо или запросы которые не подходят под бизнес). Например - застройщик продает только новостройки, а в семантике будут запросы про вторичку, аренду, бренды, города, штрафы, налоги и прочий инфо-мусор.

И так, мы собрали все однословники в тематике, нашли их синонимы, скомбинировали их друг с другом со всеми возможными перестановками и спарсили вордстат. На выходе видим таблицу с десятками и сотнями тысяч фраз (у джуна на этом этапе начинают потеть ладошки), но мы идем дальше.

Мешок слов
Анализируем весь этот массив по алгоритму "Мешок слов":
1. Очищаем каждую строку на спец символы и разбиваем их на слова (получаем список всех слов)
2. Лемматизируем каждое слово в списке (приводим к начальной форме)
3. Считаем частотность каждого слова в списке (мешок слов)
4. Формируем данные в Excel таблицу со столбцами:
- Слово
- Количество (в списке)
- Доля (%)
5. Сортируем таблицу по убыванию частотности или доле (%)
6. Чистим из этого списка инфо слова: что, как и тд (если вы конечно не использовали их при парсинге вордстата)
7. Получаем список слов всей ниши
8. Чистим мусор в СЯ
9. Работаем дальше с семантикой (скоринг по выдаче для ее кластеризации, приоритизации и тд)

Такой скрипт на питоне вам изи сделает ИИ с первого промпта, главное не забудьте установить библиотеку для лемматизации слов.

Вообще мешок слов можно использовать в разных целях, например, можно собрать самые частотные:
1. Слова в текстах конкурентов (хз зачем, но кто-то делает)
2. LSI и редкие слова тематики с википедии
3. Слова в ваших отзывах (найти боли клиентов)
4. Темы для инфо статей
5. Анкоры в ссылочном профиле конкурентов, но здесь я обычно строю сводную таблицу

И так далее…

Также мешок слов может быть отличным помощником для создания страниц, которых нет у ваших конкурентов. А как вы чистите большие массивы ключей?

#ся #семантика #мешок_слов #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1