Best .htaccess Guide for SEOs (With Examples!)

Twoja strona mogła spaść po dokonaniu kilku zmian w pliku .htaccess. Ale to nie jest nic, o co należy się martwić!

To się dzieje z wieloma SEO, którzy starają się przejść dodatkową milę, robiąc techniczne poprawki.

Zwykle edycje dokonane za pośrednictwem pulpitu nawigacyjnego WordPress dają mini atak paniki, ponieważ jesteś zablokowany z pulpitu nawigacyjnego po aktualizacji błędnego pliku .htaccess.

.htaccess pliki są zarówno dobrodziejstwem, jak i zmorą dla SEO, ponieważ pomaga dostosować funkcje witryny.

Począwszy od ochrony plików za pomocą hasła, wykonania przekierowania 301 lub ustawienia specjalnej strony błędu, .htaccess przydaje się, jeśli twoja witryna działa na serwerze Apache.

Jeśli jesteś kimś, kto szuka szybkiej poprawki, aby przywrócić witrynę do życia po awarii aktualizacji .htaccess lub jeśli chcesz dowiedzieć się więcej o optymalizacji .htaccess swojej witryny, jest to zasób, który myślałeś, że nigdy nie istniał.

Mamy zamiar dać ci kilka bardzo szybkich .htaccess poprawek i wskazówek, tak, że ty, jako SEO, może teraz pewnie dokonać zmian na stronie internetowej, nie martwiąc się o następstwa.

Wiesz już, co .htaccess jest i jak przydatne jest dla webmastera, który prowadzi Apache Web Server.

Jednakże, wyjaśnię kilka podstaw .htaccess dla początkujących, aby pomóc im zrozumieć go przed wdrożeniem.

Nie krępuj się przechodzić do wybranego rozdziału za pomocą Spisu Treści.

Co to jest .htaccess?

.htaccess jest plikiem konfiguracyjnym, który może być odczytany i wykonany przez oprogramowanie serwera WWW Apache w celu włączenia/wyłączenia dodatkowych funkcjonalności i cech. Ponieważ plik .htaccess istnieje w środowisku opartym na systemie Unix i jest wykonywany na poziomie katalogu, zastępuje on globalne ustawienia serwera WWW, umożliwiając niestandardową konfigurację dostępu do witryny.

Co oznacza skrót .htaccess?

.htaccess jest akronimem dla „dostępu hipertekstowego”. Nazwa została wyprowadzona po tym, jak plik stał się popularny wśród programistów, którzy używali go do modyfikowania funkcji dostępności użytkownika na zasadzie per-directory.

.htaccess wykorzystuje dyrektywy http.config serwera Apache, aby umożliwić i ograniczyć dostęp do katalogów dla osób używających nazw użytkowników i haseł. Jednakże, jeśli chodzi o SEO, .htaccess ma jeszcze większą rolę do odegrania.

Do czego służy .htaccess?

Jeśli masz stronę internetową, która ma różne wymagania w sposób stały, rozważ .htaccess jako dobrodziejstwo.

Jako SEO, .htaccess jest przydatny, ponieważ możesz go używać do dawania dyrektyw serwerowi WWW do przekierowań 301, włączania buforowania, aktualizowania nagłówków HTTP, kontrolowania indeksowania, czynienia adresów URL przyjaznymi dla SEO i wiele więcej!

Gdzie można znaleźć plik .htaccess?

Ponieważ .htaccess jest konfiguracją poziomu katalogu, możesz go znaleźć w prawie wszystkich katalogach w twoim katalogu internetowym. Jeśli masz pojedynczy katalog z wieloma podkatalogami (witryna), plik .htaccess można znaleźć w katalogu głównym, jak również wewnątrz każdego podkatalogu.

Jeśli jesteś użytkownikiem WordPressa, najlepszym sposobem na uzyskanie dostępu do pliku .htaccess jest opcja wtyczki Yoast.

Uwaga: Ponieważ .htaccess nie jest czymś, czym początkujący powinni się bawić, polecam przetestowanie go na stronie demonstracyjnej. Ponadto, musisz mieć obszerną wiedzę na temat korzystania z Filezilla, aby uzyskać dostęp do folderu głównego, jeśli zostaniesz zablokowany z WordPress Admin.

Jeśli prowadzisz witrynę WordPress, istnieje garść wtyczek, które obsługują edycję pliku .htaccess. Ponieważ większość użytkowników WordPressa wybiera Yoast jako domyślną wtyczkę SEO, pozwól mi wyjaśnić, jak możesz edytować plik .htaccess w Yoast Dashboard w ramach WordPress.

Krok 1: Zaloguj się do swojego pulpitu administratora WordPress

Krok 2: Otwórz Ustawienia Yoast

Krok 3: Otwórz Narzędzia

Krok 4: W obrębie narzędzi wybierz „Edytor plików”

Krok 5: Edytuj plik .htaccess i zapisz

W większości witryn WordPress, .htaccess przychodzi z tą domyślną konfiguracją:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
# END WordPress

Co jeśli twoja witryna nie ma pliku .htaccess?

Ponieważ .htaccess jest automatycznie generowanym plikiem konfiguracyjnym, w 99% przypadków będzie on obecny. Jednakże, zazwyczaj jest to plik ukryty w katalogach i webmasterzy myślą, że go nie ma. Po prostu włącz „pokaż ukryte pliki” i powinieneś być w stanie go znaleźć.

Jeśli nie uda Ci się znaleźć pliku .htaccess nawet po wykonaniu tych czynności, być może będziesz musiał napisać go ręcznie i przesłać na swój serwer WWW.

Kroki do stworzenia własnego pliku .htaccess

Krok 1: Otwórz notatnik

Krok 2: Wpisz konfigurację (do testu użyj domyślnej konfiguracji podanej powyżej)

Krok 3: Zapisz plik w ASCII z nazwą .htaccess

Krok 4: Upewnij się, że plik nie jest zapisany w formacie .txt

Krok 5: Użyj Filezilla, aby przesłać plik .htaccess do swojego katalogu internetowego

Uwaga: Jeśli jesteś użytkownikiem WordPressa i masz puste pole dla pliku .htaccess, po prostu dodaj konfigurację i zapisz.

Co zrobić, jeśli zostaniesz zablokowany z WordPress Dashboard po aktualizacji pliku .htaccess?

Mogłeś zaktualizować plik .htaccess za pomocą Yoast lub za pomocą Menedżera plików WP i zostałeś zablokowany z pulpitu nawigacyjnego. Nie wpadaj w panikę. Można to łatwo naprawić.

Jeśli jesteś SEO, uzyskaj dostęp do FTP swojej witryny od dewelopera na tym, który zarządza serwerem. Jeśli potrzebujesz pomocy eksperta, twój deweloper może być najlepszą pomocną dłonią.

Krok 1: Zaloguj się do swojego katalogu internetowego używając FileZilla

Krok 2: Pobierz plik .htaccess z katalogu

Krok 3: Zaktualizuj plik .htaccess z domyślną konfiguracją i zapisz go

Krok 4: Zastąp stary plik .htaccess w katalogu nowym

Uwaga: Jeśli twoim priorytetem jest przywrócenie strony online ASAP, użyj domyślnego kodu. Jeśli jednak dokonałeś wielu zmian w pliku .htaccess, spróbuj znaleźć kod, który nie zadziałał. Usuń go przed ponownym załadowaniem na serwer.

Dlaczego widzisz błąd po aktualizacji pliku .htaccess?

Jeśli jesteś SEO próbującym nauczyć się dogłębnie .htaccess, są szanse, że skończysz popełniając kilka błędów na początku. Jest to całkowicie w porządku, dopóki nie zrozumiesz, dlaczego serwer internetowy oznaczył błąd.

Istnieje kilka wspólnych problemów, które SEOs napotykają, jeśli chodzi o aktualizację pliku .htaccess. Oto lista najczęstszych problemów z .htaccess.

  1. Wyłączone Nadpisanie: Aby Twój plik .htaccess działał, musisz najpierw włączyć opcję AllowOverride. Jeśli opcja AllowOverride jest ustawiona na None, wszystkie konfiguracje ustawione w .htaccess będą wyłączone. Aby upewnić się, że opcja Override jest włączona, wykonaj następujące kroki:

Krok 1: Otwórz plik konfiguracyjny Apache (http.conf)

Krok 2: Ustaw dyrektywę Allow OverRide jako : AllowOverride All

Krok 3: Zapisz plik Apache Config i zrestartuj serwer Apache

  1. Błędnie wpisana nazwa pliku: Jest to drugi najczęstszy błąd popełniany przez SEOwców. Ponieważ .htaccess jest plikiem konfiguracyjnym opartym na systemie Unix, zapisanym w ASCII, błędna pisownia spowoduje błąd. Jeśli plik nie zaczyna się od „.” lub zostanie załadowany w innym formacie pliku, np. .txt, serwer Apache zignoruje plik i konfigurację, którą ustawiłeś.
  2. Hierarchia plików .htaccess Sprawy: Pliki .htaccess wykonują się w oparciu o ich hierarchię. Kilka reguł ustawionych na początku plików .htaccess może unieważnić reguły, które pojawiają się w późniejszym etapie konfiguracji. Jeśli uważasz, że są one krytyczne, spróbuj przenieść daną konfigurację wyżej.
  3. Wiele plików .htaccess: Ponieważ pliki .htaccess mogą być używane per-directories, istnieje szansa, że Twoja strona używa wielu plików .htaccess. W takich przypadkach, jeden plik może być sprzeczny z konfiguracją ustawioną w innym pliku, powodując błędy. Możesz rozwiązać ten problem, wyłączając poszczególne pliki .htaccess.
  4. Syntax Error: Plik .htaccess funkcjonuje całkowicie w oparciu o składnię, która jest używana do konfigurowania witryny. Błąd składni w pliku może wziąć witrynę offline i spowodować atak paniki. Więc jest to konieczne, aby zrozumieć składnię przed aktualizacją plików .htaccess.

Jakie są częste komunikaty o błędach, które otrzymujesz po aktualizacji pliku .htaccess?

Za każdym razem, gdy użytkownik odwiedza twoją witrynę, on/ona wchodzi w interakcję z serwerem internetowym bezpośrednio lub pośrednio. Strony, które otrzymują po kliknięciu obrazów i innych zasobów, które widzą są pobierane przez serwer WWW, co oznacza, że Ty jako webmaster możesz je ograniczyć.

Niektóre strony internetowe używają .htaccess, aby ustawić uwierzytelnianie dla dostępu do stron internetowych. Jeśli chodzi o SEO, używają go, aby zapewnić, że użytkownicy i boty wyszukiwarek uzyskać łatwy dostęp do stron, które mają największe znaczenie. Jeśli witryna nie dostarczy żądanych informacji, kod błędu jest generowany przez serwer WWW w oparciu o konfiguracje ustawione w pliku .htaccess.

Tutaj znajduje się lista kodów błędów, które serwery internetowe wyświetlają, gdy nie uda im się pobrać żądanych danych.

Błędy żądania klienta

  • 400 – Bad Request: Invalid URL Structure. Serwer nie jest w stanie zrozumieć żądania zgłoszonego przez użytkownika.
  • 401 – Wymagana autoryzacja: Te wiadomości są wyświetlane, gdy dostęp do strony został ograniczony przez webmasterów.
  • 402 – Wymagana płatność (jeszcze nie używana): Jeśli inicjacja płatności nie dojdzie do skutku, generalnie daje ten kod.
  • 403 – Forbidden – Prostym powodem, dla którego dostajesz błąd 403 jest to, że próbujesz uzyskać dostęp do zasobu, który ma ograniczone uprawnienia. Witryna wyświetla błędy 403 zakazane, gdy użytkownicy próbują uzyskać dostęp do strony, która wymaga uwierzytelnienia.
  • 404 – Nie znaleziono: 404 jest wyraźnym wskazaniem dla użytkowników, że żądany adres URL nie jest dostępny w witrynie. Może to być spowodowane błędem literowym w adresie URL lub gdy strona została usunięta z witryny.
  • 405 – Niedozwolona metoda: Ten kod statusu odpowiedzi HTTP wskazuje, że serwer odmówił przyjęcia metody żądania pomimo zrozumienia celu żądania.
  • 406 – Not Acceptable (encoding): Zwykle dzieje się tak, gdy serwer nie może odpowiedzieć z żądaniem accept-header.
  • 407 – Proxy Authentication Required: Ten błąd wskazuje, że żądanie nie może być spełnione z powodu braku uwierzytelnienia serwera proxy między przeglądarką a serwerem.
  • 408 – Request Timed Out: Jest to jeden z powszechnych błędów HTTP, które napotykają webmasterzy, gdy serwer nie otrzyma kompletnego żądania od strony klienta w wyznaczonym okresie czasu.
  • 409 – Żądanie sprzeczne: Ten błąd występuje, gdy stan zasobu docelowego jest sprzeczny ze stanem bieżącym. Aby rozwiązać ten błąd, zidentyfikować konflikt i ponownie przesłać.
  • 410 – Gone: Ten kod błędu reprezentuje, że dostęp do żądanego zasobu został trwale usunięty z serwera i tak pozostanie przez cały czas.
  • 411 – Content Length Required: Błąd reprezentuje niezdolność serwera do zaakceptowania żądania klienta z powodu niezdefiniowania nagłówka content-length.
  • 412 – Precondition Failed: Jest to błąd spowodowany kolizją zabezpieczeń z jedną lub wieloma konfiguracjami zabezpieczeń, które zostały zaimplementowane na Twoim serwerze.
  • 413 – Request Entity Too Long: Gdy żądany zasób jest zbyt duży dla serwera, aby go załadować, użytkownik może doświadczyć błędu 413.
  • 414 – Zbyt długi URI żądania: Wystarczy pomyśleć o strukturze URL powyżej 2048 znaków. Serwer nie może odszyfrować wynikowego błędu 414.
  • 415 – Unsupported Media Type: Ten błąd pojawia się, gdy serwer odmawia załadowania zasobu, który jest w nieobsługiwanym formacie medialnym.

Błędy serwera

  • 500 – Internal Server Error
  • 501 – Not Implemented
  • 502 – Bad Gateway
  • 503 – Service Unavailable
  • 504 – Gateway Timeout
  • 505 – HTTP Version Not Supported.

Do czego służy .htaccess?

Przekierowania

Czy właśnie zmieniłeś nazwę domeny swojej witryny?

Jako SEO, na pewno nie chcesz, aby Twoi użytkownicy zobaczyli stronę 404, ani nie chcesz, aby cały ciężko zarobiony autorytet po prostu zniknął.

Uważaj swój .htaccess za panaceum na obie te sprawy. Dodanie dyrektywy przekierowania do pliku .htaccess pomoże Ci przekierować ruch i autorytet witryny do nowej domeny.

Interesującą rzeczą jest to, że możesz zrobić to samo, jeśli chodzi o adresy URL w swojej witrynie. Tworząc dyrektywę przekierowania 301, popychasz swoich użytkowników i boty wyszukiwarek próbujących uzyskać dostęp do starego adresu URL, aby przeczytać nową stronę w swojej witrynie.

Przykład przekierowania na poziomie domeny za pomocą .htaccess:

# This allows you to redirect your entire website to any other domain 
Redirect 301 / http://example.com/

Przykład dla URL Redirect przy użyciu .htaccess:

RedirectMatch 301 ^/old-url.html$ /new-url.html

SEO-friendly URLs

Czy Twoja struktura URL jest zabałaganiona? Czy użytkownicy i boty wyszukiwarek nie są w stanie zrozumieć, co znajduje się na stronie? To się zdarza całkiem sporej liczbie webmasterów.

Zaniechanie zwrócenia uwagi na strukturę URL początkowo staje się dużym bólem po tym, jak strona zyskuje autorytet.

Używając .htacces, możesz ustawić właściwą strukturę URL dla swojej witryny.

W dodatku do tego, każde rozszerzenie, które przychodzi wraz z adresem URL, na przykład, .html lub .php może być łatwo usunięte przez dodanie dyrektyw do .htaccess.

Przykład 1: Używanie .htaccess do usuwania rozszerzeń w URL

Usuwanie .php jako rozszerzenia

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ .php

Usuwanie .html jako rozszerzenia

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ .html

Przykład 2: Używanie .htaccess do tworzenia adresów URL małymi literami

Metoda 1

RewriteCond %{REQUEST_URI} 
RewriteRule . ${lc:%{REQUEST_URI}}

Powyższy kod będzie miał wpływ na wszystkie struktury URL, w tym nazwę domeny.

Metoda 2

RewriteCond %{REQUEST_URI} 
RewriteRule ^.+.html$ ${lc:%{REQUEST_URI}}

Powyższy kod będzie miał wpływ tylko na nazwy plików html.

Przykład 2: Użycie .htaccess do dynamicznego przepisywania adresów URL

RewriteEngine On
RewriteRule /(.*)/(.*)/$ page.php?category=&product=

Zły URL: site.com/page.php?category=2&product=54

Dobry URL: site.com/sandwiches/rueben-sandwich/

  • Usługiwanie .htaccess to Improve Site Speed

Page Speed is the new hoo-ha among webmasters.

They have all the reasons to create the commotion as Google now considers it as one of the major factors while ranking pages on the SERP.

Google nie chce, aby użytkownicy mają złe doświadczenia użytkownika z góry wymienionych stron.

Dodatkowo, wolno ładująca się strona zjada dużo budżetu na indeksowanie.

Jednym z najprostszych i najbezpieczniejszych sposobów na poprawę szybkości witryny jest konfiguracja .pliku .htaccess.

  • Włączenie funkcji pamięci podręcznej

Włączając funkcję pamięci podręcznej w pliku .htaccess, zasoby witryny są przechowywane w przeglądarce odwiedzającego umożliwiając szybkie ładowanie.

Możesz włączyć cache używając dwóch różnych metod

ExperiesByType – Używając tej metody w .htaccess, możesz ustawić ramy czasowe cache, aka wygaśnięcie dla każdego zasobu w twojej witrynie.

Przykład:

<ifModule mod_headers.c>
# YEAR
<FilesMatch ".(ico|gif|jpg|jpeg|png|flv|pdf)$">
Header set Cache-Control "max-age=29030400"
</FilesMatch>
# WEEK
<FilesMatch ".(js|css|swf)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# 45 MIN
<FilesMatch ".(html|htm|txt)$">
Header set Cache-Control "max-age=2700"
</FilesMatch>
</ifModule>

Cache-Control Header – Cache-control header używa maksymalnego wieku dla zasobów przed wygaśnięciem.

Przykład:

# One month for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>

Enabling Gzip Compression

Jednym z powodów, który pogarsza szybkość działania strony internetowej jest rozmiar jej zasobów. Włączając gzip w swoim pliku .htaccess, możesz zmniejszyć rozmiar obrazu, rozmiar pliku i ilość plików podczas wysyłania danych do przeglądarki po stronie klienta.

Włączenie gzip jest jedną z najprostszych dyrektyw .htaccess.

Tutaj jest przykład:

<ifModule mod_gzip.c>
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.*
</ifModule>

Enabling Deflate Option

Niektóre serwery WWW nie obsługują gzip, więc strona może napotkać błędy. W takich przypadkach zaleca się użycie opcji deflate w pliku .htaccess.

Tutaj znajduje się przykład:

<IfModule mod_deflate.c>
# Compress text, HTML, JavaScript, CSS, XML
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# The following lines are to avoid bugs with some browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI !no-gzip !gzip-only-text/html
# Do not cache if these files are already cached
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip
# Proxies must give the right content
# Header append Vary User-Agent env=!dont-vary
Header append Vary User-Agent
</IfModule>

Using .htaccess for Improved Crawling and Indexing

Możesz już używać pliku robot.txt, aby zezwalać i zabraniać wyszukiwarkom na indeksowanie i indeksowanie twojej witryny. Jednakże, jest możliwe, że masz zasoby inne niż strona internetowa w swojej witrynie. W takich przypadkach, rbot.txt może nie działać.

Jeśli chcesz, aby kilka zasobów takich jak PFD lub dokument Worda nie było indeksowanych, najlepszym sposobem na to jest ustawienie znacznika X-robots-tag w pliku .htaccess.

Niestandardowy nagłówek pliku .htaccess może działać ze wszystkimi dyrektywami indeksera.

Przykład:

<FilesMatch ".(docx|pdf)$">
Header add X-robots-tag "noindex, noarchive, nosnippet"
</FilesMatch>

W tym przypadku każdy plik z rozszerzeniami .doc i .pdf będzie traktowany jako noindex, noarchive, nosnippet.

Wnioski

Prawie wszystkie serwery Apache mają wstępnie ustawiony plik konfiguracyjny. Dotyczy to jednak całej witryny i dlatego trudno jest ustawić konfigurację na poziomie katalogów.

Tutaj .htaccess przychodzi jako błogosławieństwo. Możesz ustawić konfigurację poziomu katalogów i podkatalogów za pomocą .htaccess, aby zastąpić ustawienia konfiguracyjne Apache.

W dodatku do tego, możesz użyć prostych kodów konfiguracyjnych, aby ustawić uwierzytelnianie. Jest to bardziej przydatne, jeśli masz współdzielony hosting z wieloma stronami internetowymi.

Wady pliku .htaccess

  • Odczytuje wszystkie żądania
  • Bezzwłoczna zmiana bez restartu serwera
  • Efektywne zarządzanie dostępem użytkownika na podstawie preferencji
  • Konfiguracja poziomu katalogu
  • Prawdziwe dobrodziejstwo dla SEO

Wady pliku .htaccess

  • .htaccess pliki mogą zwiększyć ryzyko bezpieczeństwa prowadzenia witryny
  • Niższa niż konfiguracja na poziomie serwera, ponieważ .htaccess jest wyszukiwany i czytany za każdym razem, gdy ładuje się strona
  • To wpływa na szybkość strony internetowej, która napędza ruch w milionach.

Pliki .htaccess nie są zalecane jako metoda konfiguracji serwera ze względu na problemy z bezpieczeństwem i wydajnością.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.