Konfiguracja pliku .htaccess a pozycjonowanie SEO – triki i FAQ

Autor:
Boo
Data publikacji:
Kategoria:
Pozycjonowanie
Konfiguracja pliku .htaccess a pozycjonowanie SEO – triki i FAQ

Lukas/pexels.com

Czym jest .htaccess?

Jak zapewne niektórzy zdają sobie sprawę, .htaccess (Hypertext Access) jest plikiem konfiguracyjnym, stosowanym na serwerach WWW Apache. Dzięki niemu możemy określić bazowe ustawienia serwera. Innymi słowy – plik .htaccess może być wykorzystywany do zmiany zachowań serwera. W tym pliku możemy dodawać i edytować kody, które odpowiedzialne są za poszczególne funkcje. Każda z nich to linijka kodu, która wydaje polecenia serwerowi.

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. Jego edycja również jest tak samo prosta – możemy użyć do niej zwykłego notatnika. 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. Do czego? Wpisany kod zabezpiecza nasz 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 zrobić jego kopię zapasową na wszelki wypadek.

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 nie tylko ułatwiają użytkownikom, a także wyszukiwarkom łatwiejsze odnalezienie witryny i w przypadku botów – szybszą indeksację. Warto również 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 adresy stron są ważnym elementem, jeśli mówimy o funkcjonalnej nawigacji. Przyjazne, czyli takie, które są odpowiednie zarówno dla użytkowników, jak i robotów wyszukiwarki. Po pierwsze – 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. By 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, o czym możecie przeczytać tutaj. By pozbyć się możliwych problemów z duplikacją treści, powinniśmy 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]


Źródło: Christina Morillo/pexels.com

Dedykowane strony dla błędów

Błędy na stronie zdarzają się często – najczęstszym z nich jest błąd 404, czyli brak strony. Plik .htacces pozwala nam 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?

Kolejną 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

Oczywiście to jedynie część z wielu funkcji, jakie możemy uzyskać edytując plik .htaccess. Jeśli macie problemy z zapamiętaniem kolejnych wierszy poleceń albo nie wiecie w ogóle, jakiego kodu użyć, by wprowadzić daną funkcję, skorzystajcie z generatora plików .htaccess, który znajduje się np. na stronie: http://htaccess.lapti.pl/.

Udostępnij:
Ostatnie wpisy

    Twoja strona nie jest widoczna w wyszukiwarce? My wiemy jak to zmienić!
    Umów się na bezpłatną konsultację z naszym analitykiem SEO i dowiedz się, jak skutecznie pozycjonować swój biznes

    Twój adres e-mail nie zostanie opublikowany.

    *

    Oceń tekst
    Rozpocznij chat
    Zamów rozmowę

      Chcesz poznać
      ofertę?
      Skontaktujemy się z Tobą w ciągu kilku minut! Jesteśmy dostępni w dni robocze w godzinach 9-15.
      Niestety aktualnie nasz konsultant nie jest dostępny. Skontaktujemy się z Tobą w godzinach otwarcia biura.
      Wyrażam zgodę na przetwarzanie powyższych danych w celu nawiązania ze mną kontaktu. Więcej w Polityce Prywatności.