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…
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:
Jak bardzo różnicowałeś anchory linków w treści opisów? Czysty target czy jakieś zróżnicowanie? Ile różnych URLi było w sumie linkowanych z opisu?
popieram pomysł na serię – sam myślę o tym żeby wreszcie przekonać się do tej wtyczki. Raz w partacki sposób (ale skuteczny!) udało mi się zaprogramować tak iMacros że otwierał po kolei maile w interfejsie gmaila i potwierdzał dodanie do katalogu kliknięciem w link… miło się patrzyło ale teraz to kompletnie nieprzydatne 😛
Różnicowanie na poziomie 2/3 odmiany na jeden link. Dodatkowo, w każdym opisie były to inne linki i inne acnchory. Ale to już bez znaczenia, linków w treści z optymalizowanymi anchorami mieć nie wolno i basta.
jeśli nie zoptymalizowany to jaki? partial match, LSI i spółka?
W Imacros można nawet całkowicie zautomatyzować katalogowanie, preclowanie, rejestracje, czy komentarze które wymagają podania kodu captcha, do łamania captchy serwisy typu decaptcher, można też skorzystać z lokalnego OCRa np. Captcha sniper, także iMacrosem można wiele zrobić. Co do wyrażeń regularnych, da się załączając regex w kodzie JS, alternatywnie można użyć polecenia search ale z nim różnie jest, lepiej już obejść problem. Mozna przecież w pliku CSV przygotować wygenerowane opisy, pobrać i tylko podstawić.
Jeszcze co do zapuszczania skryptu, żeby go przyśpieszyć możesz użyć dodatków blokujących JS np. Facebooka, Google i inne wyciąć, wtedy strona o wiele szybciej ładuje się, nie trzeba martwić się już o kwestię niewystarczającego timeoutu.
Dzięki za sugestie, przyjrzę się wkrótce pracy iMacro z Captcha Sniperem, chyba że masz jakieś ciekawe przykłady. JS bym tak nie wyłączał od razu, w tym skrypcie tak, ale mam jedno makro, które dlatego chodzi w FF, ponieważ JS jest potrzebny do załadowania pewnych informacji.
Z możliwości iMacro korzystałem już wcześniej, ale skrypt na pewno będzie przydatny 🙂
..bardzo przydatny art.! dużo pracy! nie stricte do katalogowania jak dla mnie, ale zastosowanie szerokie i jeszcze na dobrym przykładzie!! 🙂
„Założyłem, że będę dodawał wyłącznie do SEOKatalogów” – bój się Boga… gdzie Ty byłeś przez ostatnie 2 lata?
Napisałeś „doszedłem do wniosku, że problemem w tym przypadku mogą być linki w treści”.
Z tego co pamiętam to z jednego wpisu wychodzą powiedzmy 4-5 linków.
1. Nagłówek
2.3.4. Treść
5. URL pod treścią
Które niby zaszkodziły? 2.3.4? a umieszczony jako 1. nie?
Dodatkowe pytanie czy h1 w tym przypadku był jedną z fraz które chciałeś wybić?
Przykłady integracji (rozpoznawanie captcha) można znaleźć na zagranicznych forach BHS, testowałem CS do współpracy z jednym portalem (chodziło o rejestracje, czyli automatyczne zakładanie kont na portalu, następnie logowanie i głosowanie, skrypt do potwierdzania autentyczności kont był oddzielny). Wtedy użyłem testowo CSa do łamania zabezpieczeń captcha ale soft nie sprawdził się. Z tego co sie później dowiedziałem proste captche rozpoznaje dobrze, a te bardziej skomplikowane to już dla niego za wysokie progi. To co w sieci piszą o CS to przesada, jego skuteczność jest zawyżona.
Wychodzi na to, że automaty mogą pójść w siną dal a ręczne zdobywanie linków czymś nagradzanym przez Google.
@kolec Wyleciały linki 2,3,4 bo te są jasno przez Google oznaczone jako niewłaściwe, pozostałe linki sa OK. H1 to chyba zależy od szablonu
@krzysiek ironicznie, 2 lata temu byłem tam gdzie Ty jesteś teraz
Dla mnie jest to dziwne. Sami w 2008 sugerowali aby tak robić, a teraz puszczają automat, który ma ocenić czy rzeczywiście jest to naturalne czy też sztuczne. Dla mnie prędzej link wychodzący z h1 jest sztucznym optymalizowaniem. Kwestia jeszcze ukrywania linków. Te anchory 2.3.4 miały całkowicie inny kolor niż treść? wiem, że to śmieszne, ale na to też zwracali uwagę, że ludzie mają widzieć, że tam jest link. Inaczej mogą to traktować jako bhs ;>
Można wiedzieć jak wyglądały tytuły wpisów? Czy były to zwykłe anchory na frazę pozycjonowaną, czy jakieś jej odpowiedniki?
Tytuły wpisów były bardzo zdywersyfikowane. Na ok 10-12 pozycjonowanych słów, w tytułach znalazło się ponad 30 wariantów i innych słów.
Wyobrażacie sobie, jak wyglądałby ten artykuł, gdyby Autor – w myśl wytycznych Google pominął w linki w treści? O_o
Ja w swoich artykułach bardzo lubię dawać linki w treści – wszędzie tam, gdzie jest to istotne dla zilustrowania, podania źródła czy czegokolwiek innego cennego dla samej opowieści (artykułu). Część linków w artykule jest linkami wewnętrznymi; Nic bardziej oczywistego, niż linkowanie z własnego tekstu do innych własnych tekstów poruszających temat. jednak na którymś z blogów SEO ktoś donosił, że dostał taki link jako informacją o przykładowych linkach naruszających wytyczne. Do czego to zmierza? Teraz będziemy w nawiasach obok istotnej frazy (wyGooglaj sobie, bo warto przeczytać)?
Google w disallow tool zostały usunięte czy nadal czekasz?
Zastanawiam się, jaki był sens dodawania linków w treści? Seoki mają tak mizerną moc, że rozbijanie wpisu na x – linków jest bezsensowne. To jak dzielić przez 3 liczbę bliską zeru. A epoka anchorów przeminęła już dawno. Katalogów i precli również.
Ja co prawda robię to Zennoposterem, nie iMacro, ale mam pytanko. Po zalogowaniu się do SEOkatalogu w którym dokładnie miejscu mam podać id wpisu, który chce edytować. U mnie na większości kont po zalogowaniu nie widzi żadnego wpisu w zakładce „Moje wpisy”. Jest jaka struktura adresu url, w której się id umieszcza? Na samej stronie wpisu po zalogowaniu również nie widzę możliwości edycji…:/
Pozdrawiam