Na samym początku warto zastanowić się nad tym, czym właściwie jest plik .htaccess? W dużym skrócie jest on plikiem konfiguracyjnym serwera WWW. Korzystanie z niego pozwala na zdefiniowanie ustawień serwera oraz wprowadzanie w nim ewentualnych zmian za pomocą edycji kodu zawartego w pliku.
Czym jest plik .htaccess?
Jego nazwa to skrót od angielskich słów Hypertext Access. Sam plik może być wykorzystywany przez użytkowników w różny sposób i daje im sporo możliwości. W tym tekście zwróciliśmy uwagę na główne z nich.
W czym pomaga plik .htaccess?
Plik ten służy do konfigurowania działań serwera. W pliku dodaje się funkcje, dzięki którym można kontrolować m.in.: sposób wyświetlania się adresu witryny lub strony, przekierowania, a także tworzenie zabezpieczeń dla katalogów i baz danych. Z punktu widzenia użytkownika to bardzo ważne funkcje, ponieważ bezpośrednio wpływają na poprawne działanie witryny oraz jej optymalizację, co w konsekwencji przekłada się na jej pozycjonowanie w organicznych wynikach wyszukiwania.
Kiedy używać pliku i jak działa?
Warto zwrócić uwagę na to, że plik konfiguracyjny swoim działaniem i funkcjami obejmuje cały katalog, w którym się znajduje, a także treści wszystkich podkatalogów, o ile nie zostały one skonfigurowane z innym plikiem .htaccess. Pliku tego można więc używać oddzielnie w kontekście różnych katalogów i podkatalogów na witrynie.
Poniżej przedstawiamy najczęstsze zastosowania pliku .htaccess.
Kontrola dostępu do katalogów
Plik .htaccess ogranicza dostęp do katalogów i baz danych oraz nadaje takie uprawnienia tylko właścicielowi witryny. To kluczowy aspekt w trosce o zwiększenie bezpieczeństwa strony internetowej zarówno dla właściciela, jak i osób ją odwiedzających. Aby osiągnąć ten cel, należy wpisać do pliku konfiguracyjnego dedykowaną dyrektywę, a następnie plik konfiguracyjny umieścić w danym katalogu. Wówczas można zabezpieczyć go m.in. hasłem dostępu i loginem.
Przekierowanie 301
Najczęściej funkcję tę wykorzystuje się w trakcie migracji strony internetowej pod inny adres. Jeżeli chcemy stworzyć przekierowania domeny, plik konfiguracyjny będzie nieocenionym wsparciem. Stosuje się to m.in. wtedy, gdy nasza strona występuje pod dwoma różnymi adresami i chcemy uniknąć efektu duplikacji treści. Brak takiego przekierowania może negatywnie odbić się na pozycjonowaniu. Przekierowanie domeny .htaccess stosuje się również w momencie implementacji certyfikatu SSL, gdy następuje przekierowanie z http na https. Możliwości pliku pozwalają na tworzenie przekierowań z podstron na inne podstrony.
Blokowanie użytkowników
Za pomocą pliku można zablokować konkretny adres IP lub nazwę hosta, który będzie przypisany do wybranego użytkownika. Może być to konieczne, gdy użytkownik łamie regulamin serwisu, jego zachowanie negatywnie wpływa na komfort użytkowania serwisu przez innych lub wykonuje on inne niepokojące czynności. Im szybciej zablokuje się taką osobę, tym lepiej.
Ustawianie własnych stron błędów
Docelowo każdy serwer wyświetla komunikat błędów (np. 503, 500, 404) w sposób domyślny. Po zastosowaniu .htaccess można ustalić własny wygląd strony błędu, co pozwoli na wyróżnienie się na tle konkurencji i stworzenie przekazu bardziej dopasowanego do danej witryny, m.in. w zakresie kolorystyki.
Zwiększenie szybkości strony
Poprzez zmiany w zapisie pliku można zwiększyć szybkość ładowania się strony internetowej. To kolejny czynnik, który ma wpływ na SEO, osiągnięty ranking i końcową pozycję w organicznych wynikach wyszukiwania. Jeżeli witryna ładuje się zbyt wolno, to otrzyma niższą ocenę od robotów Google oraz wielu użytkowników zrezygnuje z jej odwiedzenia, jeszcze przed zobaczeniem treści. Warto więc przyspieszyć stronę.
Generowanie przyjaznych linków
Każdy przyjazny link korzystnie wpływa na pozycjonowanie witryny w organicznych wynikach wyszukiwania oraz sprawia, że odwiedzający witrynę użytkownicy mają lepsze doświadczenia z nią związane.
Zmiana wersji PHP
Za pomocą pliku możliwa jest również zmiana wersji PHP. W tym celu wystarczy przygotować plik .htaccess, a następnie wpisać w nim odpowiednią dyrektywę.
Cachowanie
Funkcje pliku .htaccess pozwalają na dostosowanie pamięci podręcznej i jej zawartości po stronie klienta.
Ogólne warunki bezpieczeństwa strony
Umiejętne korzystanie z poszczególnych funkcji pliku konfiguracyjnego pozwala na zwiększenie bezpieczeństwa strony internetowej. Wpływ na to mają odpowiednio zastosowane przekierowania oraz konfiguracja serwera. Im większe bezpieczeństwo witryny, tym wyższe punkty rankingowe w ocenie robotów Google.
Blokowanie hotlinkowania i botów
Plik .htaccess umożliwia nie tylko blokowanie użytkowników, ale także botów i hotlinkowania. W tym celu również należy zastosować odpowiednią dyrektywę, która uniemożliwi konkretnym botom wejście na stronę.
Jak stworzyć plik .htaccess?
Stworzenie tego pliku jest naprawdę bardzo proste. Wystarczy, że wejdziemy w katalog, na którym znajdują się wszystkie pliki naszej strony internetowej, a następnie stworzymy plik o rozszerzeniu .htaccess. Na początku w pliku powinniśmy wkleić poniższy kod:
order allow, deny
deny from all
Options All – Indexes
To jeden z podstawowych przykładów tego pliku i będzie nam potrzebny jedynie na początku. Wpisany kod zabezpiecza plik .htaccess przed podglądem z zewnątrz, a także zakazuje listowania plików w folderze, gdzie znajduje się nasza strona. Pamiętajmy również, by na wszelki wypadek zrobić jego kopię zapasową.
Tworzenie pliku .htaccess za pomocą edytora tekstowego
Stworzenie pliku .htaccess nie jest bardzo wymagającym zadaniem. Do tego celu wystarczy wykorzystać nawet prosty edytor tekstowy (np. notatnik). Należy wcześniej nadać .htaccess uprawnienia 644. Nazwa pliku konfiguracyjnego może być inna i zależy od użytkownika. Zmiana nazwy możliwa jest dzięki regule AccessFileName.
Skuteczne zapisanie pliku .htaccess odbywa się z kodowaniem UTF-8. Domyślnie Windows zapisuje pliki w formacie ANSI, dlatego w przypadku tego pojedynczego pliku należy to zmienić lub go przekonwertować. Należy pamiętać o tym, że plik ten pozostaje plikiem ukrytym, czyli można go zweryfikować lub edytować tylko po bezpośrednim połączeniu z serwerem FTP.
Ułatwieniem dla użytkowników jest to, że nie muszą oni samodzielnie wpisywać mniej lub bardziej skomplikowanych reguł do pliku tekstowego. W tym celu z powodzeniem można wykorzystać dedykowany .htaccess generator.
Tworzenie pliku .htaccess za pomocą menedżera plików
Alternatywnym rozwiązaniem jest stworzenie pliku .htaccess za pomocą menedżera plików, który dostępny jest dla użytkowników po zalogowaniu się do serwera i przejściu do panelu administracyjnego. Może dojść do sytuacji, że plik już istnieje w wybranym katalogu i wówczas nie ma potrzeby tworzenia go od nowa.
Zapisywanie dyrektyw
W pojedynczym pliku konfiguracyjnym może być zapisanych wiele dyrektyw. Po każdej linii zapisu należy zrobić „enter”. Jeżeli się o to nie zadba, to dyrektywy mogą być zapisane ciągiem i tak będą definiowane. Brak załamywania wierszy spowoduje, że poszczególne funkcje i możliwości pliku .htaccess nie będą działały. Na samym końcu pliku niezbędne jest pozostawienie pustej linii, czyli dla bezpieczeństwa, po ostatniej dyrektywie warto ponownie zrobić „enter”.
Lokalizacja pliku ma znaczenie
Z punktu widzenia użytkowników bardzo ważne jest również miejsce, w którym umieszcza się plik .htaccess. Powinien być zlokalizowany na serwerze FTP i wdrożony do odpowiedniego katalogu. Umieszczenie pliku w innym katalogu sprawi, że jego dyrektywy będą działały na niego, a nie na ten, na którym zależy właścicielowi lub administratorowi strony. Umieszczony w katalogu plik .htaccess działa bezpośrednio na wszystkie podkatalogi w danej strukturze, chyba że dane podkatalogi mają już swój plik .htaccess. Oczywiście użytkownik może zdecydować się na umieszczenie pliku tylko w podkatalogu, a nie w całym katalogu i wówczas będzie oddziaływał tylko na niego. Odpowiednie rozplanowanie i weryfikacja poprawności lokalizacyjnej plików .htaccess mają duży wpływ na funkcjonalność witryny oraz jej ranking SEO.
Plik .htaccess a WordPress
Obecnie wśród CMS-ów największą popularnością wydaje się cieszyć WordPress. Również w przypadku tego narzędzia możliwe jest skonfigurowanie i skuteczne wykorzystywanie plików .htaccess. Dzięki niemu można m.in. uzyskać dodatkową ochronę dla pliku wp-config.php. W tym celu stosuje się odpowiednią dyrektywę. Ułatwieniem w dostępie do dedykowanego pliku konfiguracyjnego może być instalacja wtyczki Yoast SEO i korzystanie z niej.
Dlaczego plik .htaccess przydaje się w pozycjonowaniu?
Powiedzieliśmy już sobie, jak stworzyć plik i jak go zabezpieczyć. Warto teraz wymienić jego najważniejsze funkcje, które wpłyną nie tylko na poprawę bezpieczeństwa witryny, ale także na SEO. Należy tu m.in. ustawianie przekierowań czy kompresja GZIP. Takie funkcje ułatwiają użytkownikom i wyszukiwarkom łatwiejsze odnalezienie witryny oraz w przypadku botów – szybszą indeksację. Warto zwrócić uwagę na to, że dzięki przekierowaniom unikamy duplicate content, który może obniżyć naszą pozycję. Z kolei kompresja GZIP pomoże nam przyspieszyć wczytywanie się strony.
Przyjazne linki
Przyjazne, czyli takie, które są odpowiednie zarówno dla użytkowników, jak i robotów wyszukiwarki. Powinny być łatwe do zapamiętania, zapisania i przeczytania, a robot wyszukiwarki powinien mieć możliwość zdefiniowania na ich podstawie struktury serwisu oraz zaindeksowania strony. Przyjazne linki możemy łatwo ustawić za pomocą modułu rewrite, czyli mod_rewrite. Jeśli np. nasze linki wyglądają następująco: „/index.php?strona=akwaria„, możemy z łatwością zmienić je na „/strona/akwaria/” lub po prostu „/akwaria/„. Mimo, że linki zmienią postać, to cały czas będziemy odwoływać się do ich pierwotnej postaci. Taka mała różnica, że robi to serwer w sposób niewidoczny dla innych. Wówczas wiersze poleceń wyglądają następująco:
# inicjujemy rewrite engine
RewriteEngine on
# dla przykładu z www.strona.pl/strona/akwaria/
RewriteRule ^strona/([^/.]+)/?$ index.php?strona=$1 [L]
# dla przykładu z www.strona.pl/akwaria/
RewriteRule ^/([^/.]+)/?$ index.php?strona=$1 [L]
Gdy przepisujemy URL’e w taki sposób, jak napisano wyżej, musimy pamiętać o slashach na końcu adresu. Aby mieć pewność, że się tam pojawią, należy zastosować następujący zapis:
# nie dodajemy nic, jeśli żądany plik istnieje
RewriteCond %{REQUEST_FILENAME} !-f
# sprawdzamy, czy dany URL nie ma slasha na końcu
RewriteCond %{REQUEST_URI} !(.*)/$
# jeśli nie ma, przepisujemy URL z przekierowaniem 301
RewriteRule ^(.*)$
://%{HTTP_HOST}/$1/ [L,R=301]
Jeśli chcemy stosować dopisywanie ukośnika na końcu wraz z przyjaznymi linkami, zapis dotyczący slasha musi pojawić się w pliku .htaccess na początku.
htaccess redirects – przekierowania 301
Przekierowanie z WWW na bez WWW
Mało ludzi zdaje sobie sprawę z tego, że adresy:
http://www.strona.pl/
http://strona.pl
https://www.strona.pl
https://strona.pl
są odczytywane przez roboty wyszukiwarek jako odrębne domeny. Brak odpowiednich przekierowań może przyczynić się do problemów z duplicate content, czyli powielaniem treści. Chcąc się ich pozbyć, należy wybrać tylko jeden adres i ustawić przekierowanie na drugim. Jak tego dokonać?
RewriteEngine on
# przekierowanie dla przykładu z WWW na bez WWW
RewriteCond %{HTTP_HOST} ^www.strona.pl$ [NC]
RewriteRule ^(.*)$ http://strona.pl/$1 [R=301,L]
# przekierowanie dla przykładu z bez WWW na WWW
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Dedykowane strony dla błędów
Najczęstszym z nich jest błąd 404, czyli brak strony. Plik .htacces pozwala na zdefiniowanie unikalnej strony z odpowiednim komunikatem typu „Podana podstrona nie istnieje w serwisie”, wykonuje się to poprzez:
# dla błędu 404
ErrorDocument 404 /blad404.html
# dla błędu 500
ErrorDocument 500 /blad500.html
htaccess kompresja GZIP
Kompresja GZIP
GZIP jest programem, który ma służyć bezstratnej kompresji danych. Umożliwia to oczywiście szybsze wczytywanie się strony. Wiele serwerów ma już nałożoną kompresję GZIP i wówczas nie potrzebujemy nowego kodu. Sprawdzimy to na stronie GIDNetwork. Jeśli jednak nie mamy kompresji, musimy skorzystać z następujących kodów:
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
Expires – czas wygaśnięcia cache?
Ważną rzeczą jest zapamiętywanie plików z naszej strony przez przeglądarkę tylko na określony czas. Oczywiście lepiej ustawić dłuższy czas, by przeglądarka nie musiała za każdym razem pobierać plików ze strony. Przykładowo, pliki graficzne mają być nieodświeżane przez 1 miesiąc, w tym celu wpisujemy w .htaccess:
ExpiresActive on
ExpiresDefault „access plus 1 month”
ExpiresByType text/cache-manifest „access plus 0 seconds”
ExpiresByType text/html „access plus 0 seconds”
ExpiresByType text/xml „access plus 0 seconds”
ExpiresByType application/xml „access plus 0 seconds”
ExpiresByType application/json „access plus 0 seconds”
ExpiresByType image/x-icon „access plus 1 week”
ExpiresByType image/gif „access plus 1 month”
ExpiresByType image/png „access plus 1 month”
ExpiresByType image/jpg „access plus 1 month”
ExpiresByType image/jpeg „access plus 1 month”
ExpiresByType text/x-component „access plus 1 month”
ExpiresByType font/truetype „access plus 1 month”
ExpiresByType font/opentype „access plus 1 month”
ExpiresByType application/x-font-woff „access plus 1 month”
ExpiresByType image/svg+xml „access plus 1 month”
ExpiresByType application/vnd.ms-fontobject „access plus 1 month”
ExpiresByType text/css „access plus 1 month”
ExpiresByType application/javascript „access plus 1 month”
ExpiresByType text/javascript „access plus 1 month”
Header append Cache-Control „public”
htaccess https SSL
Protokół HTTPS dla wybranych podstron witryny
Jeśli niektóre z naszych podstron wymagają protokołu HTTPS, możemy w prosty sposób go ustawić za pomocą poniższego kodu:
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/secure/(.*)$ [NC]
RewriteRule ^(.*)$ https://strona.pl/$1 [R=301,L]
Wówczas pierwotny adres:
http://strona.com/formularz-logowania
przepisany zostanie na adres URL z HTTPS:
https://strona.com/formularz-logowania
Aby wprowadzić daną funkcję, warto skorzystać z generatora plików .htaccess, który znajduje się np. na stronie: http://htaccess.lapti.pl/.
Czy plik .htaccess można wykorzystywać we własnym zakresie?
Obsługa pliku .htaccess jest bardzo intuicyjna, dlatego z powodzeniem można to robić we własnym zakresie. Wymagana do tego jest tylko podstawowa wiedza techniczna z zakresu tworzenia i obsługi stron internetowych, a także znajomość zagadnień SEO i ich skutecznego wykorzystywania. Jeżeli nie posiadamy takiej wiedzy lub obawiamy się popełnienia błędów, to warto pomyśleć o outsourcingu usług i skorzystać z usług profesjonalnej agencji SEO.
Oddzwonimy na wskazany numer telefonu, aby umówić się na dogodny dla Ciebie termin niezobowiązującej konsultacji z naszym specjalistą.
Do usłyszenia!