Product SEO
1.1K subscribers
4 photos
1 file
41 links
Канал Владислава Моргуна (SEO ЛУН&Flatfy) - @m0r9un про SEO и маркетинг.
Поддержи меня: - https://www.patreon.com/m0r9un
Добавляйся в друзья: https://www.facebook.com/vladislav.morgun.3/
Заказывай аудиты\консультации: @m0r9un
Download Telegram
Ahrefs Alerts

#links #pr #outreach @productseo

Функция Ahrefs Alerts (ссылка) - неоднозначна в плане пользы, ведь всегда можно зайти и глянуть на все данные в удобном виде в интерфейсе Ahrefs, но для себя нашел очень полезный паттерн использования для поиска идей PR статей и аутрича.

Как делать?
1. Берем ваших конкурентов (штук 10-20) и сайты схожей тематики из других стран, например, Flatfy нет в США, но можно посмотреть на Trulia или Zillow;
2. Заходим в Alerts Backlinks и нажимаем New alert, вписываем весь домен, либо ТОП страницу, которая может приносить линки. Тут важно понять насколько большой прирост ссылочной массы у сайта конкурента. Огромные сайты получают тонны спама и с большой вероятностью вы ничего полезного не увидите;
3. Если у вас Advanced план, то это супер, поскольку вы можете выбрать частоту письма Daily; (если у вас план попроще, то Weekly тоже сойдет, но эффект будет не такой хороший ИМХО).
4. В gmail можно настроить отдельный filter и label под эти письма, например, по отправителю se@ahrefs.com;
5. Пьем утром кофе и быстро просматриваем сообщения. Графики и прочая информация нам не интересна. Внизу будет блок с +-5 ссылками примерами: title, url, description.
6. Если несколько рассылок подряд нет хороших идей, то можно спокойной сайт убирать из алертов;
7. Добавляем новые сайты по мере удаления неудачных;

Выходит намного удобнее, чем каждый день заходить и смотреть new links + эффективнее чем делать это раз в месяц. Сейчас у меня есть несколько сайтов в отслеживаемых, которые пишут хорошие PR статьи и являются для меня отличными источниками для вдохновения и пополнения контент плана. + со временем даже заметна стратегия. Какие темы, какие сайты, как часто, какие линки. ИМХО - потратить 10 минут в день полезнее, чем несколько часов раз в месяц. Можно быстрее начать реагировать.
Как художник - краду хорошие идеи и создаю лучше.

P.S. В этом году это последний пост. Готовлю интересные анонсы и посты на 2021🎄. Встретимся 04.01.2021. Всех с наступающим🥳 и спасибо, что читаете мои посты 🙂
Читай мануалы или KD станет “Knocked down” по проекту

#Ahrefs #junior @productseo

Решил начать год с простого поста ибо слишком часто начал слышать утверждение: “Для скоринга семантики берём Keyword Difficulty из Ahrefs и т.д.”. Это классный подход, но Junior должен сразу спросить: “А как данная метрика считается, откуда берется?” и можно ли использовать её в конкретной нише и под данный конкретный проект.

По Ahrefs мануалу: “The Keyword Difficulty score is based on a weighted average of the number of referring domains to the top 10 search results.”

Что это значит?
1. Если в нише нет СНГ SEO`шников, то есть вероятность получить 0 KD по куче запросов, поскольку во многих регионах используют стратегию “вкачать по максимуму главную, а дальше Google разберется через внутреннюю линковку”. Качают “бренд”. В KD используют TOP 10, который может состоять из внутренних страниц без ссылочной массы. Но это же не значит, что в этот ТОП можно попасть без ссылок (забавно, когда в ТОПе средний DR за 75).
2. Если в нише есть СНГ SEO`шники, то есть вероятность существования PBN и скрытия ссылок от Ahrefs.
3. У Ahrefs есть свой спам фильтр. Они не хранят в базе откровенный (по их мнению) треш, но бывают случаи, когда именно на этом треше и держится ТОП.
4. Данная метрика учитывает только внешние ссылки, но никак не учитывает внутреннюю оптимизацию и качество контента.
5. В сложных нишах, где борьба идет не просто за ТОП 10, а начиная с ТОП 50 или ещё дальше - данная метрика сильно не репрезентативна.
6. referring domains значит, что сквозные ссылки не дают увеличения для KD.

Делать выводы на одной метрике и тем более скоринг семантики для последующего составления стратегии - нельзя. Если вы Junior, то разбирайтесь в том “откуда растут ноги” и будет легче жить дальше.

P.S. Следующий пост будет 08.01 🙂 Всех с наступившими 🥳
Behavioral analysis на минималках

#hotjar #analytics #кейс_из_жизни @productseo

Люблю подглядывать за пользователями. Есть аналитические инструменты, которые записывают поведение пользователей на сайте. Самые известные: HotJar и Yandex Webvisor.

Да, можно использовать события (events) в Google Analytics, но для этого желательно постоянно поддерживать карту событий и работать с разработчиками по внедрению. Если же я так сделать не могу, то использую Google Tag Manager и в него добавляю HotJar. Для того, чтобы не проваливать скорость загрузки страниц - запускаю код только на определенных страницах, которые мне нужно проверить. Да и иногда посмотреть запись может быть быстрее и полезнее, чем разбирать множество гипотез по числам.

Кейс #1
Информационный проект. В мобильной версии было принято решение сделать аккордеоны и скрывать часть контента в стиле Википедии для удобства пользователя. Оказалось, что не для всех пользователей был очевиден данный элемент интерфейса и они просто уходили ибо не видели контента. После открытия всех блоков сразу улучшился показатель отказов и время на сайте. До этого на записях было даже видно, что человек скроллит в самый низ страницы, будто ищет что-то игнорируя полоски аккордеона и не нажимая на них.

Кейс #2
Туристический проект в Германии. Текст был написан нейтивом и проверен другим нейтивом, сделаны правки. По HotJar заметил, что многие читают медленно, внимательно и уходят после скрола до определенного экрана. Решили перепроверить данную часть текста ещё раз. Лендинг был огромный и вероятность упустить что-то при первой проверке была велика. Я был сильно удивлен, когда после дополнительной вычитки мне сказали: “по этой фразе видно, что данный текст написал нейтив проживший всю жизнь в Германии, но родители у него иностранцы”. Кстати, потом ещё переставили на этой странице call 2 action кнопки ибо сверху было рано, а снизу - поздно. По видео было понятно +- “идеально”.

Кейс #3
Здоровье. На странице было несколько call 2 action кнопок: заявка, чат, номер телефона фирмы, обратный звонок. Использовалось юзерами все, кроме “Обратного звонка”. Видимо пользователи боялись звонка в неудобный момент в который их разговор могут услышать или же не хотели оставлять свой номер телефона (хотя в данном случае меня смущает то, что они сами звонили, а значит их телефон определялся). На записях было отчетливо видно, когда люди “обходили” именно это кнопку и искали другие.

Кейс #4
Медицина, информационный ресурс. Заметил, что на heatmap сильно выделены определенные термины. Людям реально не хватало их описания\расшифровки, они их выделяли и google`лили отдельно. Хороший способ улучшить статью.

Кейс #5
У всех сейчас на слуху Core Web Vitals и метрика CLS. Вы даже не представляете какие бывают случаи “и смешно и грустно”, когда не вовремя подгружается задняя бренд подложка на сайте, появляется блок с Adsense, вылазит помощник по типу Jivochat или какой-то опросник, который закрывает фильтрацию.

P.S. Следующий пост будет в вторник 12.01 + будет несколько нововведений и анонсов 🙂 Если хотите ещё похожих кейсов, то пишите в комментарии в FB (ссылочка в описании канала). Всем хороших выходных.
Google Search Console. Важные обновления в интерфейсе и API

#gsc #api @productseo

Немного об обновлениях Google Search Console и кейсах связанных ними.

Обновление Index Coverage “Crawl anomaly”
11.01.21 вышел пост (ссылка), где Google`оиды рассказали о том, что уточнили пункт “Crawl Anomaly” в отчете Index Coverage и теперь будут привязывать ошибки к более точным формулировкам. Все типы можно посмотреть тут (ссылка)

Загляните в отчет (ссылка) с включенной вкладкой Excluded. Скорее всего вы там найдете изменения.

Был добавлен важный пункт:
Indexed without content: This page appears in the Google index, but for some reason Google could not read the content. Possible reasons are that the page might be cloaked to Google or the page might be in a format that Google can't index. This is not a case of robots.txt blocking.

Пока с этой ошибкой на своих проектах не столкнулся, но интересно глянуть на кейсы. Если у кого будут, то покажите в личку, пожалуйста.

По многим своим проектам заметил спад ошибок. Похоже на то, что старые ошибки, которые давно исправили и отправили на переобход просто застряли в базе GSC, а сейчас их убрали.

Обновление по Crawl stats
В ноябре был обновлен инструмент с статистикой краулинга (ссылка ). Я уже о нем писал в FB ранее (ссылка). Тут я очень советую смотреть изначально отчет в Domain Property, а не Url. Недавно таким образом нашел отвалившийся редирект с www. на без www. + если кто-то взломает и подсадит к вам субдомен, то тоже можно будет заметить.

Кстати, если у вас сайт SPA, то посмотрите статистику By file type. В ней будет интересно как ведет себя пункт JSON и сколько Google тянет доп. данных.

Обновление API
1. В декабре был добавлен новый searchType - news. Если вы работаете с новостными ресурсами, то было бы неплохо сохранять все данные GSC у себя, а затем их использовать для анализа предыдущих трендов (не всегда 16 месяцев достаточно). Кстати, можно теперь получать свежие данные через параметр dataState all / final (ссылка).
И вот вот они выкатили обновление по News разделу (ссылка)
2. Произошли изменения в библиотеке. Если у вас перестал работать старый код (пока не должно, но скоро скорее всего не будет), то замените строку
webmasters_service = build('webmasters', 'v3', http=http)
на
webmasters_service = build('searchconsole', 'v1', http=http)
.

P.S. Следующий пост будет в пятницу 15.01, где мы поговорим про ссылочное.
P.P.S. По заявлениям Google: “Soft 404 reporting is now more accurate” - пришло время провести новые тесты. В этом месяце напишу пост.
P.P.P.S Уже через полторы недели я проведу онлайн интенсив по работе с API и логами (ссылка).
P.P.P.S В марте я запускаю пятый поток своего курса (ссылка). На этот раз в онлайн.
Human-centered Link building

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

ИМХО, но одна из основных проблем, почему аутрич не принимают - контент. Линкбилдер анализирует конкурентов, выгружает пересечение по доменам донорам, просматривает контент, пишет план, а журналист считает, что данная статья рекламная, что она недостаточно релевантна, что она не качественная, что такое им отправляли другие люди и больше им не нужно и т.д.

Считаю, что в данном случае проблема в отсутствии ориентированной на пользователя стратегии. Мы тратим уйму времени на создание продукта, а ссылки пытаемся сделать ради ссылок. В данном случае мы можем обратиться к маркетологам фирмы или составить самим (начать хоть как-то, а со временем научитесь) Customer Journey Map. Вам нужно задокументировать полный опыт использования продукта\услуги пользователем.

Например, вы можете поискать ответы на вопросы:
1. Кто является пользователем продукта? (Может даже расписать пару персон)
2. Каковы пользовательские цели и задачи?
3. Какой у пользователей уровень опыта работы с продуктом и похожими продуктами?
4. Какие функции нужны пользователям?
5. Какая информация может быть необходима пользователям, в какой форме?
6. Как, по мнению пользователя, продукт должен работать?

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

В CJM у вас будут touchpoints (точки касания с брендом). Обратите внимание на то, что примеры точек из любой книги по маркетингу - это стандартные техники по ссылочному: рейтинги, обзоры, отзовики, тематически комьюнити и т.д. Вам нужно проработать точки касания до использования, во время использования и после использования продукта для поиска новых тактик.

Давайте немного побрейнштормим (далее будет первое, что пришло в голову)

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

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

Если этот магазин использует определённую платежную систему, то можно попробовать договориться с ними о размещении в разделе клиентов.

Если определенную марку товара продают часто, то можно ввести награду от магазина по группам товаров, например, “лучшие носки года” и выдавать кнопку баннер для сайта производителя.

и т.д.

Каждая из наших гипотез должна принести не только ссылку, но и попытаться окупить затраты охватами\b2b партнерствами\узнаваемостью и т.д.

Основная проблема такого подхода - нужно хорошее знание предметной области, а потому не in-house это будет сделать сложно. Ну и конечно пока данная методика не будет поставлена на поток - это будет дорого.

P.S. У меня ещё есть Slideshare аккаунт. Если вам интересно, то можете посмотреть мои презентации с выступлений (ссылка).
P.P.S. Следующий пост будет во вторник 19.01 . Всем хороших наступающих выходных или продуктивной рабочей субботы.
Когда количественные метрики переходят в качественные (о размерах текстов). Часть 1

#onpage @productseo

Этот пост я пишу из-за того, что:
А) в трендах по SEO пишут о количестве контента, но почему-то не заостряют внимание на качестве;
Б) в личные сообщение мне пишут просьбы что-то посоветовать и достаточно часто звучит “текст на 2000 символов будет норм?”

В данном случае нужно немного перефразировать классика Виктора Карпенко, сказав: “Смотрите в SERP (search engine result page), как в телевизор”.

Количество слов\символов - это только ориентир для того, чтобы понять насколько нужно широко раскрывать тему (или сколько конкуренты льют воды). Вам нужно узнать среднее, минимальное, максимальное количество контента в ТОП и ориентироваться на это только как на количественный показатель и не забывать “перечитать” (пишу в кавычках ибо можно как глазами, так и автоматизировать) все статьи из ТОП`а и понять какой интент у пользователя, какие могут быть смежные цели.

Как бы делал я?
1 - будет о ручном методе
2 - будет об автоматизации и массовости

Вариант 1. Вы пишете ТЗ под конкретную страницу

1. Получите ТОП 10, 20, 30 по маркерному запросу в зависимости от серьезности конкуренции. Зачастую хватает ТОП 10. Можно зайти через браузер и забрать SERP используя букмарклет; можно из ahrefs -> keyword explorer -> ввести запрос\страну -> export в самом низу, где ТОП; можно из Serpstat -> keyword research -> seo research -> top by keyword -> ввести запрос\поисковую систему -> copy или export.

2. Переходим в Screaming Frog или Netpeak Spider и переключаемся в режим обхода страниц по конкретному списку URL.
(Конечно можно выделять тексты из основной зоны контента руками и проверять любым сервисом, но это долго).

3. Подставляем наши URL из ТОП`а и берем длину контента. Тут нужно еще почитать справку. Например, в Netpeak Spider есть параметры: Размер контента (символы с пробелами в <html>), Количество слов (в <body>), Количество символов (без пробелов в <body>), Количество символов в <p>, Количество слов в <p>. В зависимости от конкурентов (их технической составляющей и вообще типа сайта) можно выбирать разные параметры. Например, когда я работаю с информационными сайтами и в предварительном анализе конкурентов видел, что семантика html5 у них +- соблюдается, то я могу взять <p>.

4. Копируем данные в excel и считаем MIN, MAX, MEDIAN, AVERAGE. На основе этих данных можно уже предположить размер текста.

5. После количественного показателя нам нужно получить качественные.

Какие они?
1. Качаем запросы по которым конкуренты в ТОП 10-20 и берем уникальные. Из них и будем выбирать: прямые вхождения, дополнительные тематические слова.

2. Если есть время, то читаем статьи и выписываем: на какие вопросы нужно ответить текстом, какие ключевые блоки должны быть на странице (например, кроме текста список источников) и т.д.

Нужно быть готовым к тому, что на запрос “как собрать урожай яблок?” нужно будет не просто написать “пойди и сорви”, а расписать особенности работы разными инструментами, упаковки, время работы и т.д.
Когда количественные метрики переходят в качественные (о размерах текстов). Часть 2

#onpage @productseo

Вариант 2. Нужно оценить “А туда ли мы идем?” (Массово сравнить себя и конкурентов) или же сделать ТЗ массово

Какие узкие и проблемные места Варианта 1 (ручной), которые можно автоматизировать:

1. Сбор SERP. Можно использовать API Serpstat keyword_top или DataForSEO API. Есть и другие варианты, например, через desktop приложения, но зачастую это больше времени, что = больше денег. Можем сохранить просто в файлик запрос, местов в ТОП, url.

2. Краулинг страниц. Можно писать свои парсеры или использовать готовые библиотеки, а можно использовать screaming frog в headless режиме (командная строка) с параметром —crawl-list. Берем из прошлого пункта файлик с списком url.

3. Ключи для страницы. Качаем через API Serpstat, Ahrefs или любого сервиса. Тут проблема только в том, что изначально мы рассматриваем только маркерные запросы. Можно увеличить размерность и рассматривать кластера.

Таким образом можно сделать множество мини программ и простой bash скрипт, который будет выполнять эти скрипты поочередно для получения результата. Советую делать все проще и на файлах, а не базах. Будет быстрее и эффективнее (для начала).

P.S. Если успею, то на этой неделе в пятницу 22.01 будет пост о Google Analytics. А пока можете глянуть на тренды 2021 от Михаила Щербачева (livepage) с моими комментариями и дополнениями (ссылка на блог).
P.P.S. Если нужен подробный Гайд и примеры скриптов, то напишите мне в комментарии или в личные сообщения. Если будет интерес, то в феврале я напишу длиннопост.
P.P.P.S Спасибо всем, кто лайкает мои посты в FB, пишет комментарии и пишет в личные сообщения. И отдельное спасибо за донаты 🙂 Буду стараться дальше.
Немного о Facebook, конкуренции, Google Analytics (пятничное)

#google_analytics #facebook_ads @productseo

Люблю наблюдать. Я не прохожу мимо рекламы в FB, а смотрю “Почему я вижу эту рекламу?”. Еще люблю смотреть в Facebook Ad Library, а особенно, не свои ниши. И у меня есть отдельный Android телефон с несколькими FB аккаунтами (на Android можно “дублировать” приложения) под разные персоны, чтобы собирать разную рекламу. Интересно посмотреть на чужую рекламу вместо сериалов по вечерам.

Понятное дело, что мне попадают рекламы SEO агентств и около того. Недавно стало интересно посмотреть на фирму, перешел по рекламе, полистал блог, посмотрел кейсы. Сейчас я уже не помню даже названия агентства (какое-то региональное или мне не известное), но четко запомнил ТОП кейс, который был выделен и в нем одной из первый строк шло: “Улучшили показатель отказов до 0.12%” (там точно было не на 0.12%).

Решил напомнить, а Junior`ам рассказать, что “a bounce is defined as a session containing only one interaction hit” или более простыми фразами “a bounce is calculated specifically as a session that triggers only a single request to the Analytics server”. Проблема в том, что “By default, the event hit is considered an interaction hit, which means that it is included in bounce rate calculations.” . Как я писал в посте ранее (ссылка), если вы добавили событие, например, на автоматическое раскрытие чата поддержки, то BR будет очень маленьким (ведь есть же люди без JS или другие причины, почему событие не отработало). Все свои числа нужно проверять.

По своему опыту, хочу посоветовать кроме плагина для Google Chrome - Google Analytics Debugger сделать отдельную GA View с фильтром только на ваш IP. Таким образом можете сами жать на кнопки, смотреть сайт и видеть все возможные ошибки. Если смотреть в общей view, то зачастую ваши клики может съедать сэмплинг данных.

P.S. Пост пятничный. Ждите серьезного в среду 27.01. Всем хороших выходных.
Небольшой лайфхак для PBN и outreach

#links #pbn #outreach #bigquery @productseo

На этих выходных проводил интенсив Data Science for SEO 2.0 в Projector с Геннадием Сивашовым. Разбирались в логах, работали с API GSC, API GA, BigQuery и т.д. В разговоре со студентами я случайно вспомнил кейс, который может помочь PBN`щикам.

Все мы используем ahrefs, expired domains и другие известные сервисы, парсим выдачу Google, собираем разными способами базы доменов, но я ни разу не видел, чтобы кто-то использовал Chrome UX Report. Где-то около 2018 года вместе с Speed Update был представлен публичный датасет по данным скорости загрузки из Google Chrome (ссылка).

В этом датасете вы можете найти множество таблиц разделенных по странам и месяцам с данными (зачастую) с 12 месяца 2017 года. К нему можно получить доступ в BigQuery и делать различные SQL запросы. Например,
SELECT DISTINCT origin FROM `chrome-ux-report.country_tr.*
и получить огромный список уникальных доменов по Турции. Дальше все зависит только от вашей фантазии и того, что напишете после WHERE в SQL запросе и что делать с этим списком. Например, можете проверить домены через Netpeak Checker на доступность.

У меня была задача для которой было собрано базу из +- 900 сайтов используя множество сервисов. Эти сайты были с определенными метриками, определенной тематики и в конкретном регионе. Расширить базу удалось благодаря именно методу выше, причем почти в 2 раза.

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

Следующий пост будет в пятницу 29.01

P.S. Если мой контент полезен, то поддержите меня, пожалуйста, в “Списке открытых SEO-специалистов” от Referr ru (ссылка). Я там пока на второй странице 😐
P.P.S. Спасибо анониму, который задонатил мне в 3 часа ночи 🙂 Было очень приятно.
Немного о брендах, стратегии и истории поисковых апдейтов

#пятничное #google_updates #brand @productseo

Горячие обсуждение в одном SEO сообществе по теме упоминаний брендов напомнили мне старые и добрые времена, когда каждый Google Update называли красиво и любой зверек, напиток, город мог взорвать тысячи seo`шных 🍑. Тем, кто в SEO недавно хотел бы рассказать о Venice Update и Hot fix по делу DecorMyEyes.

Venice или почему важно помнить историю
2009 год - апдейт помог увеличить видимость крупным брендам, которые могли не сильно то и работать по SEO, но были экспертами в своей теме. Например, по запросам телефонов начал показываться официальный сайт Sony Ericsson, а по детям Pampers.

Можно посмотреть 3-ех минутное видео с Matt Cutts`ом и услышать популярные в последние пару лет слова EAT и то, что поисковая система не воспринимает бренд, как бренд, а скорее как знание о том, что определенная сущность может быть связана с другими (ссылка). По сути, работа с брендом с точки зрения SEO - попытка вписать сущность бренд в граф знаний рядом (соединяя) с нужными бизнесу сущностями (Sony Ericsson - телефон, Apple - смартфон, Rozetka - интернет-магазин).

И это было 12 лет назад! Любые изменения в столь масштабных продуктах не могут быть моментальными и все, над чем проводились работы ранее - ещё не раз к нам вернется с тем или иным обновлением. Потому работа с упоминаниями, синергия с другими каналами и все эти “спорные” моменты будут актуальны в любом случае дальше.

DecorMyEyes или “у меня была стратегия и я её придерживался”
2010 год - скандальный хоть-фикс от Google. В NY Times вышла статья о сайте DecorMyEyes (ссылка), который был в ТОП`ах поисковых систем по многим запросам по продаже очков, но владелец фирмы получал тонны негативных отзывов, угрожал клиентам, обманывал их и прочее. (Кстати, статья набрала тысячи бэклинков и в то время была прям резонансной).

Суть заключалась в том, что автор сайта считал, что клиент не всегда прав и с радостью спамил по форумам, отвечал на все гневные посты и подливал масла в огонь срачей. Он просто придерживался стратегии продвижения через негатив, пока не вмешался Google (после громкой статьи) и не исправил проблему. Владельцу было не важно, что будут говорить о нем, а главное, что говорят и это приносит ему прибыль. По заявлению поисковой системы они не просто забанили конкретный сайт, а нашли ошибки в их алгоритмах и поправили их. Самого владельца посадили в тюрьму за fraud.

Осуждаю владельца, но выношу “в подчеркнутое”, что в любом проекте важна стратегия, даже если она плохая. На тот момент скорее всего в ошибке и выводе сайта в ТОП Venice и бренд не участвовали (у парня реально было достаточно много ссылок, хотя уверен, что и просто неактивных упоминаний было море), но забавно наблюдать за тем, что сейчас у данного сайта есть связь в графе знаний с его владельцем.

P.S. Следующий пост будет 03.02
О простом способе отслеживания Core Web Vitals

#core_web_vitals #auto @productseo

Если вы работаете в продуктовой компании, то скорее всего ваши разработчики делают с какой-то периодичностью, например, после каждого билда, синтетический тест с различными замерами, среди которых могут быть и Core Web Vitals. Но что делать, если они этого не делают или же у вас свои небольшие сайты, а понимать развитие ситуации хотелось бы? Ведь Google анонсировали апдейт (ссылка) связанный с CWV на май 2021 года.

Способ №1. Простой, автоматизированный, без программирования

Получаем данные
1. Устанавливаем Screaming Frog;
2. Включаем его и входим в меню Configuration -> Api Access;
3. Выбираем PageSpeed Insights;
4. В тексте описания нужно будет нажать на link, который переведет вас на сайт Console Developers Google Com;
5. Если вы никогда там не регистрировались, то нужно будет пройти регистрацию (обязательно вписать кредитную карточку с которой возьмут 1$ и вернут обратно. Проверка валидности);
6. После регистрации нужно будет создать проект (или выбрать существующий), через поиск включить PageSpeed API и перейти в APIs & Services -> Credentials;
7. Там выбрать “+ Create Credentials” и выбрать API Key;
8. Скопировать данный ключ в Screaming Frog и нажать Connect;
9. В соседней вкладке Metrics нужно будет проверить есть ли все нужные нам метрики;

Автоматизируем получение данных
В Screaming Frog есть headless (CLI - command-line interface) режим (без GUI - graphical user interface). Он доступен в любой операционной системе. Далее сокращенный мануал под формат Telegram поста.

1. Идем в мануал и смотрим как запустить SF без интерфейса под своей OS (ссылка). Например, для MacOS в Terminal нужно вписать open "/Applications/Screaming Frog SEO Spider.app" --headless ;
2. Дальше нам нужно добавить еще параметров. Например, мы выбрали тестовые страницы и нам нужно проверять именно их —crawl-list [list file] ;
3. Использование API: —use-pagespeed и другие параметры по типу использования сохраненных настроек и сохранения файла смотреть тут (ссылка) ;
4. Выбираем Scheduler под свою операционную систему и настраиваем запуск получившейся команды на каждый день.

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

Далее в зависимости от OS можем соединить все .csv в один (например, в macos командой cat *.csv > all.csv) и проанализировать полученные данные в Excel используя графики.

P.S. Следующий пост будет в субботу 06.02
О trailing slash

#junior #commandlineoptions #DevTools #technical @productseo

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

Для поисковой системы URL https://d.com/page и https://d.com/page/ - разные. С точки зрения поисковой оптимизации стоит выбрать любой из вариантов, который будет отдавать 200 ОК и сделать 301 редирект с другого варианта на выбранный. Например, мы выбрали https://d.com/page - 200 OK и тогда https://d.com/page/ -> 301 -> https://d.com/page.

Есть отличный старый пост в Google Blog (ссылка) из 2010 года) и небольшой гайд от Джона Мюллера (ссылка из 2017 и ссылка из 2019 года).

Где чаще всего возникают проблемы?
1. Изначально что-то пошло не так и нет настройки редиректов на одну из версии (с или без слэша) на веб-сервере. Можно проверить через команду ```curl -I -L https://d.com/page ```, которая покажет вам http заголовки и цепочку редиректов, если она есть или же использовать httpstatus.io или Preserve log в Chrome;
2. Прописан не тот URL в rel canonical; (могут возникать ошибки в GSC ```“Страница является копией. Канонические версии страницы, выбранные Google и пользователем, не совпадают.”```)
3. Прописан не тот URL в hreflang; (может возникнуть ситуация, когда поисковая система идет из hreflang по URL и попадает на 301)
4. Прописаны не те URL в HTTP header; (например, тот же hreflang)
5. Новые блоки перелицовки, меню, ссылки из контента и т.д.
6. При генерации sitemap.xml

Как можно избежать проблем?
1. Почаще проводим сканирование проекта использую Netpeak Spider или Screaming Frog или другие аналоги;
2. Смотрим в отчет Index -> Coverage;

P.S. Следующий пост будет во вторник 09.02
Простые лайфхаки по защите PBN и маленьких сайтов. Часть 1

#junior #pbn #security @productseo

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

Для своих небольших сайтов я всегда устанавливаю goaccess.io - это софт для анализа логов в live режиме, но в этом пакете есть еще и возможность генерации html отчетов. Вы можете указать откуда брать логи и GoAccess создаст отчет со стандартными графиками о посещенных ресурсах (страницах, файлах), статистику по IP, Geo и т.д.

Кстати, можно использовать вместо GA, чтобы не палить футпринты. Аналитика на минималках.

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

Комментарии, UGC
1. Проверяйте свои формы. До сих пор встречаю формы комментариев, которые не вырезают html код и он рендерится после добавления.
2. Проверяйте добавление файлов от пользователей. Были забавные кейсы, когда в формах была возможность добавлять более менее большие файлы (200мб+) и используя небольшую автоматизацию можно было быстро забить SSD сервера, а у многих VPS хостингов есть функция блокировки сайта при достижении лимита.

robots.txt
Не закрывайте внутреннюю информацию через robots.txt , которую ПС и так навряд найдет. Встречал ситуацию, когда закрывают от сканированию условную / admin-money-all-our-data-crm/ или ссылки на тестировочные файлы, которые выводят какую-то информацию по сайту и т.д. Скорее всего Google на эти ресурсы не попадет, а вот чей-то глаз может заглянуть и было бы хорошо, если там есть защита и нет важных данных. Такие вещи можно закрывать просто HTTP авторизацией.

Параметр redirect`а
Пускай вы подумали не давать прямую ссылку на внешний ресурс (источник) с nofollow, а решили обезопасить себя и сделали параметр с редиректом. sitecom/?redirect=https… Не забывайте, что такие редиректы любят спамеры, которые автоматом собирают эти параметры с тысяч сайтов, подставляют свои URL и потом через xRumer, GSA и прочее спамят tier 2. Не важно, что часто на таких редиректах стоят не просто 301, а страницы с noindex, nofollow и, например, refresh. Зачастую спамеры это не проверяют.

P.S. Следующий пост будет в субботу 13.02
Про проверку функционала

#junior #automation #sales @productseo

На данный пост натолкнула меня недавняя беседа в которой основным вопросом было: “Мало продаж. Что может быть не так с SEO?”. Можно было бы посмотреть на запросы по которым ранжируется сайт, посмотреть ТОП сайты-конкуренты и т.д., но первым делом я просто ввел свой номер телефона в форму и не получил ничего (на момент теста у меня была последняя обновленная OS и актуальная версия браузера). Далее я нажал на номер телефона в шапке и звонилка мне показала иной номер телефона (нет, сайт не взломали. Просто в коде забыли поправили в этом теге новый номер ```<a href="tel:новый_номер”>старый_номер</a>```). И так далее.

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

Что можно сделать? (Небольшие лайфхаки)
1. Самое простое - выработать привычку (добавить в чек-лист свой или сотрудников) раз в неделю пройтись по основным зонам, откуда бизнес получает лидов и проверить ручками.
2. Автоматизировать процесс. Если вы не разбираетесь в разработке, то можно установить Selenium IDE Chrome Extension (ссылка). В этом плагине вы просто жмете на кнопку “записать” и жмете на нужные кнопки, чтобы получить форму и заполняяте её. Далее сохраняете и просто запускаете раз в неделю. Плагин автоматически повторит за вами действия. Подключитесь к оповещениям из CRM и провряйте есть ли ваш заказ. Если же вы разбираетесь в разработке, то можете попробовать Watir (это то, чем пользуюсь я. Есть множество и других отличных вариантов).
3. В Google Analytics можно сделать view с фильтром только на ваш IP. Если вы отслеживаете цели через GA, то было бы круто всегда иметь debug view для проверки работоспособности всех событий (event). Можно искать себя в общем view через user explorer по cookie user id, но часто можно нарваться на проблемы с сеплированием данных.
4. Просматривайте иногда отчет в GA по браузерам и девайсам. Иногда можно заметить различные “особенности”. Например, у нас были кейсы, когда часть функционала просто не работала на Samsung Browser.

Желаю вам хороших выходных и не терять лидов.

P.S. Следующий пост будет в среду 17.02, а ещё у меня скоро заканчивается набор на пятый поток авторского курса Product SEO и пока ещё есть несколько мест (ссылка).
О скорости сканирования. Забытые инструменты

#junior #crawl @productseo

Заметил то, что давно никто не говорил об инструменте Crawl Rate Settings page из старой Google Search Console и его аналога “скорости обхода” в Яндексе. Возможно тема holywar`ная, а потому сразу скажу, что по моим !!!личным!!! тестам - работает, но не совпадение ли это и можно ли масштабировать и подойдет ли всем - нужно тестировать больше, чем не нескольких проектах.

У поисковых систем есть инструмент, который позволяет ограничивать заходы поисковых роботов, если они начали нагружать сервера. Например, в Google вы можете найти этот инструмент в старой Search Console тут (ссылка). Зачастую в выборе настройки стоит Частота сканирования: “На усмотрение Google (рекомендовано)”, но можно выбрать “Ограничить максимальную скорость сканирования Google” и ползунком выбрать значение. Эти значения Google подбирает под каждый сайт отдельно. По моей выборке сайтов может быть как от 0.008 запросов в секунду, так и до нескольких десятков.

Недавно был случай, когда на одном из клиентских проектов сделали глобальные изменения на сайте, а Google просто снизил краулинговый бюджет к минимуму и не втягивал их. Выкрутил значение на максимум и поисковый робот ожил. Проверил несколько раз с другими проектами - после изменений значения ползунка поисковый робот реагирует. Не смотря на то, что в справке есть фраза “You cannot increase the crawl rate.” (ссылка) при большом спаде заходов бота можно его “попросить” зайти больше. Скорее всего в данной фразе шла речь именно об “увеличить до определенного числа”. Думаю, что можно использовать инструмент в случаях проблем с хостингом, когда Google увидел много ошибок и решил не напрягать сайт сократив кол-во заходов (можно посмотреть в реально времени по логах или с опозданием в Search Console в отчете https: //search.google. com/search-console/settings/crawl-stats?resource_id= ) .

Аналогичный инструмент есть и в Яндексе, но там они прям пишут о том, что можно ускорять (ссылка). Кстати, когда-то сотрудник выставил там значение 600 запросов в сек. и Яндекс послушно напряг всю нашу систему. Мы не упали ибо у нас много ресурсов, но деньги на кластера начали резко сжигаться 🙂

P.S. Следующий пост в субботу 20.02
Небольшие скрипты для упрощения работы. Serpstat ТОПы по запросам

#automation @productseo

Решил, что буду выкладывать в open source некоторые скрипты, которые сам пишу и использую. Их можно будет найти в данном репозитории на GitHub (ссылка).

Первым будет скрипт, который проверяет по списку ваших запросов в базе Serpstat (ссылка) на каком месте сайт в ТОП и имеет дополнительную функцию сохранения ТОП в формате старого KeyAssort (ссылка). Эти задачи можно решить и через другие сервисы, но почему бы не потратить лимиты API с пользой?

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

А вторая часто мне помогала сохранить время на пирсинг ТОПа через свои proxy. Конечно же можно воспользоваться XMLriver (ссылка), но иногда достать сохраненные данные из базы Serpstat быстрее, чем качать живые в XMLriver (хоть мы и теряем актуальность).

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

P.S. Следующий пост будет в среду 24.02 и если успею, то сделаю еще 1-2 полезных мини поста до среды в которых поделюсь мини скриптами.
P.P.S. Все ссылки в данном после реферальные. Если вы хотите бесплатно помочь “блоггеру”, то можете пополнить свои аккаунты через мои ссылки. Спасибо.
О спаме и азиатских женщинах

#links #spam @productseo

Коротко: держите файл с списком доменов для disavow (ссылка)

Если вы работаете с крупными порталами, то скорее всего могли заметить у себя в Ahrefs (или в GSC, если заглядываете в раздел ссылок) - резкий скачек по ссылочной массе. Можно долго говорить о том работает ли Disavow Tool (ссылка), лагает ли отмена доменов, но я в своей работе часто использую правило “можешь попробовать подложить соломку - подложи, чтобы было не так больно падать”. Раз в год и палка стреляет. Можете взять файлик по ссылочке выше и обновить свой disavow. Можете еще сами на всякий случай проверить.

Но бороться можно с спамом вечно. В чем же кейс ребят?
Пару минут нужно потратить на то, чтобы распознать язык через Google Translate и понять, что это корейский. Далее переводчик помог понять то, что это запросы, которые связаны со “старинной профессией”. Часто black hat ребята пытаются найти сайты с открытыми get параметрами для редиректов, строят на них tier2-3 ссылки и таким образом пытаются получить вес с трастовых сайтов. Тут же мы видим просто списки запросов.

В чем же суть спама? Зачем он спамерам?
Если глянуть на список запросов, то в глаза бросится то, что внутри есть набор букв и цифр. Быстро можно догадаться, что это какой-то ID. Снова таки быстрый поиск показал на то, что это ID корейского мессенджера KakaoTalk (ссылка). После установки и проверки этой гипотезы я нашел по ID чаты с аватарками привлекательных азиаток с биографией “пиши мне 24\7 и я помогу тебе в подборе”. С таким набором знаний можно выдвинуть гипотезу, что ребята пытаются “создать” страницы на трастовых сайтах, загнать их в индекс поисковика и получить ТОПы по НЧ запросам с целью показа этого ID. В Google таких страниц уже миллионы. Они не проверяют закрыта ли страница от индекса. Потому нужно работать над закрытием возможности “создания" таких страниц. Например, запрета ввода китайских символов. И у меня еще остается только вопрос делают они это под Google или Naver.

P.S. Теперь меня можно читать и в Facebook (ссылка), а 28.02 вы можете послушать меня в clubhouse (анонс будет чуть позже).
P.P.S. Следующий пост - в субботу 27.02.
P.P.P.S. Ну и не могу не напомнить о своем онлайн курсе, который стартует уже в понедельник 01.03 (ссылочка)
Как быстро скачать выдачу Google через браузер?

#automation #chrome #extensions @productseo

В прошлых постах я уже делился двумя плагинами Google Chrome для парсинга данных (ссылка) и автоматизации действий (ссылка) и хочу закрыть эту тему последним постом о том, как скачать, например, ссылки на страницы сайта из индекса Google. Это может быть иногда полезно для того, чтобы найти технические ошибки + на основе этого поста вы научитесь парить и другие данные с других сайтов.

1. Устанавливаем Web Scraper плагин для Chrome (ссылка);
2. Идем в Google и вводим запрос используя site:, inurl:, - , и другие нужные нам операторы;
3. Можем выбрать в Settings - показ 100 результатов на странице;
4. После загрузки страницы копируем весь URL;
5. Открываем DevTools через cmd + option + I или cntrl + shift + I;
6. У вас должна была открыться вкладка Elements, а нам нужно выбрать вкладку Web Scraper;
7. Жмем Create New Sitemap и в Sitemap name пишем любое название, а в Start URL вставляем абсолютный URL (https:// google....) из пункта 4 и нажимаем создать;
8. Выбираем Add new selector;
9. Вначале нам нужно выбрать данные, которые мы хотим сохранить, а потому в Id пишем любое название, в Type выбираем Link, в Selector жмем Select и на экране выбираем title первый, потом второй и далее все остальные должны выделиться автоматически. У вас должен в поле появиться
a[data-ved][ping]
;
10. Выбираем галочку Multiple поскольку нам нужно скачать несколько объектов;
11. В Parent selector выбираем Root (позже нам нужно будет через шифт выбрать еще другой);
12. Создаем новый селектор для того, чтобы нажимать автоматически на кнопку “следующая страница”;
13. Id - pagination, Type - Link, Selector - выбираем кнопку Next Page и должно появиться
a#pnnext
, в Parent selector выбираем через шифт _root и pagination (саму себя). Это нужно для постоянного нажатия на кнопку, пока она не пропадет;
14. В списке нужно нажать на Edit возле первого селектора url и через шифт выбрать как и в 13 пункте _root и pagination;
15. Выбираем Sitemap name -> Scrape (можно будет увеличить время задержки между запросами, если будут вылазить капчи) и у вас откроется окно браузера в котором автоматически пролистаются страницы и покажутся данные, которые можно будет сохранить в csv.

Аналогично можно работать и с другими сайтами.
Кстати, почитать про мой любимый набор плагинов можно тут (ссылка).
Следующий пост будет уже весной 😂 02.03