Błędy w pliku robots.txt i ich wpływ na indeksowanie stron
Robots.txt to plik tekstowy zawierający instrukcje (dyrektywy) dla indeksowania stron witryny. Używając tego pliku, możesz powiedzieć robotom wyszukiwania, które strony lub sekcje na zasobie internetowym powinny być przeszukiwane i wprowadzone do indeksu (bazy danych silnika wyszukiwania), a które nie.
Plik robots.txt znajduje się w głównym katalogu witryny i jest dostępny pod adresem domain.com/robots.txt.
Dlaczego robots.txt jest niezbędny dla SEO?
Ten plik daje silnikom wyszukiwania niezbędne instrukcje, które bezpośrednio wpływają na skuteczność rankingu witryny w silniku wyszukiwania. Używając robots.txt, możesz pomóc:
- Zapobiec skanowaniu duplikatów treści lub nieprzydatnych stron dla użytkowników (takich jak wyniki wyszukiwania wewnętrznego, strony techniczne itp.) przez roboty skanujące silników wyszukiwania.
- Utrzymać poufność sekcji witryny (na przykład, możesz zablokować dostęp do informacji systemowych w CMS);
- Uniknąć przeciążenia serwera;
- Skutecznie wydawać budżet skanowania na przeszukiwanie wartościowych stron.
Z drugiej strony, jeśli robots.txt zawiera błędy, silniki wyszukiwania zindeksują witrynę niepoprawnie, a wyniki wyszukiwania będą zawierać błędne informacje.
Możesz również przypadkowo uniemożliwić indeksowanie przydatnych stron, które są niezbędne dla rankingu Twojej witryny w silnikach wyszukiwania.
Poniżej znajdują się linki do instrukcji dotyczących używania pliku robots.txt od Google.
Zawartość raportu „Błędy robots.txt” w Labrika
To jest to, co znajdziesz w naszym raporcie „błędy robots.txt”:

- Przycisk „Odśwież” – po kliknięciu w niego dane o błędach w pliku robots.txt zostaną odświeżone.
- Zawartość w pliku robots.txt.
- Jeśli zostanie znaleziony błąd, Labrika poda opis błędu.
Błędy robots.txt, które wykrywa Labrika
Narzędzie znajduje następujące typy błędów:
Dyrektywa musi być oddzielona od reguły symbolem „:”
Każda ważna linia w Twoim pliku robots.txt musi zawierać nazwę pola, dwukropek i wartość. Spacje są opcjonalne, ale zalecane dla czytelności. Symbol hash „#” jest używany do dodania komentarza, który jest umieszczany przed jego początkiem. Robot silnika wyszukiwania zignoruje cały tekst po symbolu „#” aż do końca linii.
Standardowy format:
<field>:<value><#optional-comment>
Przykład błędu:
User-agent Googlebot
Brakuje znaku „:”.
Poprawna opcja:
User-agent: Googlebot
Pusta dyrektywa i pusta reguła
Używanie pustego ciągu w dyrektywie user-agent nie jest dozwolone.
To jest podstawowa dyrektywa, która wskazuje, dla jakiego typu robota wyszukiwania są pisane dalsze reguły indeksowania.
Przykład błędu:
User-agent:
Nie określono user-agent.
Poprawna opcja:
User-agent: the name of the bot
Na przykład:
User-agent: Googlebot or User-agent: *
Każda reguła musi zawierać co najmniej jedną dyrektywę „Allow” lub „Disallow”. Disallow zamyka sekcję lub stronę przed indeksowaniem. „Allow”, jak wskazuje nazwa, pozwala na indeksowanie stron. Na przykład, pozwala robotowi skanującemu przeszukać podkatalog lub stronę w katalogu, który jest normalnie zablokowany przed przetwarzaniem.
Te dyrektywy są określane w formacie:
dyrektywa: [ścieżka], gdzie [ścieżka] (ścieżka do strony lub sekcji) jest opcjonalna.
Tak jednak, roboty ignorują dyrektywy Allow i Disallow, jeśli nie określisz drogi dostępu. W tym przypadku mogą skanować całą zawartość.
Pusta dyrektywa Disallow: jest równoważna dyrektywie Allow: /, co oznacza „nie blokuj niczego”.
Przykład błędu w dyrektywie Sitemap:
Sitemap:
Nie określono ścieżki do mapy strony.
Poprawna opcja:
Sitemap: https://www.site.com/sitemap.xml
Brak dyrektywy User-agent przed regułą
Reguła musi zawsze występować po dyrektywie User-agent. Umieszczenie reguły przed pierwszą nazwą agenta użytkownika oznacza, że żaden skaner jej nie będzie przestrzegał.
Przykład błędu:
Disallow: /category User-agent: Googlebot
Poprawna opcja:
User-agent: Googlebot Disallow: /category
Używanie formy „User-agent: *”
Gdy widzimy User-agent: *, oznacza to, że reguła jest ustawiona dla wszystkich robotów wyszukiwania.
Na przykład:
User-agent: * Disallow: /
To zabrania wszystkim robotom wyszukiwania indeksowania całej witryny.
Powinien być tylko jedna dyrektywa User-agent dla jednego robota i tylko jedna dyrektywa User-agent: * dla wszystkich robotów.
Jeśli ten sam agent użytkownika ma różne listy reguł określone w pliku robots.txt kilka razy, będzie trudno dla robotów wyszukiwania określić, które reguły brać pod uwagę. W rezultacie robot nie będzie wiedział, którą regułę przestrzegać.
Przykład błędu:
User-agent: * Disallow: /category User-agent: * Disallow: /*.pdf.
Poprawna opcja:
User-agent: * Disallow: /category Disallow: /*.pdf.
Nieznana dyrektywa
Została znaleziona dyrektywa, która nie jest obsługiwana przez silnik wyszukiwania.
Przyczynami tego mogą być następujące:
- Określono nieistniejącą dyrektywę;
- Wykonano błędy składni, użyto zabronionych symboli i tagów;
- Ta dyrektywa może być używana przez inne roboty silników wyszukiwania.
Przykład błędu:
Disalow: /catalog
Dyrektywa „Disalow” nie istnieje. Była pomyłka w pisowni słowa.
Poprawna opcja:
Disallow: /catalog
Liczba reguł w pliku robots.txt przekracza maksymalną dozwoloną
Roboty wyszukiwania poprawnie przetworzą plik robots.txt, jeśli jego rozmiar nie przekracza 500 KB. Dozwolona liczba reguł w pliku to 2048. Zawartość przekraczająca ten limit jest ignorowana. Aby uniknąć przekroczenia, używaj bardziej ogólnych dyrektyw zamiast wykluczania każdej strony.
Na przykład, jeśli musisz zablokować skanowanie plików PDF, nie blokuj każdego pojedynczego pliku. Zamiast tego, zabroń wszystkich URL-i zawierających .pdf za pomocą dyrektywy:
Disallow: /*.pdf
Reguła przekracza dozwoloną długość
Reguła nie może być dłuższa niż 1024 znaki.
Nieprawidłowy format reguły
Twój plik robots.txt musi być zakodowany w UTF-8 w zwykłym tekście. Silniki wyszukiwania mogą ignorować znaki nie-UTF-8. W tym przypadku reguły z pliku robots.txt nie będą działać.
Aby roboty wyszukiwania poprawnie przetwarzały instrukcje w pliku robots.txt, wszystkie reguły muszą być napisane zgodnie ze Standardem Wykluczeń Robotów (REP), który wspiera Google i większość znanych silników wyszukiwania.
Używanie znaków narodowych
Używanie znaków narodowych jest zabronione w pliku robots.txt. Zgodnie ze standardowo zatwierdzonym systemem nazw domen, nazwa domeny może składać się tylko z ograniczonego zestawu znaków ASCII (litery alfabetu łacińskiego, cyfry od 0 do 9 i myślnik). Jeśli domena zawiera znaki nie-ASCII (w tym alfabety narodowe), musi być przekonwertowana do Punycode na ważny zestaw znaków.
Przykład błędu:
User-agent: Googlebot Sitemap: https: //bücher.tld/sitemap.xml
Poprawna opcja:
User-agent: Googlebot Sitemap: https://xn-bcher-kva.tld/sitemap.xml
Użyto nieprawidłowego znaku
Używanie specjalnych znaków „*” i „$” jest dozwolone. Określają one wzorce adresów podczas deklarowania dyrektyw, aby użytkownik nie musiał pisać długiej listy końcowych URL-i do zablokowania.
Na przykład:
Disallow: /*.php$
zabrania indeksowania jakichkolwiek plików PHP.
- Gwiazdka „*” oznacza dowolną sekwencję i dowolną liczbę znaków.
- Znak dolara „$” oznacza koniec adresu i ogranicza działanie znaku „*”.
Na przykład, jeśli /*.php pasuje do wszystkich ścieżek zawierających .php., To /*.php$ pasuje tylko do ścieżek kończących się na .php.
Znak „$” jest napisany w środku wartości
Znak „$” może być użyty tylko raz i tylko na końcu reguły. Wskazuje, że znak przed nim powinien być ostatnim.
Przykład błędu:
Allow: /file$html
Poprawna opcja:
Allow: /file.html$
Reguła nie zaczyna się od „/” lub „*”
Reguła może zaczynać się tylko od znaków „/” i „*”.
Wartość ścieżki jest określana względem głównego katalogu witryny, gdzie znajduje się plik robots.txt i musi zaczynać się od ukośnika „/” wskazującego katalog główny.
Przykład błędu:
Disallow: products
Poprawna opcja:
Disallow: /products
lub
Disallow: *products
w zależności od tego, co chcesz wykluczyć z indeksowania.
Nieprawidłowy format URL mapy strony
Mapa strony jest dla robotów skanujących silników wyszukiwania. Zawierają one rekomendacje, które strony przeszukać najpierw i z jaką częstotliwością. Posiadanie mapy strony pomaga robotom indeksować potrzebne strony szybciej.
URL mapy strony musi zawierać:
- Pełny adres
- Oznaczenie protokołu (HTTP: // lub HTTPS: //)
- Nazwę witryny
- Ścieżkę do pliku
- Nazwę pliku
Przykład błędu:
Sitemap: /sitemap.xml
Poprawna opcja:
Sitemap: https://www.site.ru/sitemap.xml
Nieprawidłowy format dyrektywy „Crawl-delay”
Dyrektywa Crawl-delay ustawia minimalny okres między końcem ładowania jednej strony a początkiem ładowania następnej dla robota.
Dyrektywa Crawl-delay powinna być używana w przypadkach, gdy serwer jest mocno obciążony i nie ma czasu na przetwarzanie żądań robota skanującego. Im większy ustawiony interwał, tym mniejsza liczba pobrań podczas jednej sesji.
Podając interwał, możesz używać zarówno wartości całkowitych, jak i ułamkowych. Kropka jest używana jako separator. Jednostką miary są sekundy:
Błędy obejmują:
- Kilka dyrektyw Crawl-delay;
- Nieprawidłowy format dyrektywy Crawl-delay.
Przykład błędu:
Crawl-delay: 0,5 second
Poprawna opcja:
Crawl-delay: 0.5
Uwaga: Google nie obsługuje dyrektywy Crawl-delay. Dla bota Google możesz ustawić częstotliwość uderzeń w panelu webmastera Search Console. Jednak boty Bing i Yahoo przestrzegają dyrektywy Crawl-delay.
Linia zawiera BOM (Byte Order Mark) – znak U + FEFF
BOM (Byte Order Mark – znacznik sekwencji bajtów) to znak w formie U + FEFF, znajdujący się na początku tekstu. Ten znak Unicode jest używany do określenia sekwencji bajtów podczas odczytywania informacji.
Podczas tworzenia i edycji pliku za pomocą standardowych programów, edytory mogą automatycznie przypisać kodowanie UTF-8 z tagiem BOM.
BOM to niewidoczny znak. Nie ma graficznego wyrazu, więc większość edytorów go nie pokazuje. Ale podczas kopiowania ten symbol może być przeniesiony do nowego dokumentu.
Podczas używania znacznika sekwencji bajtów w plikach .html, ustawienia projektu się mylą, bloki są przesunięte i mogą pojawić się nieczytelne zestawy znaków, dlatego zaleca się usuwanie tagu z skryptów internetowych i plików CSS.
Jak pozbyć się tagów BOM?
Pozbycie się PTO jest dość trudne. Jednym prostym sposobem jest otwarcie pliku w edytorze, który może zmienić kodowanie dokumentu i zapisanie go ponownie z kodowaniem UTF-8 bez BOM.
Na przykład, możesz pobrać za darmo edytor Notepad ++. Następnie otwórz plik z tagiem PTO i wybierz pozycję „Kodowanie w UTF-8 (bez BOM)” w zakładce menu „Kodowania”.
Jak naprawić błędy walidatora robots.txt?
Plik robots.txt mówi robotom skanującym silnika wyszukiwania, które strony może i nie może uzyskać dostępu. Typowe błędy i naprawy obejmują:
- robots.txt nie znajduje się w katalogu głównym. Aby to naprawić, wystarczy po prostu przenieść plik do katalogu głównego.
- Zła użycie znaków wieloznacznych, takich jak * (gwiazdka) i $ (znak dolara). Jeśli są źle umieszczone, musisz je zlokalizować i przenieść lub usunąć ten znak.
- Udzielanie dostępu do witryn w trakcie rozwoju. Gdy witryna jest w budowie, możesz użyć instrukcji disallow, aby zatrzymać jej skanowanie, jednak po uruchomieniu te muszą być usunięte.
- Jeśli widzisz:
User-Agent: * Disallow: /
To zazwyczaj oznacza, że żywa strona jest nadal blokowana. - Nie dodawanie URL mapy strony do robots.txt. URL mapy strony pozwala botom silnika wyszukiwania na lepszy widok Twojej witryny.
