SEO:Disavow для сайта с помощью Python

SEO:Disavow для сайта с помощью Python

Создание и обновление файла disavow — это занятие, которое обычно является скучным и занимает довольно много времени, но, к сожалению, его необходимо выполнять, поскольку отсутствие контроля за ссылками и несвоевременное отклонение некоторых спам-ссылок может повлиять на ранжирование вашего сайта. Даже если считать, что Google значительно продвинулся в обнаружении этих спам-ссылок и не учитывает их, такое может быть, но это не может распространяться на все ссылки 100%, и по этой причине отклонение спамных ссылок по-прежнему важно.

В сегодняшнем посте я покажу вам, как можно очень легко частично автоматизировать создание файла disavow с помощью Semrush и Python.

Извлечение ссылок и их оценка на токсичность с помощью Semrush

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

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

SEO:Disavow для сайта с помощью Python

После проведения аудита на вкладке «Аудит» у нас будет доступ к каждой ссылке, сгруппированной по доменам и с их оценками токсичности.

SEO:Disavow для сайта с помощью Python

Делаем экспорт этого отчета в файл Excel, чтобы начать работать с ним с помощью Python и создать наш файл.

Выбор токсичных ссылок

Сначала мы импортируем файл Excel с помощью Pandas и преобразуем фрейм данных в список. Этот список будет содержать список для каждой обратной ссылки, в котором будет четыре метрики: URL, анкор, рейтинг и оценка токсичности.

import pandas as pd semrush_read = pd.read_excel ('file_from_semrush.xlsx') list_df = semrush_read.values.tolist()

После этого начинаем перебор списка и разедение URL-адресов обратных ссылок, чтобы изолировать домен от остальной части URL-адреса, так как отклонение будет полностью всего домена. В конце цикла добавим в список переменную домена. Как вы можете видеть ниже, для разделения URL-адреса будем использовать библиотеку tldextract.

from tldextract import extract for x in list_df: tsd, td, tsu = extract(x[0]) domain = td + "." + tsu x.append(domain)

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

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

threshold = 60 list_disavow = [] for x in list_df: if x[3] > threshold: list_disavow.append(x[4])

Кроме того, просматривая доменные имена, которые ссылаются на наше доменное имя, нужно обратить внимание, на домены из доменных зон исходящих из подкаталогов спама, и даже если их оценка токсичности ниже 60, их также стоит добавить в файл disavow.

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

for x in list_df: if ".pw" in x[4]: list_disavow.append(x[4]) list_disavow = list(dict.fromkeys(list_disavow))

На примере выше были взяты доменные имена с доменной зоной “pw”.

И теперь, когда мы собрали доменные имена, которые мы хотели бы отклонить, создаем файл отклонения:

f= open("disavow_file.txt","w+") for x in list_disavow: f.write("domain:" + x + "\n") f.close()

В результате, получим файл с отклоненными доменными именами. Данный код подойдет больше для работы с пачкой сайтов, которые имеют не одну сотню ссылок. И не подойдет категорически для одного домена.

Начать дискуссию