Indeksowanie w grudniu: sieci CDN i skanowanie

Wtorek, 24 grudnia 2024 r.

Sieci dostarczania treści (CDN) są szczególnie przydatne do zmniejszania opóźnień w witrynie i ogólnie do unikania problemów związanych z ruchem w internecie. To ich główny cel: szybkie dostarczanie treści, nawet jeśli witryna ma dużo ruchu. „D” w CDN oznacza dostarczanie lub dystrybucję treści na całym świecie, dzięki czemu czas przesyłania do użytkowników jest krótszy niż w przypadku hostowania w jednym centrum danych. W tym poście omówimy, jak korzystać z CDN, aby poprawić indeksowanie i wygodę użytkowników witryny. Omówimy też pewne niuanse indeksowania witryn korzystających z CDN.

Podsumowanie: czym jest sieć CDN?

Sieci CDN są zasadniczo pośrednikiem między serwerem pierwotnym (na którym znajduje się Twoja witryna) a użytkownikiem końcowym i przekazują niektóre pliki. Głównym zadaniem sieci CDN jest buforowanie, co oznacza, że gdy użytkownik poprosi o adres URL z Twojej witryny, sieć CDN będzie przechowywać zawartość tego adresu URL w swojej pamięci podręcznej przez pewien czas, aby Twój serwer nie musiał ponownie wysyłać tego pliku.

CDN mogą znacznie przyspieszyć działanie witryny, ponieważ dostarczają treści użytkownikom z lokalizacji znajdującej się blisko nich. Jeśli na przykład użytkownik z Australii otwiera witrynę hostowaną w Niemczech, sieć CDN dostarczy mu treści z pamięci podręcznej w Australii, co pozwoli skrócić czas podróży danych po całym świecie. Nawet przy korzystaniu ze światłowodów odległość nadal robi swoje.

I wreszcie CDN to świetne narzędzie do ochrony witryny przed przeciążeniem i niektórymi zagrożeniami. Dzięki ilości globalnego ruchu, którym zarządzają, sieci CDN mogą tworzyć wiarygodne modele ruchu, aby wykrywać anomalie ruchu i blokować próby dostępu, które wydają się nadmierne lub szkodliwe. Na przykład 21 października 2024 r. systemy Cloudflare autonomicznie wykryły i ograniczyły atak typu DDoS o długości około minuty i wielkości 4,2 Tb/s (red.: to dużo).

Jak platformy CDN mogą pomóc Twojej witrynie

Możesz mieć najszybsze serwery i stosować najlepszy dostępny na rynku proces wysyłania danych. Nie znaczy to, że nie musisz niczego przyspieszać. Sieć CDN może w długim okresie przynieść oszczędności, zwłaszcza jeśli Twoja witryna jest duża:

  • Buforowanie w CDN: jeśli zasoby takie jak multimedia, JavaScript i CSS, a nawet kod HTML są dostarczane z pamięci podręcznej CDN, Twoje serwery nie muszą zużywać mocy obliczeniowej i przepustowości na dostarczanie tych zasobów, co zmniejsza obciążenie serwera. Zwykle oznacza to też, że strony wczytują się szybciej w przeglądarkach użytkowników, co współwystępuje z większą liczbą konwersji.
  • Ochrona przed atakiem typu DDoS: sieci CDN szczególnie dobrze radzą sobie z identyfikowaniem i blokowaniem nadmiernego lub szkodliwego ruchu, dzięki czemu użytkownicy mogą odwiedzać Twoją witrynę nawet wtedy, gdy złośliwe boty lub osoby przeciążają serwery.
    Poza ochroną przed atakiem typu DDoS te same ustawienia, które służą do blokowania złego ruchu, mogą służyć do blokowania ruchu, którego po prostu nie chcesz, np. konkretnych robotów, klientów, które pasują do określonego wzoru, czy trolli, którzy stale używają tego samego adresu IP. Możesz to zrobić na serwerze lub zaporze sieciowej, ale zwykle łatwiej jest użyć interfejsu sieci CDN.
  • Niezawodność: niektóre sieci CDN mogą udostępniać Twoją witrynę użytkownikom, nawet jeśli jest ona niedostępna. Może to oczywiście działać tylko w przypadku treści statycznych, ale może to wystarczyć, aby użytkownicy nie przenieśli się gdzie indziej.

Krótko mówiąc, sieci CDN są Twoim przyjacielem. Jeśli Twoja witryna jest duża lub spodziewasz się dużych ilości ruchu (lub już jest on duży), warto znaleźć usługę CDN, która spełnia Twoje potrzeby pod względem takich czynników, jak cena, wydajność, niezawodność, bezpieczeństwo, obsługa klienta, skalowalność i możliwość rozbudowy. Skontaktuj się z dostawcą usług hostingowych lub CMS, aby dowiedzieć się, jakie masz opcje (i czy korzystasz już z którejś z nich).

Jak indeksowanie wpływa na witryny korzystające z CDN

W przypadku indeksowania sieci CDN mogą być przydatne, ale mogą też powodować pewne problemy (choć rzadko). Nie rezygnuj z naszych usług.

Wpływ sieci CDN na szybkość indeksowania

Nasza infrastruktura indeksowania jest zaprojektowana tak, aby umożliwiać wyższe szybkości indeksowania w przypadku witryn korzystających z CDN. Jest to określane na podstawie adresu IP usługi obsługującej adresy URL, do których uzyskują dostęp nasze roboty. To działa dobrze, przynajmniej przez większość czasu.

Załóżmy, że tworzysz właśnie stronę ze zdjęciami licencjonowanymi i masz 1 000 007 zdjęć w magazynie. Uruchamiasz witrynę ze stroną docelową, stronami kategorii i stronami szczegółowymi dla wszystkich swoich elementów – w efekcie masz mnóstwo stron. W dokumentacji dotyczącej ograniczenia pojemności indeksowania wyjaśniamy, że choć wyszukiwarka Google chce zindeksować wszystkie te strony tak szybko, jak to możliwe, indeksowanie nie powinno przeciążać Twoich serwerów. Jeśli Twój serwer zaczyna wolno reagować na zwiększoną liczbę żądań indeksowania, Google ogranicza przepustowość po swojej stronie, aby nie dopuścić do przeciążenia serwera. Gdy nasza infrastruktura indeksowania wykryje, że Twoja witryna korzysta z CDN, próg ograniczania jest znacznie wyższy. Uważamy, że można wysyłać więcej jednoczesnych żądań, ponieważ Twój serwer prawdopodobnie poradzi sobie z tym, a tym samym indeksowanie Twojego sklepu internetowego będzie szybsze.

Jednak przy pierwszym dostępie do adresu URL pamięć podręczna sieci CDN jest „zimna”, co oznacza, że skoro nikt jeszcze nie zażądał tego adresu URL, jego zawartość nie została jeszcze zapisana w pamięci podręcznej CDN. Dlatego serwer źródłowy musi obsłużyć ten adres URL co najmniej raz, aby „rozgrzać” pamięć podręczną CDN. Działa to bardzo podobnie do buforowania HTTP.

Krótko mówiąc, nawet jeśli Twój sklep internetowy jest obsługiwany przez sieć CDN, Twój serwer musi obsłużyć te 1 000 007 adresów URL co najmniej raz. Dopiero po tym początkowym wyświetleniu usługa CDN może pomóc za pomocą swojej pamięci podręcznej. To znaczne obciążenie Twojego „budżetu indeksowania”. Szybkość indeksowania prawdopodobnie będzie wysoka przez kilka dni. Pamiętaj o tym, jeśli planujesz uruchomić wiele adresów URL jednocześnie.

Wpływ CDN na renderowanie

Jak wyjaśniliśmy w pierwszym grudniowym poście na blogu na temat indeksowania zasobów, rozdzielenie zasobów na osobne nazwy hostów lub nazwy hostów sieci CDN (cdn.example.com) może pozwolić naszej usłudze renderowania stron internetowych (WRS) na wydajniejsze renderowanie stron. Jest jednak jeden haczyk: ta metoda może negatywnie wpływać na wydajność strony z powodu obciążenia połączenia z inną nazwą hosta. Dlatego musisz dokładnie rozważyć jakość strony w zależności od wydajności renderowania.

Jeśli używasz głównego hosta z siecią CDN, możesz uniknąć tego problemu: jedna nazwa hosta na zapytanie i kluczowe zasoby do renderowania są prawdopodobnie dostarczane z pamięci podręcznej CDN, więc Twój serwer nie musi ich dostarczać (i nie ma wpływu na jakość strony).

Na koniec wybierz rozwiązanie, które najlepiej pasuje do Twojej firmy: użyj oddzielnej nazwy hosta (cdn.example.com) dla zasobów statycznych, zabezpiecz główną nazwę hosta za pomocą sieci CDN lub zastosuj obie te metody. Infrastruktura indeksowania Google obsługuje obie opcje bez problemów.

Gdy CDN zapewnia nadmierną ochronę

Ze względu na ochronę przed atakami typu DDoS i sposób działania robotów, czasami boty, które powinny mieć dostęp do Twojej witryny, mogą trafić na listę zablokowanych sieci CDN, zazwyczaj do zapory sieciowej dla aplikacji internetowej (WAF). Zapobiega to dostępowi robotów do Twojej witryny, co może uniemożliwić jej wyświetlanie w wynikach wyszukiwania. Blokowanie może się odbywać na różne sposoby, niektóre z nich są bardziej szkodliwe dla obecności witryny w wynikach wyszukiwania Google niż inne, a ich kontrolowanie może być trudne (lub niemożliwe), ponieważ odbywa się po stronie CDN. Na potrzeby tego posta na blogu podzieliliśmy je na 2 grupy: blokady twarde i blokady miękkie.

Blokady twarde

Blokady twarde występują, gdy CDN wysyła odpowiedź na żądanie indeksowania, która jest w jakiejś formie błędna. Mogą to być:

  • Kody stanu HTTP 503/429: wysyłanie tych kodów stanu jest preferowanym sposobem sygnalizowania tymczasowego zablokowania. Dzięki temu będziesz mieć czas na reakcję na niezamierzone blokady przez sieć CDN.
  • Limity czasu sieci: przekroczenie limitu czasu sieci CDN spowoduje usunięcie odpowiednich adresów URL z indeksu wyszukiwarki Google, ponieważ te błędy sieci są uważane za nieodwracalne, „twarde” błędy. Mogą one też znacznie wpływać na szybkość indeksowania witryny, ponieważ sygnalizują naszej infrastrukturze indeksowania, że witryna jest przeciążona.
  • Losowy komunikat o błędzie z kodem stanu HTTP 200: określany też jako błąd miękki, jest szczególnie niekorzystny. Jeśli komunikat o błędzie jest po stronie Google traktowany jako „twardy” błąd (np. HTTP 500), Google usunie adres URL z wyników wyszukiwania. Jeśli Google nie może wykryć komunikatów o błędach jako „twardych” błędów, wszystkie strony z tymi samymi komunikatami mogą zostać usunięte z indeksu wyszukiwania Google jako duplikaty. Google nie ma zbyt wielu powodów, aby prosić o ponowne zindeksowanie duplikatów adresów URL, więc odzyskanie z tego stanu może zająć więcej czasu.

Blokady miękkie

Podobny problem może wystąpić, gdy sieć CDN wyświetla komunikaty pełnoekranowe „Czy na pewno jesteś człowiekiem?”.

Robot nie rozumie, dlaczego jest nazywany człowiekiem

Nasze roboty są przekonane, że nie są ludźmi i nie udają, że nimi są. Chcą tylko indeksować sieć. Gdy jednak wyświetli się komunikat pełnoekranowy, zobaczą go zamiast Twojej wspaniałej witryny. W przypadku tych pytań weryfikujących boty zdecydowanie zalecamy wysyłanie jasnego sygnału w postaci kodu stanu HTTP 503 do automatycznych klientów, takich jak roboty, że treści są tymczasowo niedostępne. Dzięki temu treści nie zostaną automatycznie usunięte z indeksu Google.

Debugowanie blokad

W przypadku zarówno blokad twardych, jak i blokad miękkich, aby najłatwiej sprawdzić, czy wszystko działa prawidłowo, można użyć narzędzia do sprawdzania adresów URL w Search Console i obserwować renderowany obraz: jeśli wyświetla się Twoja strona, wszystko jest w porządku. Jeśli wyświetla się pusta strona, błąd lub strona weryfikująca dla botów, skontaktuj się z dostawcą usługi CDN.

Aby pomóc Ci w rozwiązaniu problemu niezamierzonych blokad, Google, inne wyszukiwarki i inni operatorzy robotów publikują nasze adresy IP, aby ułatwić Ci identyfikację naszych robotów. Jeśli uznasz to za stosowne, możesz usunąć zablokowane adresy IP z reguł WAF lub nawet dodać je do listy dozwolonych. Miejsce, w którym możesz to zrobić, zależy od używanej sieci CDN. Na szczęście większość sieci CDN i samodzielnych WAF ma świetną dokumentację. Oto kilka informacji, które udało nam się znaleźć po krótkim poszukiwaniu (stan na moment publikacji tego posta):

Jeśli chcesz, aby Twoja witryna pojawiała się w wyszukiwarkach, zdecydowanie zalecamy sprawdzenie, czy roboty, na których Ci zależy, mają do niej dostęp. Pamiętaj, że adresy IP mogą trafić na listę zablokowanych automatycznie, bez Twojej wiedzy. Dlatego warto od czasu do czasu sprawdzać listy zablokowanych, aby Twoja witryna odnosiła sukcesy w wyszukiwarce i poza nią. Jeśli lista zablokowanych jest bardzo długa (podobnie do tego posta na blogu), spróbuj wyszukać tylko kilka pierwszych segmentów zakresów adresów IP. Zamiast szukać 192.168.0.101, możesz szukać tylko 192.168.

To był ostatni post z naszej grudniowej serii postów na blogu na temat indeksowania. Mamy nadzieję, że ich czytanie było dla Was równie przyjemne jak dla nas ich pisanie. Jeśli masz… bla, bla, bla… to wiesz, co robić.


Chcesz dowiedzieć się więcej o skanowaniu? Zobacz całą serię Skanowanie w grudniu: