it-swarm.dev

robots.txt Nie aktualizuje

Dzisiaj otrzymałem wiadomość e-mail od Narzędzi dla webmasterów, że „Googlebot nie ma dostępu do plików CSS i JS”. Więc przystąpiłem do aktualizacji mojego pliku robots.txt znajdującego się w katalogu głównym mojego serwera.

Oryginalna zawartość:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/ #<--CAUSE OF THE PROBLEM

Sitemap: http://example.com/sitemapindex.xml

Usunąłem z pliku wiersz „Disallow:/wp-content/themes /” i ponownie przesłałem plik, ale gdy przeglądałem nowy plik w przeglądarce, nic się nie zmieniło, a następnie wykonałem następujące czynności:

1) Usunięto plik .txt z katalogu głównego

2) Wyczyszczona pamięć podręczna (W3 Total Cache)

Wciąż jednak robots.txt był widoczny w mojej przeglądarce. To może oznaczać tylko jedno, że plik został wygenerowany wirtualnie? Oglądałem nawet w innej przeglądarce, aby upewnić się, że nie ma buforowania.

Po wielu poszukiwaniach nie znalazłem odpowiedzi na pytanie, dlaczego mój robots.txt nie zostanie zaktualizowany lub skąd jest generowany?

Czy ktoś tutaj ma jakieś pomysły, co się dzieje?

Niektóre wtyczki, których używam:

1) Better WordPress Google XML Sitemaps
2) W3 Total Cache
3) Yoast SEO

Każda pomoc byłaby bardzo doceniana, dzięki.

1
user1356029

Normalnie, jeśli na dysku znajduje się plik WordPress, będzie on obsługiwany bezpośrednio przez Apache lub Nginx, zanim zaangażuje się WordPress.

Odbywa się to w konfiguracji virtualhost, np. w Nginx zazwyczaj znajdziesz następujące, które każe mu najpierw wypróbować rzeczywiste pliki, zanim indeks.php obsłuży URL i wygeneruje stronę na żądanie.

location / {
    index index.php index.html;
    try_files $uri $uri/ /index.php?$args;
}

Jeśli więc robots.txt jest ignorowany, możesz mieć coś nie tak z konfiguracją serwera.

Właśnie wypróbowałem te trzy wtyczki, które wymieniłeś z motywem dwudziestu piętnastu i wszystko działało poprawnie. Yoast SEO umożliwia edycję robots.txt ze stron Admin przy okazji (przejdź do SEO> Narzędzia> Edytor plików).

Jeśli nie znaleziono pliku robots.txt lub kontrola została przekazana do WordPress, domyślnym wyjściem jest:

User-agent: *
Disallow: /wp-admin/

Zobacz wp-includes/functions.php, aby zobaczyć, jak to działa, ale nigdy nie edytuj plików podstawowych.

Można to dostosować za pomocą akcji i filtrów - na przykład wtyczka BWP Sitemaps dodaje linię Sitemap:.

Jeśli nie możesz znaleźć wtyczki (lub czegokolwiek w twoim motywie), która podpina kod do_robots lub do_robotstxt, to jest to hak na plik functions.php twojego motywu, który prawdopodobnie wykona zadanie:

/**
 * Remove unwanted 'themes' from robots.txt with find/replace
 * @param string $input original robots.txt content
 *
 * @return string mixed
 */
function patch_robots_file( $input ) {
    return str_replace( 'Disallow: /wp-content/themes/', '', $input );
}

add_filter( 'robots_txt', 'patch_robots_file' );
1
William Turrell