Yandex zbiera Google i inne informacje dotyczące SEO z wycieku kodu źródłowego
Opublikowany: 2023-01-31„Fragmenty” bazy kodu Yandex wyciekły do sieci w zeszłym tygodniu. Podobnie jak Google, Yandex jest platformą z wieloma aspektami, takimi jak poczta e-mail, mapy, usługi taksówkarskie itp. Wyciek kodu zawierał fragmenty tego wszystkiego.
Zgodnie z zawartą w niej dokumentacją baza kodów Yandex została złożona w jedno duże repozytorium o nazwie Arcadia w 2013 roku. Baza kodów, która wyciekła, jest podzbiorem wszystkich projektów w Arkadii i znajdujemy w niej kilka komponentów związanych z wyszukiwarką w „Kernelu”, „Bibliotece” ”, „Robot”, „Search” i „ExtSearch”.
Posunięcie to jest całkowicie bezprecedensowe. Od czasu wyszukiwania danych AOL z 2006 roku coś tak istotnego związanego z wyszukiwarką internetową nie weszło do domeny publicznej.
Chociaż brakuje nam danych i wielu plików, do których się odwołujemy, jest to pierwszy przykład namacalnego spojrzenia na to, jak współczesna wyszukiwarka działa na poziomie kodu.
Osobiście nie mogę się nadziwić, jak fantastyczne jest wyczucie czasu, aby móc rzeczywiście zobaczyć kod, gdy kończę swoją książkę „Nauka o SEO”, w której mówię o wyszukiwaniu informacji, o tym, jak faktycznie działają nowoczesne wyszukiwarki i jak samemu zbudować prosty.
W każdym razie analizowałem kod od zeszłego czwartku i każdy inżynier powie ci, że to za mało czasu, aby zrozumieć, jak to wszystko działa. Więc podejrzewam, że będzie jeszcze kilka postów, ponieważ wciąż majstruję.
Zanim przejdziemy do działania, chcę pozdrowić Bena Willsa z Ontolo za udostępnienie mi kodu, wskazanie mi początkowego kierunku, w którym znajdują się dobre rzeczy, oraz chodzenie ze mną tam iz powrotem podczas rozszyfrowywania rzeczy. Zachęcamy do pobrania arkusza kalkulacyjnego ze wszystkimi zebranymi przez nas danymi na temat czynników rankingowych.
Dziękuję również Ryanowi Jonesowi za zagłębienie się w temat i podzielenie się ze mną niektórymi kluczowymi ustaleniami przez komunikator internetowy.
OK, zajmijmy się!
To nie jest kod Google, więc co nas to obchodzi?
Niektórzy uważają, że przeglądanie tej bazy kodu rozprasza uwagę i że nie ma nic, co mogłoby wpłynąć na sposób podejmowania decyzji biznesowych. Uważam to za ciekawe, biorąc pod uwagę, że są to ludzie z tej samej społeczności SEO, która przez wiele lat używała modelu CTR z danych AOL z 2006 roku jako standardu branżowego do modelowania w dowolnej wyszukiwarce.
To powiedziawszy, Yandex to nie Google. Jednak te dwie są najnowocześniejszymi wyszukiwarkami internetowymi, które nadal pozostają w czołówce technologii.

Inżynierowie oprogramowania z obu firm uczestniczą w tych samych konferencjach (SIGIR, ECIR itp.) i dzielą się odkryciami i innowacjami w zakresie wyszukiwania informacji, przetwarzania i rozumienia języka naturalnego oraz uczenia maszynowego. Yandex jest również obecny w Palo Alto, a Google wcześniej w Moskwie.
Szybkie wyszukiwanie na LinkedIn pozwala odkryć kilkuset inżynierów, którzy pracowali w obu firmach, chociaż nie wiemy, ilu z nich faktycznie pracowało w wyszukiwarce w obu firmach.
W bardziej bezpośrednim nakładaniu się Yandex wykorzystuje również technologie open source Google, które były kluczowe dla innowacji w wyszukiwarce, takie jak TensorFlow, BERT, MapReduce i, w znacznie mniejszym stopniu, bufory protokołów.
Tak więc, chociaż Yandex z pewnością nie jest Google, nie jest to również przypadkowy projekt badawczy, o którym tutaj mówimy. Przeglądając tę bazę kodów, możemy się wiele dowiedzieć o tym, jak zbudowana jest nowoczesna wyszukiwarka.
Przynajmniej możemy pozbyć się pewnych przestarzałych pojęć, które wciąż przenikają narzędzia SEO, takich jak stosunek tekstu do kodu i zgodność z W3C lub ogólne przekonanie, że 200 sygnałów Google to po prostu 200 pojedynczych funkcji na stronie i poza nią, a nie klasy czynniki złożone, które potencjalnie wykorzystują tysiące indywidualnych miar.
Pewien kontekst dotyczący architektury Yandex
Bez kontekstu lub możliwości pomyślnego skompilowania, uruchomienia i przejścia przez niego kod źródłowy jest bardzo trudny do zrozumienia.
Zazwyczaj nowi inżynierowie otrzymują dokumentację, instrukcje i angażują się w programowanie w parach, aby uzyskać dostęp do istniejącej bazy kodu. Ponadto w archiwum dokumentów znajduje się ograniczona dokumentacja wdrożeniowa związana z konfiguracją procesu kompilacji. Jednak kod Yandex odwołuje się również do wewnętrznych wiki, ale te nie wyciekły, a komentarze w kodzie są również dość rzadkie.
Na szczęście Yandex daje pewien wgląd w swoją architekturę w swojej publicznej dokumentacji. Istnieje również kilka patentów, które opublikowali w USA, które pomagają rzucić nieco światła. Mianowicie:
- Zaimplementowany komputerowo sposób i system do przeszukiwania odwróconego indeksu mającego wiele list wysyłania
- Ranking wyników wyszukiwania
Szukając informacji o Google do mojej książki, znacznie głębiej zrozumiałem strukturę jego systemów rankingowych dzięki różnym dokumentom, patentom i rozmowom inżynierów opartym na moim doświadczeniu w zakresie SEO. Spędziłem również dużo czasu na doskonaleniu moich ogólnych najlepszych praktyk wyszukiwania informacji w wyszukiwarkach internetowych. Nic dziwnego, że rzeczywiście istnieją pewne najlepsze praktyki i podobieństwa z Yandex.

Dokumentacja Yandex omawia podwójnie rozproszony system gąsienicowy. Jeden do indeksowania w czasie rzeczywistym, zwany „Pomarańczowym robotem”, a drugi do ogólnego indeksowania.
Historycznie mówi się, że Google miał indeks podzielony na trzy segmenty, jeden do indeksowania w czasie rzeczywistym, jeden do regularnego indeksowania i jeden do rzadkiego indeksowania. Takie podejście jest uważane za najlepszą praktykę w IR.
Yandex i Google różnią się pod tym względem, ale ogólna koncepcja indeksowania segmentowego oparta na zrozumieniu częstotliwości aktualizacji jest aktualna.
Warto zwrócić uwagę na to, że Yandex nie ma osobnego systemu renderowania dla JavaScript. Mówią o tym w swojej dokumentacji i chociaż mają oparty na Webdriverze system do testów regresji wizualnej o nazwie Gemini, ograniczają się do indeksowania tekstowego.

Dokumentacja omawia również podzieloną na fragmenty strukturę bazy danych, która dzieli strony na odwrócony indeks i serwer dokumentów.
Podobnie jak większość innych wyszukiwarek internetowych, proces indeksowania tworzy słownik, zapisuje strony w pamięci podręcznej, a następnie umieszcza dane w odwróconym indeksie, tak aby reprezentowane były bigramy i trygamaty oraz ich rozmieszczenie w dokumencie.
Różni się to od Google tym, że przeszli na indeksowanie oparte na frazach, co oznacza n-gramy, które mogą być znacznie dłuższe niż trygramy dawno temu.
Jednak system Yandex również wykorzystuje BERT w swoim potoku, więc w pewnym momencie dokumenty i zapytania są konwertowane na osadzenie, a techniki wyszukiwania najbliższego sąsiada są stosowane do ustalania rankingu.

Proces rankingowy to miejsce, w którym sprawy stają się bardziej interesujące.
Yandex ma warstwę o nazwie Metasearch , w której przechowywane w pamięci podręcznej popularne wyniki wyszukiwania są wyświetlane po przetworzeniu zapytania. Jeśli wyników tam nie ma, zapytanie jest wysyłane jednocześnie do serii tysięcy różnych maszyn w warstwie wyszukiwania podstawowego . Każdy tworzy listę ogłoszeń odpowiednich dokumentów, a następnie zwraca ją do MatrixNet, aplikacji sieci neuronowej Yandex w celu zmiany rankingu, aby zbudować SERP.
Na podstawie filmów, w których inżynierowie Google rozmawiali o infrastrukturze wyszukiwarki, ten proces rankingowy jest dość podobny do wyszukiwarki Google. Mówią o technologii Google we współdzielonych środowiskach, w których różne aplikacje znajdują się na każdej maszynie, a zadania są rozdzielane na te maszyny w zależności od dostępności mocy obliczeniowej.
Jednym z przypadków użycia jest właśnie to, dystrybucja zapytań do asortymentu maszyn w celu szybkiego przetworzenia odpowiednich fragmentów indeksu. Obliczanie list delegowania to pierwsze miejsce, w którym musimy wziąć pod uwagę czynniki rankingowe.
W bazie kodu znajduje się 17 854 czynników rankingowych
W piątek po wycieku niezrównany Martin MacDonald chętnie udostępnił plik z bazy kodów o nazwie web_factors_info/factors_gen.in. Plik pochodzi z archiwum „Kernel” w wycieku bazy kodu i zawiera 1922 czynniki rankingowe.
Oczywiście społeczność SEO korzystała z tego numeru i tego pliku, aby chętnie rozpowszechniać informacje o zawartych w nich spostrzeżeniach. Wiele osób przetłumaczyło opisy i zbudowało narzędzia lub Arkusze Google i ChatGPT, aby nadać sens danym. Wszystkie z nich są wspaniałymi przykładami siły społeczności. Jednak 1922 reprezentuje tylko jeden z wielu zestawów czynników rankingowych w bazie kodu.

Głębsze zanurzenie się w bazie kodu ujawnia, że istnieje wiele plików czynników rankingowych dla różnych podzbiorów systemów przetwarzania zapytań i rankingów Yandex.
Przeczesując je, okazuje się, że w rzeczywistości istnieje łącznie 17 854 czynników rankingowych. Czynniki rankingu obejmują różne wskaźniki związane z:
- Kliknięcia.
- Czas oczekiwania.
- Wykorzystanie odpowiednika Yandex w Google Analytics, Metrika.

Istnieje również seria notatników Jupyter, które mają dodatkowe 2000 czynników poza tymi w kodzie podstawowym. Przypuszczalnie te notebooki Jupyter reprezentują testy, w których inżynierowie rozważają dodanie dodatkowych czynników do bazy kodu. Ponownie możesz przejrzeć wszystkie te funkcje z metadanymi, które zebraliśmy z całej bazy kodów pod tym linkiem.

Dokumentacja Yandex dodatkowo wyjaśnia, że mają one trzy klasy czynników rankingowych: statyczne, dynamiczne i związane konkretnie z wyszukiwaniem użytkownika i sposobem jego przeprowadzenia. Własnymi słowami:

W bazie kodu są one wskazane w plikach współczynników rang z tagami TG_STATIC i TG_DYNAMIC. Czynniki związane z wyszukiwaniem mają wiele tagów, takich jak TG_QUERY_ONLY, TG_QUERY, TG_USER_SEARCH i TG_USER_SEARCH_ONLY.
Chociaż odkryliśmy potencjalne 18 000 czynników rankingowych do wyboru, dokumentacja związana z MatrixNet wskazuje, że ocena jest zbudowana z dziesiątek tysięcy czynników i dostosowywana na podstawie zapytania wyszukiwania.

Wskazuje to, że środowisko rankingowe jest bardzo dynamiczne, podobnie jak środowisko Google. Zgodnie z patentem Google „Framework for Evaluating scoring functions”, od dawna mają coś podobnego, w którym uruchamianych jest wiele funkcji i zwracany jest najlepszy zestaw wyników.
Wreszcie, biorąc pod uwagę, że dokumentacja odwołuje się do dziesiątek tysięcy czynników rankingowych, powinniśmy również pamiętać, że istnieje wiele innych plików, do których odwołuje się kod, których brakuje w archiwum. Tak więc prawdopodobnie dzieje się więcej, czego nie jesteśmy w stanie zobaczyć. Można to dodatkowo zilustrować, przeglądając obrazy w dokumentacji dołączania, która pokazuje inne katalogi, których nie ma w archiwum.

Na przykład podejrzewam, że w katalogu /semantic-search/ jest więcej informacji związanych z DSSM.
Początkowa waga czynników rankingowych
Najpierw działałem przy założeniu, że baza kodu nie ma żadnych wag dla czynników rankingowych. Następnie byłem zszokowany, gdy zobaczyłem, że plik nav_linear.h w katalogu /search/relevance/ zawiera początkowe współczynniki (lub wagi) związane z czynnikami rankingu na pełnym ekranie.
W tej części kodu wyróżniono 257 z ponad 17 000 czynników rankingowych, które zidentyfikowaliśmy. ( Ukłon w stronę Ryana Jonesa za wyciągnięcie ich i zestawienie z opisami czynników rankingowych).
Dla jasności, kiedy myślisz o algorytmie wyszukiwarki, prawdopodobnie myślisz o długim i złożonym równaniu matematycznym, według którego każda strona jest oceniana na podstawie szeregu czynników. Chociaż jest to nadmierne uproszczenie, poniższy zrzut ekranu jest fragmentem takiego równania. Współczynniki reprezentują, jak ważny jest każdy czynnik, a wynikowy obliczony wynik jest tym, co zostanie użyte do oceny trafności stron selektora.

Zakodowanie tych wartości sugeruje, że z pewnością nie jest to jedyne miejsce, w którym odbywa się ranking. Zamiast tego ta funkcja jest najprawdopodobniej stosowana tam, gdzie przeprowadzana jest początkowa ocena istotności w celu wygenerowania serii list publikowania dla każdego fragmentu, który jest brany pod uwagę w rankingu. W pierwszym patencie wymienionym powyżej mówią o tym jako o koncepcji istotności niezależnej od zapytania (QIR), która następnie ogranicza dokumenty przed ich przejrzeniem pod kątem istotności specyficznej dla zapytania (QSR).
Powstałe listy wysyłane są następnie przekazywane do MatrixNet wraz z funkcjami zapytań do porównania. Więc chociaż nie znamy (jeszcze) szczegółów operacji podrzędnych, warto zrozumieć te wagi, ponieważ informują one o wymaganiach dotyczących strony, która kwalifikuje się do zestawu rozważań.
Rodzi to jednak kolejne pytanie: co wiemy o MatrixNet?
W archiwum jądra znajduje się neuronowy kod rankingowy i liczne odniesienia do MatrixNet i „mxnet”, a także wiele odniesień do Deep Structured Semantic Models (DSSM) w całej bazie kodu.
Opis jednego z czynników rankingowych FI_MATRIXNET wskazuje, że MatrixNet jest stosowany do wszystkich czynników.
Czynnik {
Indeks: 160
CppName: „FI_MATRIXNET”
Nazwa: „MatrixNet”
Znaczniki: [TG_DOC, TG_DYNAMIC, TG_TRANS, TG_NOT_01, TG_REARR_USE, TG_L3_MODEL_VALUE, TG_FRESHNESS_FROZEN_POOL]
Opis: „MatrixNet jest stosowany do wszystkich czynników – formuła”
}
Istnieje również kilka plików binarnych, które mogą być wstępnie wytrenowanymi modelami, ale rozwikłanie tych aspektów kodu zajmie mi więcej czasu.
Od razu widać, że istnieje wiele poziomów rankingu (L1, L2, L3) i istnieje asortyment modeli rankingowych, które można wybrać na każdym poziomie.

Plik selection_rankings_model.cpp sugeruje, że różne modele rankingu mogą być brane pod uwagę na każdej warstwie w całym procesie. Tak w zasadzie działają sieci neuronowe. Każdy poziom jest aspektem, który kończy operacje, a ich połączone obliczenia dają ponownie uszeregowaną listę dokumentów, która ostatecznie pojawia się jako SERP. Będę kontynuował głębokie nurkowanie w MatrixNet, gdy będę miał więcej czasu. Dla tych, którzy potrzebują podglądu, sprawdź patent na ranking wyników wyszukiwania.
Na razie przyjrzyjmy się kilku interesującym czynnikom rankingowym.
Top 5 negatywnych ważonych początkowych czynników rankingowych
Poniżej znajduje się lista czynników rankingu początkowego o najwyższej ujemnej wadze wraz z ich wagami oraz krótkie wyjaśnienie oparte na ich opisach przetłumaczonych z języka rosyjskiego.

- FI_ADV: -0.2509284637 -Ten czynnik określa, czy na stronie znajdują się jakiekolwiek reklamy i nakłada najcięższą ważoną karę za pojedynczy czynnik rankingowy.
- FI_DATER_AGE: -0.2074373667 – Ten współczynnik jest różnicą między bieżącą datą a datą dokumentu określoną przez funkcję daty. Wartość wynosi 1, jeśli data dokumentu jest taka sama jak dzisiejsza, 0, jeśli dokument ma 10 lat lub więcej lub jeśli data nie jest zdefiniowana. Oznacza to, że Yandex preferuje starsze treści.
- FI_QURL_STAT_POWER: -0.1943768768 – Ten czynnik to liczba wyświetleń adresu URL w odniesieniu do zapytania. Wygląda na to, że chcą zdegradować adres URL, który pojawia się w wielu wyszukiwaniach, aby promować różnorodność wyników.
- FI_COMM_LINKS_SEO_HOSTS: -0.1809636391 – Ten współczynnik to odsetek linków przychodzących z „komercyjnym” tekstem zakotwiczenia. Współczynnik powraca do 0,1, jeśli odsetek takich linków przekracza 50%, w przeciwnym razie jest ustawiony na 0.
- FI_GEO_CITY_URL_REGION_COUNTRY: -0.168645758 – Ten czynnik to zbieżność geograficzna dokumentu i kraju, z którego przeprowadzał wyszukiwanie. To nie ma sensu, jeśli 1 oznacza, że dokument i kraj są zgodne.
Podsumowując, czynniki te wskazują, że aby uzyskać najlepszy wynik, należy:
- Unikaj reklam.
- Aktualizuj starszą treść zamiast tworzyć nowe strony.
- Upewnij się, że większość linków ma markowy tekst kotwicy.
Wszystko inne na tej liście jest poza twoją kontrolą.
Top 5 pozytywnie ważonych początkowych czynników rankingowych
Aby kontynuować, oto lista najwyżej ważonych pozytywnych czynników rankingowych.
- FI_URL_DOMAIN_FRACTION: +0,5640952971 – Ten czynnik polega na dziwnym maskowaniu nakładania się zapytania na domenę adresu URL. Podany przykład to loteria w Czelabińsku, w skrócie chelloto. Aby obliczyć tę wartość, Yandex znajduje zakryte trzyliterowe litery (che, hel, lot, olo), sprawdza, jaka część wszystkich trzyliterowych kombinacji znajduje się w nazwie domeny.
- FI_QUERY_DOWNER_CLICKS_COMBO: +0.3690780393 – Opis tego czynnika jest taki, że jest to „sprytne połączenie FRC i pseudo-CTR”. Nie ma natychmiastowego wskazania, czym jest FRC.
- FI_MAX_WORD_HOST_CLICKS: +0.3451158835 – Ten czynnik to klikalność najważniejszego słowa w domenie. Na przykład dla wszystkich zapytań, w których występuje słowo „wikipedia”, kliknij strony wikipedii.
- FI_MAX_WORD_HOST_YABAR: +0.3154394573 – Opis czynnika mówi „najbardziej charakterystyczne słowo zapytania odpowiadające witrynie, zgodnie z paskiem”. Zakładam, że oznacza to słowo kluczowe najczęściej wyszukiwane w pasku narzędzi Yandex powiązanym z witryną.
- FI_IS_COM: +0.2762504972 – Czynnikiem jest to, że domena to .COM.
Innymi słowy:
- Graj w gry słowne ze swoją domeną.
- Upewnij się, że to kropka.
- Zachęć ludzi do wyszukiwania docelowych słów kluczowych w Yandex Bar.
- Nie przestawaj zwiększać liczby kliknięć.
Istnieje wiele nieoczekiwanych początkowych czynników rankingowych
Co bardziej interesujące w początkowym ważonym rankingu, są czynniki nieoczekiwane. Poniżej znajduje się lista siedemnastu czynników, które się wyróżniały.
- FI_PAGE_RANK: +0,1828678331 – PageRank to 17. najwyższy ważony czynnik w Yandex. Wcześniej całkowicie usunęli linki ze swojego systemu rankingowego, więc nie jest zbyt szokujące, jak nisko jest na liście.
- FI_SPAM_KARMA: +0.00842682963 – Karma spamu nosi nazwę „antyspamerów” i jest prawdopodobieństwem, że host jest spamem; na podstawie informacji Whois
- FI_SUBQUERY_THEME_MATCH_A: +0,1786465163 – Jak bardzo zapytanie i dokument pasują tematycznie. Jest to 19. najwyższy ważony czynnik.
- FI_REG_HOST_RANK: +0,1567124399 – Yandex ma współczynnik rankingu hosta (lub domeny).
- FI_URL_LINK_PERCENT: +0,08940421124 – Stosunek linków, których tekst kotwicy jest adresem URL (a nie tekstem) do całkowitej liczby linków.
- FI_PAGE_RANK_UKR: +0.08712279101 – Istnieje określony ukraiński PageRank
- FI_IS_NOT_RU: +0.08128946612 – To pozytywna rzecz, jeśli domena nie jest .RU. Najwyraźniej rosyjska wyszukiwarka nie ufa rosyjskim witrynom.
- FI_YABAR_HOST_AVG_TIME2: +0,07417219313 – To średni czas przebywania podany przez YandexBar
- FI_LERF_LR_LOG_RELEV: +0.06059448504 – Jest to trafność łącza oparta na jakości każdego łącza
- FI_NUM_SLASHES: +0.05057609417 – Liczba ukośników w adresie URL jest czynnikiem rankingowym.
- FI_ADV_PRONOUNS_PORTION: -0.001250755075 – Proporcja rzeczowników zaimkowych na stronie.
- FI_TEXT_HEAD_SYN: -0.01291908335 – Obecność słów [zapytanie] w nagłówku z uwzględnieniem synonimów
- FI_PERCENT_FREQ_WORDS: -0.02021022114 – Procent liczby słów, które są 200 najczęstszymi słowami języka, od liczby wszystkich słów w tekście.
- FI_YANDEX_ADV: -0.09426121965 – Konkretyzując niechęć do reklam, Yandex nakłada kary na strony z reklamami Yandex.
- FI_AURA_DOC_LOG_SHARED: -0.09768630485 – Logarytm liczby gontów (obszarów tekstu) w dokumencie, które nie są unikalne.
- FI_AURA_DOC_LOG_AUTHOR: -0.09727752961 – Logarytm liczby gontów, na których ten właściciel dokumentu jest rozpoznawany jako autor.
- FI_CLASSIF_IS_SHOP: -0.1339319854 – Najwyraźniej Yandex da ci mniej miłości, jeśli twoja strona jest sklepem.
Podstawowym wnioskiem wynikającym z przeglądu tych dziwnych czynników rankingowych i szeregu czynników dostępnych w bazie kodu Yandex jest to, że istnieje wiele rzeczy, które mogą być czynnikiem rankingowym.
Podejrzewam, że zgłoszone przez Google „200 sygnałów” to w rzeczywistości 200 klas sygnałów, gdzie każdy sygnał jest kompozytem zbudowanym z wielu innych komponentów. Podobnie jak Google Analytics ma wymiary z wieloma powiązanymi danymi, wyszukiwarka Google prawdopodobnie ma klasy sygnałów rankingowych składających się z wielu funkcji.
Yandex drapie Google, Bing, YouTube i TikTok
Baza kodu ujawnia również, że Yandex ma wiele parserów dla innych stron internetowych i ich odpowiednich usług. Dla mieszkańców Zachodu najbardziej godnymi uwagi z nich są te, które wymieniłem w powyższym nagłówku. Ponadto Yandex ma parsery dla różnych usług, których nie znałem, a także dla własnych usług.

Od razu widać, że parsery są kompletne. Wyodrębniany jest każdy znaczący składnik Google SERP. W rzeczywistości każdy, kto rozważa usunięcie którejkolwiek z tych usług, może dobrze przejrzeć ten kod.

Istnieje inny kod, który wskazuje, że Yandex używa niektórych danych Google jako części obliczeń DSSM, ale same 83 czynniki rankingowe nazwane przez Google jasno pokazują, że Yandex mocno oparł się na wynikach Google.

Oczywiście Google nigdy nie wycofałby się z ruchu Bing polegającego na kopiowaniu wyników innej wyszukiwarki ani nie polegałby na jednym z podstawowych obliczeń rankingowych.
Yandex ma górne granice anty-SEO dla niektórych czynników rankingowych
315 czynników rankingowych ma progi, przy których każda obliczona wartość powyżej tego wskazuje systemowi, że ta funkcja strony jest nadmiernie zoptymalizowana. 39 z tych czynników rankingowych jest częścią wstępnie ważonych czynników, które mogą uniemożliwić umieszczenie strony na liście początkowych wpisów. Możesz je znaleźć w arkuszu kalkulacyjnym, do którego linkuję powyżej, filtrując według współczynnika rangi i kolumny Anty-SEO.

Pod względem koncepcyjnym nie jest naciągane oczekiwanie, że wszystkie nowoczesne wyszukiwarki ustalają progi dla pewnych czynników, które SEO w przeszłości nadużywały, takich jak tekst kotwicy, CTR lub upychanie słów kluczowych. Na przykład powiedziano, że Bing wykorzystuje nadużycie meta słów kluczowych jako czynnik negatywny.
Yandex zwiększa „Witalne hosty”
Yandex ma szereg mechanizmów zwiększających w całej swojej bazie kodu. Są to sztuczne ulepszenia niektórych dokumentów, aby zapewnić, że uzyskają wyższą punktację, gdy zostaną uwzględnione w rankingu.
Poniżej znajduje się komentarz „kreatora boostingu”, który sugeruje, że mniejsze pliki najlepiej korzystają z algorytmu boostingu.

Istnieje kilka rodzajów wzmocnień; Widziałem jedno ulepszenie związane z linkami, a także serię „HandJobBoosts”, które mogę tylko przypuszczać, że są dziwnym tłumaczeniem „ręcznych” zmian.

Jedno z tych ulepszeń, które uznałem za szczególnie interesujące, jest związane z „Witalnymi gospodarzami”. Gdzie kluczowym hostem może być dowolna określona witryna. Konkretnie wymieniona w zmiennych jest NEWS_AGENCY_RATING, co prowadzi mnie do przekonania, że Yandex daje impuls, który wpływa na wyniki niektórych organizacji informacyjnych.

Nie wchodząc w geopolitykę, bardzo różni się to od Google, ponieważ byli nieugięci, aby nie wprowadzać takich uprzedzeń do swoich systemów rankingowych.
Struktura serwera dokumentów
Baza kodu ujawnia, w jaki sposób dokumenty są przechowywane na serwerze dokumentów Yandex. Jest to pomocne w zrozumieniu, że wyszukiwarka nie tylko tworzy kopię strony i zapisuje ją w swojej pamięci podręcznej, ale przechwytuje różne funkcje jako metadane, które następnie wykorzystują w procesie tworzenia rankingów.
Poniższy zrzut ekranu przedstawia podzbiór tych funkcji, które są szczególnie interesujące. Inne pliki z zapytaniami SQL sugerują, że serwer dokumentów ma blisko 200 kolumn, w tym drzewo DOM, długości zdań, czas pobierania, serię dat i wynik antyspamowy, łańcuch przekierowań oraz to, czy dokument jest przetłumaczony. Najbardziej kompletna lista, z jaką się spotkałem, znajduje się w /robot/rthub/yql/protos/web_page_item.proto.

Najbardziej interesująca w tym podzbiorze jest liczba zastosowanych simhasów. Simhashe to numeryczne reprezentacje treści, a wyszukiwarki używają ich do błyskawicznego porównywania w celu określenia zduplikowanych treści. Istnieją różne przypadki w archiwum robota, które wskazują, że zduplikowana zawartość jest jawnie degradowana.

Ponadto, jako część procesu indeksowania, baza kodu zawiera TF-IDF, BM25 i BERT w swoim potoku przetwarzania tekstu. Nie jest jasne, dlaczego wszystkie te mechanizmy istnieją w kodzie, ponieważ korzystanie z nich wszystkich jest pewną redundancją.
Czynniki łącza i priorytetyzacja
Sposób, w jaki Yandex radzi sobie z czynnikami linków, jest szczególnie interesujący, ponieważ wcześniej całkowicie wyłączył ich wpływ. Baza kodu ujawnia również wiele informacji o czynnikach związanych z linkami i sposobie ustalania priorytetów dla linków.
Kalkulator spamu linków Yandex uwzględnia 89 czynników. Wszystko oznaczone jako SF_RESERVED jest przestarzałe. Tam, gdzie to możliwe, można znaleźć opisy tych czynników w Arkuszu Google, do którego link znajduje się powyżej.


Warto zauważyć, że Yandex ma ranking hostów i niektóre wyniki, które wydają się żyć długo po tym, jak witryna lub strona zyska reputację spamera.
Kolejną rzeczą, którą robi Yandex, jest przeglądanie kopii w domenie i ustalanie, czy z tymi linkami znajdują się zduplikowane treści. Mogą to być miejsca docelowe linków w całej witrynie, linki na zduplikowanych stronach lub po prostu linki z tym samym tekstem zakotwiczenia pochodzącym z tej samej witryny.

Pokazuje to, jak trywialne jest odrzucanie wielu linków z tego samego źródła i wyjaśnia, jak ważne jest kierowanie na bardziej unikalne linki z bardziej zróżnicowanych źródeł.
Co możemy zastosować z Yandex do tego, co wiemy o Google?
Oczywiście, to wciąż jest pytaniem dla wszystkich. Chociaż z pewnością istnieje wiele analogii między Yandex i Google, zgodnie z prawdą, tylko inżynier oprogramowania Google pracujący nad wyszukiwarką może definitywnie odpowiedzieć na to pytanie.
Jednak jest to niewłaściwe pytanie.
Naprawdę, ten kod powinien pomóc nam poszerzyć nasze myślenie o nowoczesnym wyszukiwaniu. Większość zbiorowego rozumienia wyszukiwania opiera się na tym, czego społeczność SEO nauczyła się na początku XXI wieku dzięki testom oraz ustom inżynierów wyszukiwania, gdy wyszukiwanie było znacznie mniej nieprzejrzyste. To niestety nie nadąża za szybkim tempem innowacji.
Spostrzeżenia z wielu funkcji i czynników wycieku Yandex powinny dostarczyć więcej hipotez rzeczy do przetestowania i rozważenia w rankingu w Google. Powinni również wprowadzić więcej rzeczy, które można przeanalizować i zmierzyć za pomocą indeksowania SEO, analizy linków i narzędzi rankingowych.
Na przykład miara cosinusowego podobieństwa między zapytaniami a dokumentami za pomocą osadzania BERT może być cenna dla zrozumienia stron konkurencji, ponieważ jest to coś, co robią same nowoczesne wyszukiwarki.
W podobny sposób, w jaki dzienniki wyszukiwania AOL przesunęły nas od zgadywania rozkładu kliknięć w SERP, baza kodu Yandex przenosi nas od abstrakcji do konkretów, a nasze stwierdzenia „to zależy” mogą być lepiej kwalifikowane.
W tym celu ta baza kodów jest darem, który będzie nadal dawał. Minął dopiero weekend, a już zebraliśmy kilka bardzo istotnych informacji z tego kodu.
Przewiduję, że niektórzy ambitni inżynierowie SEO, którzy mają znacznie więcej czasu, będą kopać, a może nawet uzupełnią wystarczającą ilość brakujących elementów, aby skompilować to i sprawić, by działało. Wierzę również, że inżynierowie w różnych wyszukiwarkach również przeglądają i analizują innowacje, z których mogą się uczyć i dodawać do swoich systemów.
W tym samym czasie prawnicy Google prawdopodobnie opracowują agresywne pisma o zaprzestaniu działalności związane z całym scrapingiem.
Z niecierpliwością czekam na ewolucję naszej przestrzeni napędzaną przez ciekawskich ludzi, którzy zmaksymalizują tę szansę.
Ale, hej, jeśli uzyskiwanie wglądu w rzeczywisty kod nie jest dla ciebie wartościowe, możesz wrócić do robienia czegoś ważniejszego, na przykład kłótni o subdomeny i podkatalogi.
Opinie wyrażone w tym artykule są opiniami autora-gościa i niekoniecznie Search Engine Land. Autorzy personelu są wymienieni tutaj.
