White Autobot – czyszczenie nienaturalnych linków

White Autobot

Od kilkunastu tygodni w wielu miejscach sieci do których zaglądam, często przewijającym tematem jest wychodzenie z filtra, zdejmowanie linków, wysyłanie prośby o ponowne rozpatrzenie witryny przez Google. Trochę czułem się przez to wyobcowany, ponieważ żadna ze stron z którymi współpracuję nie ma takiego problemu. W moich Narzędziach dla Webmasterów, próżno szukać aktualnego powiadomienia o nienaturalnych linkach, szczególnie z datą 3 lipca, kiedy to sporo takich komunikatów Google wysłało. Jednak, dzięki nieoczekiwanemu doświadczeniu to się zmieniło…
Festiwal SEO 2017 Katowice
Niedawno, na zlecenie klienta, podjąłem się skatalogowania dwóch jego stron. Do tej pory takie zadanie, gdy zostało dobrze wykonane, nigdy nie sprowadziło żadnego kłopotu na stronę klienta, a wręcz odwrotnie, pozycje rosły i trzymały się stabilnie. To zamówienie miało też przed sobą do osiągnięcia pozycje dla kilku słów jakie zostały wybrane. Zamierzony cel to ok. 2000 linków dla jednej domeny. Przygotowałem listy grup katalogów, które mogły nadawać się pod to zadanie. Założyłem, że będę dodawał wyłącznie do SEOKatalogów, które na tle pozostałych rozwiązań, pozwalających dodać stronę w krótkim czasie takiej liczby linków, wyglądają jeszcze przyzwoicie. Przygotowane grupy zawierały łącznie ok. 1000 katalogów. Każda z grup była obsługiwana multikodem. Zostały przygotowane synonimizowane teksty, na podstawie których wygenerowano opisy do katalogów. Średnia długość opisu do katalogu po synonimizacji wynosiła ok. 500 znaków.

W zależności od grupy SEOKatalogów, można do opisu dodać od 0 do 3 linków wychodzących z treści, o co też się postarałem, tak aby zawsze maksymalna wartość została wykorzystana. Proces katalogowania trwał około tygodnia. Łącznie powstało ok. 900 wpisów ze średnią liczbą 2300 linków. Według mojego dotychczasowego doświadczenia, nie jest do zbyt duża liczba aby zaszkodzić w jakikolwiek sposób domenie, jednak jest już widoczna w narzędziach używanych przez Googlarzy do monitorowania stron. Cel został osiągnięty, wszystkie pozycje wskoczyły do TOP10, a obie strony, które są sklepami internetowymi, zaczęły mieć większy ruch i sprzedaż. No i przyszedł 3 lipca.

Właściwie tą datę sprawdziłem parę dni temu, wcześniej nie przywiązywałem do tego wagi. Właściciel stron otrzymał w Narzędziach dla Webmasterów dwa powiadomienia o nienaturalnych linkach prowadzących do strony, po jednym dla każdej domeny. Przez następne cztery dni, od otrzymania powiadomienia, nic się nie działo z pozycjami, dopiero po tych czterech dniach spadły po jednej pozycji dla każdej z domen. Słownie: z całej listy pozycjonowanych słów i monitorowanych przeze mnie, spadło tylko po jednym słowie dla każdej domeny. Spadły one w miejsce, z którego rozpoczynałem katalogowanie. Zaleciłem klientowi aby jeszcze odczekać trochę bo nie wiadomo czy na tym koniec.

Minął miesiąc, nic się nie zmieniło już w pozycjach, cała reszta jak się trzymała tak została. Klient jednak chciał mieć sprawy na czysto w Google, więc poprosił o przygotowanie prośby o ponowne rozpatrzenie do Google. Nie chcąc podcinać gałęzi na której siedzimy, zastanawiałem się nad zgłoszeniem linków do Disavow Tool. Ale miałem z tym pewne obawy, bowiem te katalogi były długo przeze mnie używane i nie trąciło od nich niską jakością. Był to też jeszcze czas, zanim Google zaczęło przesyłać w odpowiedzi przykłady linków, które naruszają jego wytyczne. Wymyśliłem jednak, żeby zgłosić do Disavow Tool tylko linki, które miały dokładnie anchor jak słowo, którego pozycja spadła do wyniku wyjściowego. Dla jednej i drugiej domeny zebrało się ok 25 linków w pliku Disavow Tool. Nie za dużo, ale jednak coś zostało przygotowane. Klient wysłał ze swojego panelu prośby o ponowne rozpatrzenie i dołączył przygotowane pliki z linkami.

Jakież było moje zdziwienie, gdy z jednej z domen zdjęto karę, natomiast prośba w sprawie drugiej domeny została odrzucona. Domeny są na tym samym skrypcie sklepu, posiadają podobny typ asortymenty, były tak samo katalogowane, przygotowane pliki do Disavow Tool zostały stworzone w oparciu o ten sam wzorzec, jednak ktoś w Google stwierdził, że dla jednej domeny to wystarczające, natomiast ktoś inny stwierdził, że dla drugiej domeny to zbyt mało. Za parę dni Google zaczęło przysyłać komunikaty, w których znajdowały się przykładowe linki naruszające wytyczne wyszukiwarki. Przyglądając się tym informacjom i czytając wypowiedzi różnych osób, doszedłem do wniosku, że problemem w tym przypadku mogą być linki w treści, które znajdowały się w opisie w katalogu. Podobną przyczynę zaobserwowały też inne osoby.

Doszedłem do wniosku, że aby tym razem lepiej przygotować się wysłania prośby o ponowne rozpatrzenie, trzeba się będzie pozbyć tych linków w treści. Tylko jak zrobić to w miarę sprawnie? Łącznie posiadam w raporcie 907 wpisów w SEOKatalogach dla tej domeny, której ponowna prośba o rozpatrzenie została odrzucona. Edycja wpisu w katalogu możliwa jest tylko dla zarejestrowanego użytkownika katalogu. Nie rejestrowałem się nigdy w żadnym, bo nie miałem takiej potrzeby. Na szczęście kkazuję się, że rejestrując się na adres email, który został podany przy tworzeniu wpisu, użytkownik otrzymuje dostęp do wszystkich wpisów, które zostały opublikowane pod tym adresem email.

Przystąpiłem do rejestracji w tych 907 katalogach (oczywiście automatycznej). Udało się zarejestrować konta w 426 katalogach, to mniej niż połowa, ale dobre i to. Sprawdziłem oprogramowanie, które mam, ale niestety żaden z programów nie był w stanie pobrać listy katalogów, do których udało się zarejestrować, tak aby pracować tylko na liście 426 pozycji. Widać rejestracja w SEOKatalogach ani nie jest zbyt pożądanym ani rozwiniętym zautomatyzowanym procesem. Jednak nie to spędzało mi sen z powiek. Jak teraz w miarę w przyzwoity sposób, oszczędzający czas, edytować 426 wpisów i usunąć z nich linki w treści?

Jakiś czas temu przeczytałem artykuł Mariusza Kołacza na temat botów, które automatyzują zadania. Zainteresowałem się iMacro, które można zainstalować za darmo w Firefoxie. Opracowałem już dla siebie kilka rozwiązań z iMacro, które automatyzują pracę w SEO. Zatem zacząłem się zastanawiać, czy iMacro jest w stanie wykonać co następuje:

  • zalogować się do katalogu,
  • przejść do wybranego wpisu,
  • usunąć z niego linki w treści,
  • zapisać zmiany i ponownie przesłać do katalogu.

Logowanie z iMacro nie sprawia żadnego problemu, w trybie nagrywania można przejść do formularza i wpisać użytkownika i hasło. Po zalogowaniu skrypt powinien przejść do wpisu, który ma zostać wyedytowany. Niestety tu zaczynają się schody. Każdy wpis, zwykle ma inny tytuł oraz inny numer id, pod którym znajduje się w katalogu. Jednak ten numer ID można wyłuskać z adresu URL, pod którym znajduje się wpis.

Przetworzyłem listę 907 adresów URL w ten sposób, aby powstał plik CSV czytelny dla iMacro, który w jednym wierszu zawierał adres URL oraz numer ID oddzielone przecinkiem. Tutaj trzeba uważać, bowiem często przecinek jest też składową adresu URL, dlatego należy skorzystać ze znaków cudzysłowia, przygotowując zawartość CSV. Tak przygotowany plik jest wczytywany na początku skryptu i służy jako pętla z danymi. Skrypt najpierw otwiera adres z wpisem w katalogu, potem przechodzi do formularza logowania, a po zalogowaniu przechodzi do edycji wpisu, korzystając z nr ID, który jest dostarczony w drugiej kolumnie w pliku CSV.

Kilkukrotnie próbowałem wyedytować wpis, tylko usuwając z niego fragmenty z linkami wewnętrznymi. Niestety wyrażenia regularne to nie jest mocna strona iMacro. Po kilku dniach, olśniło mnie, że będzie się trzeba pozbyć całej treści wpisu i po prostu wstawić w to miejsce nową treść. Generowanie nowego opisu wymaga posiadania narzędzia, które jest w stanie przetworzyć wejściowy tekst synonimizowany i w locie wkopiować go do formularza w katalogu. Prosty skrypt w PHP, uruchamiany lokalnie na komputerze, na którym pracuje Firefox z iMacro potrafi zsynonimizować tekst i przygotować go do wstawienia do opisu. Oczywiście potrzebny jest do tego lokalny serwer, w moim przypadku jest to niezawodny XAMPP.

Po kilku testach i dopieszczeniu działania skryptu, wypuściłem go na całą listę. Edycja trwała jakieś 3 godziny i 15 minut. Czas ten z pewnością byłby dłuższy, gdyby nie to, że wyłączyłem ładowanie wszelkich grafik w Firefoksie w tym monecie. Do wersji Firefox 23 można było sobie wyłączyć ładowanie obrazków z poszczególnych domen, i tam, miałem wyłączone ładowanie z serwerów miniatur obsługiwanych przez SEOKatalog, jednak od wersji 23 ta opcja została wycofana. Udało się znaleźć regułę w konfiguracji przeglądarki (strona about:config), która wyłącza całkowite ładowanie obrazków. Skrypt zmienił we wszystkich 426 miejscach, do których udało mu się zalogować, opisy z linkami w treści na opisy bez linków. 330 z nich aktywowało się od razu. Wynikało to z ustawień multikodu. Na pozostałe będzie trzeba poczekać aż moderator ponownie zweryfikuje wpis.

Poza analizą zostawiam obecnie zasadność korzystania z tak dużej liczby SEOKatalogów. Warto tylko zauważyć, że Kaspar, już jako ex-googler wypowiedział się, że SEOKatalogi to śmieci. Sporej części na pewno można już dopasować to określenie, jednak jest jeszcze kilka SEOKatalogów, w których warto dodawać wpisy, tylko należy pamiętać, aby nie umieszczać optymalizowanych linków w treści. Wkrótce się okaże, czy moje rozumowanie było zasadne.

Niniejszym artykułem, mam zamiar rozpocząć cykl, w którym będę opisywał, jak za pomocą automatycznych narzędzi, wykonywać różne działania spod znaku białego kapelusza. White Autobot, tak nazwałem chodzące makra w Firefoksie, wróci w następnym odcinku i pokaże co jeszcze jest w stanie wykonać.

Poniżej można zapoznać się z kodem do iMacro, natomiast skrypt PHP do synonimizacji treści umieszczam tylko do wglądu dla czytelników.

Kod do iMacro w wersji ostatecznej wygląda następująco:

 VERSION BUILD=7401110 RECORDER=FX

SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
SET !EXTRACT_TEST_POPUP NO
SET !TIMEOUT_STEP 0
SET !LOADCHECK YES

CMDLINE !DATASOURCE linkiremove.csv
SET !DATASOURCE_COLUMNS 2
SET !DATASOURCE_LINE {{!LOOP}}

TAB T=1
'Login do SEOKatalogu
URL GOTO={{!COL1}}
TAG POS=1 TYPE=A ATTR=TXT:Mój<SP>panel
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:nick CONTENT=login
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:NoFormName ATTR=NAME:pass CONTENT=password
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=NAME:login

WAIT SECONDS=1

'Przejście do wpisu
ADD !EXTRACT {{!URLCURRENT}}
URL GOTO={{!EXTRACT}}?action=site&id={{!COL2}}

'Spin.php
TAB OPEN
TAB T=2
URL GOTO=http://localhost/spin.php
SET !EXTRACT NULL
TAG POS=1 TYPE=TEXTAREA FORM=ACTION:spin.php ATTR=ID:content EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAB CLOSE

'SEOKatalog dodaj
TAB T=1
TAG POS=1 TYPE=TEXTAREA FORM=NAME:mod_site_2 ATTR=NAME:description CONTENT={{!VAR1}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:mod_site_2 ATTR=NAME:mod_site_2

WAIT SECONDS=1
URL GOTO={{!COL1}}
WAIT SECONDS=1 

Kod pliku PHP wygląda następująco:

The following two tabs change content below.

Artur Strzelecki

Niezależny specjalista SEM, który upowszechnia wiedzę o marketingu w wyszukiwarkach internetowych. W wolnych chwilach doradza dużym i małym klientom.