WordPress: Jak edytować plik robots.txt

Spis treści

Co jakiś czas zaglądam sobie do panelu Google Search Console w poszukiwaniu błędów na tym blogu. Do tej pory trafiały mi się pojedyncze przypadki błędnego przekierowania adresu URL. Nic wielkiego, bo wystarczy odszukać dany post i poprawić w nim konkretny link. Niemniej jednak, Google zaczyna mnie drażnić "błędami" odnośnie plików xmlrpc.php oraz wp-includes/wlwmanifest.xml . Oba te pliki są zablokowane na poziomie serwera Apache2 z powodu zagrożeń jakie niesie protokół XML-RPC. Dlaczego zatem mechanizmy Google zwracają błędy? Winna jest tutaj błędna konfiguracja instrukcji dla wyszukiwarek, tj. plik robots.txt . Jakby tego było mało, to w przypadku WordPress'a ten plik jest generowany w locie i fizycznie nie istnieje na serwerze. Jak zatem poddać go edycji? Na to pytanie postaramy się znaleźć odpowiedź w tym wpisie.

Do czego WordPress wykorzystuje pliki xmlrpc.php oraz wlwmanifest.xml

Pliki xmlrpc.php oraz wlwmanifest.xml są częścią implementacji protokołu XML-RPC w WordPress'ie, który umożliwia, np. publikowanie postów za pomocą różnych klientów blogowych. Gdy obsługę tego protokołu mamy włączoną, to niekoniecznie musimy pisać posty przez panel administracyjny WordPress'a. W przypadku, gdy kogoś ta funkcjonalność zbytnio nie interesuje, tak jak mnie tutaj, to ze strony wygenerowanej przez skrypt WordPress'a można usunąć odwołania do plików xmlrpc.php i wlwmanifest.xml. Niemniej jednak, w pewnych specyficznych przypadkach wyszukiwarka Google ciągle będzie próbowała te zasoby odwiedzić. W jakich?

W tym wyżej podlinkowanym artykule były uwzględnione linki zawierające te dwa w/w pliki oraz domena, która wskazywała na ten blog. Nie były to wprawdzie klikalne linki, tylko ujęte w znaczniki pre i code , ale wyszukiwarka potraktowała taki tekst jako odnośnik i stąd błąd w panelu Google Search Console:

search-console-google-bledy

Rozwiązania tego problemu są dwa. Pierwszym z nich jest edycja wszystkich postów i poprawienie domeny, by wskazywała na jakąś poza obszarem naszego serwisu. Wtedy Google nie będzie nas winił, że zasoby nie są dostępne. To rozwiązanie znalazło zastosowanie właśnie w tym przypadku. Innym sposobem jest edycja pliku robots.txt , z tym, że WordPress generuje dynamicznie ten plik, przez co nie istnieje on w strukturze naszego bloga. Zatem jak moglibyśmy go poddać edycji?

Edycja pliku robots.txt w WordPress'ie

Jest kilka dedykowanych narzędzi, które są w stanie poddać edycji plik robots.txt . Można to zrobić, np. korzystając z wtyczki Yoast SEO. Problem w tym, że nie da się edytować tego pliku w przypadku, gdy mamy wyłączoną edycję plików przez panel WordPress'a.

Możemy jednak nadpisać plik robots.txt , który jest generowany przez skrypt WordPress'a. Musimy tylko w głównym katalogu strony (określony dyrektywą DocumentRoot w Apache2) stworzyć taki plik i dodać do niego stosowną zawartość. Standardowo WordPress daje do swojego pliku te poniższe wpisy:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

My dodatkowo musimy do niego dopisać jeszcze te dwa poniższe:

Disallow: /xmlrpc.php
Disallow: /wp-includes/wlwmanifest.xml

Teraz można poprosić boty Google za sprawą penelu Search Console, by zaktualizowały sobie ten plik. Po chwili te dwa dodatkowe wpisy powinny zostać uwzględnione:

search-console-google-robots-txt

Mikhail Morfikov avatar
Mikhail Morfikov
Po ponad 10 latach spędzonych z różnej maści linux'ami (Debian/Ubuntu, OpenWRT, Android) mogę śmiało powiedzieć, że nie ma rzeczy niemożliwych i problemów, których nie da się rozwiązać. Jedną umiejętność, którą ludzki umysł musi posiąść, by wybrnąć nawet z tej najbardziej nieprzyjemniej sytuacji, to zdolność logicznego rozumowania.