Poproś o kontaktKontakt

Academy · Google Search

Czym jest plik .htaccess i jak wpływa na pozycjonowanie stron?

Tomasz CzechowskiHead of SEO · Zaktualizowano · 9 min czytania
Tomasz Czechowski
  1. Insights
  2. Academy
  3. Google Search
  4. Czym jest plik .htaccess i jak wpływa na…

Rozdział Google Search · wpis 17 z 142 · nr 029 w programie Academy

Plik .htaccess to plik konfiguracyjny serwera Apache, w którym ustawisz przekierowania, blokady, nagłówki i strony błędów dla katalogu, w którym leży. Sam nie podnosi pozycji w Google, ale jeden wiersz w nim potrafi przenieść ruch na nowy adres albo wyłączyć całą stronę. Poniżej znajdziesz, co da się w nim ustawić, jak wpływa to na SEO i jak edytować go bez ryzyka.

Najważniejsze w skrócie

  • Plik .htaccess to plik konfiguracyjny serwera Apache, którego reguły działają w katalogu, w którym leży, oraz w jego podkatalogach. Na serwerze NGINX te same ustawienia wpisuje się do konfiguracji serwera.
  • Plik .htaccess nie jest czynnikiem rankingowym, ale ustawia przekierowania, kody odpowiedzi i nagłówki, od których zależy, czy Google trafi na właściwy adres.
  • Przekierowania 301 ustawione w pliku .htaccess według dokumentacji Google nie powodują utraty PageRanku, a przy przenosinach witryny warto je utrzymać co najmniej rok.
  • Blokada robotów w pliku .htaccess może odciąć Googlebota albo wyszukiwanie ChatGPT, dlatego każdą regułę blokującą trzeba sprawdzić przed wdrożeniem.
  • Literówka w pliku .htaccess może wyłączyć całą stronę błędem 500, dlatego przed każdą zmianą zrób kopię pliku i sprawdź stronę zaraz po zapisaniu.

Czym jest plik .htaccess?

Plik .htaccess to zwykły plik tekstowy z poleceniami (dyrektywami) dla serwera Apache. Serwer stosuje jego reguły do katalogu, w którym plik leży, oraz do wszystkich podkatalogów, co opisuje dokumentacja Apache. Nazwa pochodzi od angielskiego „hypertext access”, a kropka na początku sprawia, że na serwerze plik jest ukryty.

Najczęściej plik leży w głównym katalogu strony, obok plików startowych serwisu. Wtedy jego reguły obejmują cały serwis. Plik w podkatalogu, np. /panel/, zmienia ustawienia tylko dla tego katalogu i tego, co jest w nim dalej.

.htaccess działa wyłącznie na serwerach, które go obsługują, przede wszystkim na Apache. Na serwerze NGINX te same ustawienia wpisuje się do konfiguracji serwera, a nie do pliku w katalogu strony. Dlatego dokumentacja Google pokazuje osobne przykłady dla obu serwerów, np. przy przekierowaniach. Zanim zaczniesz szukać pliku, sprawdź u dostawcy hostingu, na jakim serwerze działa Twoja strona.

Co można ustawić w pliku .htaccess?

W pliku .htaccess ustawisz większość rzeczy, które decydują o tym, jak serwer odpowiada na wejście na dany adres. Tabela zbiera zastosowania ważne dla firmy i dla SEO.

ZastosowanieCo robiZnaczenie dla SEO
Przekierowania 301kieruje stary adres na nowy, wersję http na https, adres z www na adres bez wwwprzenosi ruch i sygnały na jeden adres
Przepisywanie adresówpokazuje czytelny adres, np. /oferta/audyt/, zamiast adresu z parametramiprostsze adresy dla ludzi i robotów
Nagłówek X-Robots-Tagwyklucza z indeksu pliki bez kodu HTML, np. PDFkontrola nad tym, co trafia do Google
Ochrona hasłemzamyka katalog, np. wersję testową stronywersja testowa nie trafia do wyników
Blokada adresów IP i robotówodcina ruch z wybranych adresówodciąża serwer, ale zła reguła odcina też wyszukiwarki
Własne strony błędówpokazuje własną stronę 404 zamiast komunikatu serweraklient zostaje w serwisie
Kompresja i pamięć podręcznazmniejsza przesyłane pliki i każe przeglądarce trzymać je dłużejszybsze ładowanie strony

Część funkcji wymaga modułów serwera, np. mod_rewrite do przepisywania adresów albo mod_headers do nagłówków. Polecenie niedozwolone kończy się błędem serwera. Gdy reguła nie działa, zapytaj go najpierw, czy potrzebny moduł jest włączony.

Dostawca hostingu decyduje też ustawieniem AllowOverride, czy serwer w ogóle czyta .htaccess i które polecenia wolno w nim umieścić.

Jak plik .htaccess wpływa na SEO?

Sam plik nie jest czynnikiem rankingowym. Wpływa na SEO przez to, co w nim ustawisz: na jaki adres trafia robot, jaki kod odpowiedzi dostaje i jak szybko ładuje się strona.

  • Jeden adres strony. Ta sama treść pod kilkoma adresami to duplikaty. Google traktuje przekierowanie jako silny sygnał, że adres docelowy ma być adresem kanonicznym, a przy dwóch takich samych stronach wybiera wersję HTTPS.
  • Ruch po zmianie adresów. Według dokumentacji Google o przenoszeniu witryny przekierowania 301 i inne stałe przekierowania nie powodują utraty PageRanku. Bez nich stare linki prowadzą do błędu 404.
  • Kody odpowiedzi. Błędy serwera z grupy 5xx spowalniają pracę robotów Google, a adresy, które zwracają je długo, wypadają z indeksu.
  • Szybkość. Kompresja i pamięć podręczna skracają ładowanie, które Google mierzy wskaźnikami Core Web Vitals.

W modelu Search Ecosystem™ te ustawienia należą do fundamentu widoczności w Google. Zanim treść zacznie pracować na pozycje, robot musi trafić na właściwy adres i dostać poprawną odpowiedź serwera. Dlatego przekierowania i kody odpowiedzi to jeden z pierwszych punktów każdego audytu SEO.

Co to oznacza dla Twojego biznesu?

Błąd w pliku .htaccess nie zostaje w dziale IT. Zła reguła przekierowania po zmianie strony potrafi zgubić ruch z Google budowany latami, a literówka wyłącza serwis razem ze sklepem i formularzami. Traktuj każdą zmianę w tym pliku jak decyzję o ruchu i sprzedaży: przed wdrożeniem niech ktoś ją sprawdzi.

Jak ustawić przekierowania w pliku .htaccess?

Przekierowanie ustawisz jedną linią albo regułą modułu mod_rewrite. Google wymienia plik .htaccess jako jedno z miejsc, w których ustawia się przekierowania po stronie serwera. Ten rodzaj przekierowania Google odczytuje najpewniej.

Pojedynczy adres przekierujesz tak:

Redirect 301 /stara-oferta/ https://domena.pl/nowa-oferta/

Ta sama strona bywa dostępna pod czterema adresami: z http albo https, z www albo bez. Reguła poniżej kieruje wszystkie wersje na jedną, https://domena.pl, w jednym kroku:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.domena\.pl$ [NC]
RewriteRule ^(.*)$ https://domena.pl/$1 [L,R=301]

Trzy zasady oszczędzają najwięcej kłopotów:

  • Kieruj od razu na adres końcowy. Google zaleca przy przenosinach łańcuchy krótsze niż 5 przekierowań, najlepiej najwyżej 3, a jego roboty idą za najwyżej 10 kolejnymi.
  • Każdy stary adres kieruj na odpowiednik treści, nie hurtem na stronę główną. Przekierowanie wielu adresów na niepasującą stronę Google może potraktować jak soft 404.
  • Utrzymuj przekierowania długo. Przy przenosinach Google zaleca co najmniej rok.

Kiedy wybrać 301, a kiedy 302 albo rel=canonical, opisujemy we wpisie o przekierowaniu 301. Jeśli strona stoi na WordPressie, zajrzyj też do kompendium przekierowań na WordPressie.

Jak zablokować indeksowanie i dostęp w pliku .htaccess?

Plik .htaccess zamyka dostęp tam, gdzie znacznik w kodzie strony nie wystarcza. Najczęściej chodzi o trzy sytuacje.

Pliki PDF poza indeksem.

Do pliku PDF nie dopiszesz metatagu noindex, bo nie ma w nim kodu HTML. Zamiast tego serwer wysyła nagłówek X-Robots-Tag. Przykład z dokumentacji Google dla wszystkich plików PDF:

<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>

Wersja testowa strony za hasłem.

Kopia strony w budowie nie powinna trafić do Google. Dla treści prywatnych Google zaleca ochronę hasłem: zablokuje ona pokazywanie w wynikach, a strony, które już tam są, z czasem z nich znikną. Na Apache hasło do katalogu ustawia się właśnie w .htaccess, razem z plikiem haseł .htpasswd.

Blokowanie robotów.

Blokada po nazwie robota (user agent) jest zawodna, bo taką nazwę może podać każdy. Google opisuje, jak sprawdzić, czy wizyta pochodzi od Googlebota: odwrotnym zapytaniem DNS albo porównaniem z opublikowanymi zakresami adresów IP. Zbyt szeroka reguła łatwo odcina prawdziwego Googlebota.

Ostrożnie z robotami asystentów AI. OpenAI rozdziela je według celu: GPTBot zbiera treści do trenowania modeli, a OAI-SearchBot obsługuje wyszukiwanie w ChatGPT. Strony, które blokują OAI-SearchBot, nie pojawiają się w odpowiedziach wyszukiwania ChatGPT. OpenAI zaleca sterować tymi robotami w pliku robots.txt. Zanim zablokujesz „boty AI” w .htaccess, zdecyduj, czy chcesz wyłączyć tylko trenowanie, czy także widoczność w AI Search.

Aleksandra Bielecka

Zdaniem eksperta ICEA

„Przy przeglądzie pliku .htaccess najczęściej trafiamy na listy blokowanych robotów skopiowane z gotowych poradników. Taka lista potrafi odciąć narzędzia, z których firma sama korzysta, a czasem roboty wyszukiwarek, dlatego każdą blokadę najpierw porównujemy z logami serwera i dopiero potem decydujemy, czy zostaje.”

Aleksandra BieleckaSEO Specialist, ICEA.

Jak plik .htaccess przyspiesza stronę?

Plik .htaccess przyspiesza stronę na dwa sposoby: kompresją plików i nagłówkami pamięci podręcznej.

  • Kompresja. Serwer wysyła pliki HTML, CSS i JavaScript w postaci skompresowanej, a przeglądarka je rozpakowuje. Roboty Google obsługują kompresję gzip, deflate i Brotli. Na Apache kompresję zwykle włącza moduł mod_deflate, a wiele hostingów ma ją włączoną domyślnie. Sprawdzisz to w narzędziach deweloperskich przeglądarki: skompresowany plik ma nagłówek Content-Encoding.
  • Pamięć podręczna. Nagłówek Cache-Control z wartością max-age mówi przeglądarce, przez ile sekund plik może leżeć w pamięci bez ponownego pobierania. Google zaleca ustawiać ją na czas, przez który treść się nie zmienia. Grafiki, czcionki i style mogą mieć długi czas, a kod HTML krótki, żeby klient widział aktualne ceny i treść.

Efekt mierzysz wskaźnikami Core Web Vitals. Google zaleca, żeby największy element strony (LCP) wczytał się w ciągu 2,5 sekundy, reakcja na kliknięcie (INP) trwała mniej niż 200 milisekund, a układ strony nie przeskakiwał (CLS poniżej 0,1). Pisze też, że dobre wyniki są zgodne z tym, co nagradzają jego główne systemy rankingowe. Plik .htaccess pomaga przy ładowaniu, ale nie naprawi ciężkich grafik ani wolnej aplikacji.

Jakie błędy w pliku .htaccess kosztują najwięcej?

Najdroższy błąd to literówka, która wyłącza całą stronę. Serwer, który nie rozumie polecenia w .htaccess albo nie pozwala go użyć, odpowiada błędem 500 na każde wejście, także do koszyka i formularzy.

  • Pętla przekierowań: jedna reguła kieruje adres A na B, a druga B na A. Przeglądarka pokazuje błąd zamiast strony.
  • Łańcuchy po kolejnych migracjach: stary adres przechodzi przez kilka przekierowań, zanim trafi na stronę.
  • Wszystkie stare adresy przekierowane na stronę główną. Klient nie znajduje produktu, którego szukał.
  • Zbyt szeroka blokada robotów albo adresów IP, która odcina wyszukiwarki.
  • Własne reguły dopisane do bloku, którym zarządza CMS. Przy zmianie ustawień system nadpisuje taki blok i reguły znikają.
  • Stare reguły, których nikt nie rozumie, np. przekierowania do usuniętych stron albo blokady sprzed lat.

Część tych błędów widać w raportach Search Console dopiero po czasie. Dlatego sprawdzaj stronę od razu po każdej zmianie, a nie po tygodniu.

Jak bezpiecznie edytować plik .htaccess?

Bezpieczna edycja to kopia, jedna zmiana naraz i sprawdzenie strony zaraz po zapisaniu. Cała procedura zajmuje kilka minut.

  1. Sprawdź u dostawcy hostingu, czy strona działa na Apache i czy możesz edytować .htaccess.
  2. Połącz się z serwerem przez FTP albo menedżer plików w panelu hostingu i włącz pokazywanie plików ukrytych.
  3. Pobierz kopię obecnego pliku i zapisz ją z datą w nazwie.
  4. Edytuj plik w zwykłym edytorze tekstu, np. w Notatniku, a nie w programie, który dodaje formatowanie.
  5. Po zapisaniu otwórz stronę główną i kilka podstron w oknie prywatnym przeglądarki. Gdy pojawia się błąd 500, od razu przywróć kopię.
  6. Sprawdź przekierowania narzędziem do sprawdzania adresów URL w Search Console albo programem, który przechodzi przez całą stronę jak robot.
  7. Zapisz, co zmieniłeś i dlaczego. Za rok nikt nie będzie pamiętał, po co jest dana reguła.

Co zrobić teraz?

Plik .htaccess to mały plik o dużym zasięgu. Decyduje, na jaki adres trafia klient i robot, co Google może zaindeksować i jak szybko ładuje się strona. Nie podnosi pozycji sam z siebie, ale błąd w nim potrafi zatrzymać cały serwis.

Zacznij od trzech kontroli. Czy wszystkie wersje adresu prowadzą jednym przekierowaniem na wersję https? Czy stare adresy z ruchem mają przekierowanie na odpowiednik? Czy żadna reguła nie blokuje robotów, na których Ci zależy?

Jeśli planujesz zmianę domeny albo przebudowę strony, przygotuj mapę przekierowań, zanim ruszy nowa wersja. Dopisanie reguł po starcie jest zawsze droższe niż plan przed nim.

Najczęstsze pytania.

Gdzie znajduje się plik .htaccess?

Zwykle w głównym katalogu strony na serwerze, obok plików startowych serwisu. Może też leżeć w podkatalogu i wtedy działa tylko w nim. Jeśli go nie ma, a serwer to Apache, możesz go utworzyć jako zwykły plik tekstowy.

Dlaczego nie widzę pliku .htaccess na serwerze?

Nazwa zaczyna się od kropki, więc programy FTP i menedżery plików często ukrywają taki plik. Włącz pokazywanie plików ukrytych. Gdy dalej go nie ma, strona może działać na serwerze bez obsługi .htaccess, np. na NGINX.

Czy WordPress potrzebuje pliku .htaccess?

Tak, jeśli działa na serwerze Apache: WordPress zapisuje w nim reguły czytelnych adresów wpisów i stron, między znacznikami # BEGIN WordPress i # END WordPress. Tym blokiem zarządza WordPress, więc własne reguły dopisuj poza nim.

Tomasz Czechowski
Tomasz CzechowskiHead of SEO

Pisze w Insights o temacie Google Search.

Google Search

Sprawdźmy, co blokuje Twoją stronę.

Audyt pokazuje, które poprawki dadzą ruch najszybciej, a które mogą poczekać.

Zamów bezpłatny audyt pozycjonowania

Dołącz do newslettera

Solidna dawka wiedzy co dwa tygodnie na Twoim mailu.

* Zapisując się, akceptujesz politykę  prywatności.