27 marca 2020

Optymalizacja adresów URL dla lepszego SEO

Kategoria: SEO
Tagi: dla profesjonalistów,
Autor: Paweł Mansfeld

Optymalizacja adresów URL dla lepszego SEO

W tym artykule zajmiemy się optymalizacją adresów URL. Odpowiemy sobie na pytania co to jest URL, jaki ma wpływ na SEO oraz jaka jest nadrzędna filozofia jaka powinna stać za tworzeniem struktury i optymalizacji adresów URL. Odpowiemy sobie też na pytanie kiedy mamy do czynienia z przyjaznym linkiem.

Temat jest fascynujący, bo prostota jaka kryje się za dobrym adresem URL jest wprost proporcjonalna do ilości mitów jakie powstały wokół tego zagadnienia – a jest ich sporo. Adres URL to jedna z tych rzeczy, którą raczej optymalizujemy dla wyszukiwarek i komputerów a nie dla człowieka. Optymalizacja adresów URL to element gałęzi SEO którą nazywamy jako techniczne SEO.

Co to jest adres URL?

URL (ang Uniform Resource Locator) – to sposób adresowania stosowany w Internecie. Szczegółowa specyfikacja URL znajduje się w specyfikacji RFC 1738.

Tak jak domeny internetowe wskazują jednoznacznie na konkretne serwery i pośrednio na witryny internetowe, tak adres URL wskazuje na konkretne podstrony tych serwisów a także ich zasoby. Dzięki adresom URL, przeglądarka może dokonywać żądań do serwera. O tym jak działają żądania w sieci WWW, opisałem w artykule: Jak działają strony WWW.

Szczególnym przypadkiem jest URL składający się z protokołu i nazwy domeny:

Szczególny przypadek adresu URL prowadzący do strony głównej witryny.

Wytłumaczenie protokółu HTTPS znajdziesz w następujących artykułach:

Wytłumaczenie dalszych członów najdziesz w artykułach:

Jednak przy rozważaniach o adresie URL musimy na adresy patrzeć w nieco innej skali i wtedy mamy po kolei:

Budowa adresu URL
  1. Protokół
  2. Host
  3. Ścieżka do zasobu
  4. Ścieżka wyszukiwania (ang. query string)

Choć w obecnym Internecie rzadko buduje się strony statyczne, w poniższym przykładzie posłużę się działaniem stron statycznych bez włączonego przepisywania adresów URL, ponieważ zrozumienie poniższego przykładu jest kluczowe dla poznania mechanizmów URL opisywanych w dalszej części artykułu.

W przypadku adresu:

https://www.nazwadomeny.pl/

standardowe ustawienia serwera spowodują, że serwer wyświetli nam plik index.html lub index.php kiedy adres URL kończy się ukośnikiem. Teraz możemy dokonać bardziej szczegółowego zapytania do tej witryny, wystarczy po ukośniku dodać kolejne człony. Przykładem może być strona kontakt:

https://www.nazwadomeny.pl/kontakt.html

Jeżeli serwer nie posiada specyficznych ustawień i mamy do czynienia ze statyczną stroną internetową, w przeglądarce zostanie wyświetlony dokument kontakt.html z głównego “katalogu” strony internetowej. Dokumenty HTML możemy zagnieżdżać w katalogi, zupełnie tak, jak w systemie plików. Możemy stworzyć katalog “oferta” i w nim kolejny plik index.html. Chęć wyświetlenia tej strony będzie wyglądać tak:

https://www.nazwadomeny.pl/oferta/

Oczywiście to nam nie przeszkadza w stworzeniu podstrony oferta.html w głównym katalogu witryny. Będziemy mieć wówczas dwa adresy:

https://www.nazwadomeny.pl/oferta/
https://www.nazwadomeny.pl/oferta.html

Które są de facto całkiem osobnymi stronami internetowymi nie mającymi ze sobą jakiegokolwiek związku.

Parametry w adresach URL

Bardzo często w adresach URL można się spotkać z pytajnikiem. Pytajnik rozpoczyna serię parametrów w adresach URL (ang. Query strings).

Przeglądarka i wyszukiwarki spodziewają się wyświetlenia tej samej strony / skryptu (z filozoficznego punktu widzenia) ale ze specjalnym dodatkowym parametrem, który może:

  • filtrować treść,
  • zmienić sposób sortowania,
  • wyszukiwać treść po słowie kluczowym.

Przykładowo, chcąc wyszukiwać na moim blogu artykuły w których znajduje się słowo optymalizacja, wyszukiwarka przejdzie do takiego adresu:

https://mansfeld.pl/?s=optymalizacja

Jeżeli w Allegro szukamy:

  • książek w kategorii Informatyka i Internet,
  • po słowie kluczowym “HTML5”,
  • posortujemy cenę od najniższej
  • i będziemy zainteresowani tylko używanymi przedmiotami,

adres w przeglądarce przyjmie taką postać:

https://alegro.pl/kategoria/informatyka-internet-79468?string=html5&order=p&stan=używane

Widać tutaj, że odwiedzamy stronę informatyka-internet-79468 z parametrami, które filtrują dla nas wynik.

Przepisywanie adresów URL

Czasem te rozszerzenia .html lub .php mogą się nam nie podobać i w tym momencie wkracza przepisywanie adresów (ang URL rewrite). Przepisywanie powoduje, że możemy użyć bardziej czytelniejszego formatu adresu URL według dowolnych mechanizmów jakie zastosujemy w serwerze. Przykładowym zabiegiem na stronach statycznych jest usuwanie rozszerzenia .html. Wówczas w serwerach Apache możemy użyć instrukcji htaccess.

Usuwanie rozszerzenia .html w .htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [NC,L]

Dzięki temu uzyskujemy taką funkcjonalność, że na zapytanie:

https://www.nazwadomeny.pl/oferta

Serwer zwróci zawartość strony oferta.html – ale co tak naprawdę zwraca serwer tego już przeglądarka i wyszukiwarka nie wie, bo cała “magia” dzieje się po stronie serwera. Wyszukiwarka oczekuje osobnej podstrony ale deweloper równie dobrze mógł zaprogramować stronę tak, że ta tak naprawdę zwraca stronę index.php z dodatkowym parametrem oferta (np. index.php?strona=oferta). Co oznacza, że dowolnie nazwany skrypt może wyświetlić dowolne dane z bazy danych.

Kierowanie wszystkich zapytań do index.php

Kierowanie wszystkich zapytań do jednego skryptu trasującego wywołania konkretnych metod czy funkcji to standardowe działanie w większości systemach CMS i dynamicznych aplikacjach PHP, w których wykorzystuje się wzorzec MVC.

Wtedy najczęściej korzysta się z czegoś takiego:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

Od tej pory pierwotne zasady działania adresów URL przestają obowiązywać a to co zwróci serwer w wyniku takiego lub innego zapytania całkowicie zależy od dewelopera, który tworzy mechanizm parsowania adresów URL.

Usuwanie rozszerzeń .html i .php – czy warto?

Wróćmy jeszcze na chwilę do usuwania końcówek .html. .php lub .asp, bo jest to zdecydowanie przecenione w świecie pozycjonerów. Google nawet w najnowszych materiałach jasno oświadcza, że takie zabiegi (jak usuwanie rozszerzenia .html) nie mają najmniejszego sensu. Wprowadzanie takich “udoskonaleń” tylko i wyłączenie z perspektywy SEO jest wręcz są szkodliwe:

To nie obniża UX jak na wielu dziwnych blogach można przeczytać ani nie pogarsza jego przyjazności:

Optymalizacja URL dla wyszukiwarek

Temat adresów URL nie byłby tak często podnoszony gdyby nie wpływ tego jak wyglądają i jaką mają strukturę na kwestie związane z pozycjonowaniem na konkretne frazy.

Przyjazny link dla wyszukiwarek internetowych

W SEO istnieje coś takiego jak przyjazny link (ang. Search Engine Friendly URL). Cechy przyjaznego linku to przede wszystkim:

  • separator dla poszczególnych słów (myślnik)
  • brak podkreśleń (zamiana na myślnik),
  • brak spacji i znaków diakrytycznych,
  • logiczna struktura (np. z wykorzystaniem kategorii),
  • unikanie nadmiernego zagnieżdżania,
  • unikanie spójników

Podsumowując: idealny-url/wyglada-mniej-wiecej-tak/

Jednak trzeba zaznaczyć, że dużo gorszym posunięciem jest zmiana adresu po czasie niż zostawienie tego starego niby “nieprzyjaznego”. Fajnie to wytłumaczono w jednym z materiałów dotyczących podkreśleń i myślników:

Zmiany i optymalizowanie URL

Tak jak przytoczono w powyższym materiale, jakiekolwiek zmiany i optymalizowanie obecnych adresów URL powinny być poparte bardzo solidnymi argumentami. Nie ma sensu dopieszczać struktury lub dokonywać w nich częstych zmian. Skoro zaleca się stosować jak najdłużej jeden i konsekwentny sposób tworzenia adresów URL, tworzenie odpowiedniej struktury URL, zagnieżdżanie i organizowanie kategorii to zadanie podczas tworzenia lub generalnej aktualizacji witryny a nie podczas jej “pozycjonowania” – cokolwiek rozumiemy pod tym pojeciem.

Logiczna struktura adresów URL

Logiczna struktura adresów URL powoduje, że sam adres daje nam wiele dodatkowych informacji odnośnie samej treści i powiązaniom pomiędzy podstronami. Przykładowo ta grupa adresów:

https://www.nazwadomeny.pl/onas/
https://www.nazwadomeny.pl/strony-internetowe/
https://www.nazwadomeny.pl/e-commerce/
https://www.nazwadomeny.pl/aplikacje-webowe/
https://www.nazwadomeny.pl/kontakt/

wygląda jak po prostu nieuporządkowany zbiór stron powiązanych jedynie wspólną domeną. Kiedy zrobimy bardzo drobną rzecz, mianowicie, dodamy kategorię przed nazwą danej strony bez zaznajamiania się z treścią stron bardzo łatwo zauważyć, że niektóre strony są ze sobą bardziej skorelowane niż inne. Sortując je alfabetyczne otrzymujemy klastry powiązane tematycznie.

https://www.nazwadomeny.pl/onas/
https://www.nazwadomeny.pl/oferta/strony-internetowe/
https://www.nazwadomeny.pl/oferta/e-commerce/
https://www.nazwadomeny.pl/oferta/aplikacje-webowe/
https://www.nazwadomeny.pl/kontakt/ 

Nawet gdybyśmy całkowicie pominęli linkowanie wewnętrzne, wyszukiwarka a nawet sam użytkownik wie, że te strony należą do pewnej wspólnej grupy – w tym przypadku kategorii tematycznej na blogu lub w sklepie internetowym. Dodawanie kategorii do adresu URL to bardzo dobra praktyka. Bez czytania wiadomo, że jest to oferta i taka struktura lepiej rokuje przykładowo w pozycjonowaniu lokalnym, kiedy intencją użytkownika jest znalezienie usług po frazie “nazwa usługi warszawa”.

To stwierdzenie stoi w opozycji do bardzo szeroko rozpowszechnionego mitu, który mówi o tym, że każdy dodatkowy człon przed tytułem, obniża moc SEO i im dalej od głównego katalogu tym gorzej.

Dodatkową zaletą jest fakt, że wyszukiwarka będzie próbowała skanować folder nadrzędny w celu zbadania jego zawartości. Jeżeli znajdzie artykuły o ściśle podobnej tematyce, otrzymuje konkretny sygnał że strony są ze sobą powiązane i mogą być one użyteczne dla użytkowników wyszukiwarki.

Proszę sobie teraz wyobrazić jak ta różnica może wpływać w sklepach internetowych czy na blogu. Nawet Matt Cuts w jednym z filmów mówił o tym, że lepiej mieć sensowne słowa kluczowe w poszczególnych zagnieżdżonych fragmentach niż jeden długi (i spamersko wyglądający) tytuł:

Matt w jednym filmiku wyśmiewa jednego z użytkowników, który pyta, w której pozycji słowo kluczowe jest “mocniejsze”:

Pozycja konkretnej frazy w adresie to najmniej ważna rzecz – istotna jest konsekwentna struktura. Ta wpływa na pozytywne zarówno na SEO jak i UX.

Długość adresu URL

O ile głębokość zagnieżdżenia nie jest istotna z perspektywy SEO, długi adres URL może nawet dla algorytmu wyglądać zbyt spamersko. W jednym z filmów dla webmasterów mówi się o limicie od 4 do 5 słów. Tego limitu warto się trzymać.

Maksymalny limit długość adresu URL?

Najczęściej przytaczanym ograniczeniem długości pojedynczego adresu URL jest limit 2048 znaków.

Tak naprawdę, w dokumentacji Firefox i Safari można się natknąć na to, że 65 000 znaków to granica po przekroczeniu której można zauważyć zachwianie stabilności a w Internet Explorer jest to 2083 znaków.

Zalecana długość URL dla SEO

Zalecana długość adresu URL to ok. 80 znaków. Niektóre źródła podają wartość od 60 do 120 znaków. Jest to często argumentowane momentem ucinania długich adresów URL na stronach z wynikami wyszukiwania:

Adres URL w wynikach wyszukiwania

Numery ID w adresie URL

Numery ID nie są szkodliwe. W zdrowym sklepie internetowym lub witrynie z bazą danych, np ogłoszeń czy katalogiem firm, każdy unikalny wpis ma swoje ID. Można to zaobserwować w czołowych sklepach internetowych oraz portalach o zasięgu globalnym. ID w adresie pozwala własnie bezinwazyjnie aktualizować go w przypadku zmiany tematu lub zmiany istotnych szczegółów

Posiadanie unikalnego ID w adresie URL to przypadek gdzie aktualizacja URL jest mniej problemowa. To właśnie dzięki unikalnemu ID wyszukiwarka będzie przekonana, że to ta sama strona i dokonano korekty adresu URL.

  • przy aktualizacji nazwy użytkownika jakiegoś forum,
  • zmieniając tytuł w produkcie,
  • zmieniając tytuł wątku na forum,
  • w bazie danych supportu i FAQ, itd…

W przypadku braku numeru ID, zmiana URL wygląda jak usunięcie poprzedniej strony, stworzenie nowej i wykonanie przekierowania HTTP. Jeżeli to cię nie przekonuje. Zobacz jak wyglądają adresu URL w najpopularniejszych serwisach społecznościowych i e-commerce, które są realizowane za naprawdę duże pieniądze:

https://allegro.pl/oferta/smartfon-google-pixel-3-xl-4-64gb-lte-nfc-ip68-gps-7765127850
https://www.x-kom.pl/p/525262-sluchawki-bezprzewodowe-apple-airpods-pro.html
ps://www.morele.net/smartfon-xiaomi-mi-9t-pro-6-128gb-dual-sim-czerwony-6180546/
https://stackoverflow.com/users/8179489/pawel-mansfeld

Już nie wspominam o takich serwisach jak YouTube, bo tam adres składa się praktycznie tylko z unikalnego identyfikatora filmu.

Usuwanie numerów ID w sklepach internetowych to jedna z najbardziej niedorzecznych i szkodliwych praktyk SEO, po której widać poziom i wiedzę osób stojących za projektem.

Wszystkie najpopularniejsze systemy CMS pozwalają dodać numer ID każdej pojedynczej stronie. W niektórych profesjonalnych systemach sklepowych (jak np. PrestaShop) jest to domyślnie włączone.

Nie zrozum tego źle. Nie trzeba dodawać numerów ID do bloga firmowego czy zwykłej strony internetowej. Im większy i bardziej skalowalny serwis, tym pokazywanie numerów ID jest coraz bardziej rozsądne i opłacalne z perspektywy utrzymania serwisu. Z całą pewnością powinny się one znajdować w sklepach internetowych (dla samych produktów lub także dla kategorii).

Słowa kluczowe w adresie URL

Dobrze jest mieć słowa kluczowe w adresie co też często było potwierdzane przez przedstawicieli Google i zostało potwierdzone w licznych eksperymentach. Większość znanych CMSów i systemów e-commerce pozwala dostosować bezpośredni odnośnik. Unikalny, zgodny z treścią adres URL to kolejne miejsce gdzie wyszukiwarka może zdobyć niejako potwierdzenie, że strona zawiera treść odpowiadającą umieszczonym w nich słowom kluczowym.

Adres URL to także kolejne miejsce, gdzie frazy można dywersyfikować czyli stosować synonimy, o których pisałem w optymalizacji tytułów i optymalizacji treści na tronach internetowych.

WordPress

W WordPressie robimy to w dwóch miejscach. Pierwszym z nich są ustawienia bezpośrednich odnośników gdzie definiujemy strukturę adresów URL:

Ustawienia bezpośrednich odnośników WordPress – Struktura

Drugiem miejscem są oczywiście ustawienia konkretnej podstrony czy wpisu:

Ustawienie adresu URL na poziomie wpisu / podstrony WordPress

W przypadku korzystania z wtyczki WooCommerce, dojdzie nam dodatkowy panel do dostrojenia struktury adresu URL w ramach sklepu:

Ustawienia bezpośrednich odnośników WooCommerce

w środowisku WordPress na unikalny URL mówimy permalink. Czytaj więcej tego typu porad gdzie dość dokładnie rozwijam temat struktury adresów URL w w artykule: Optymalizacja SEO WordPress.

Joomla

Joomla! udostępnia podobną technikę. Na poziomie konfiguracji globalnej:

Ustawienia struktury URL Joomla

oraz na poziomie wpisu, URL można dostosować w polu “alias”, który położony zaraz obok tytułu:

Edycja aliasu w systemie Joomla!

Czytaj więcej: optymalizacja SEO Joomla.

PrestaShop

Bardzo podobnie rozwiązano to w systemie PrestaShop, gdzie w ustawieniach Preferencje > Ruch włączamy przyjazne adresy URL:

A na poziomie produktu wpisujemy istotne słowa kluczowe:

Czytaj więcej o innych możliwościach SEO w artykule: optymalizacja SEO PrestaShop. Oczywiście, podobne ustawienia powinny być dostępne także w innych popularnych CMSach.

Należy pamiętać aby nie upychać na siłę słów kluczowych a już na pewno ich nie powtarzać. Dokładnie ta sama zasada dotyczy nagłówka h1 czy tytułu konkretnej podstrony. Warto unikać znaków specjalnych i stosować odmiany z mniejszą ilością znaków diakrytycznych.

Szczególne przypadki adresów URL

Istnieją pewne okoliczności, w których często pojawiające się w Internecie porady, nie znajdują zastosowania lub po prostu są niezgodne z prawdą. O numerach ID w sklepach internetowych powiedzieliśmy sobie już wcześniej. Są jednak jeszcze inne sytuacje, gdzie potrzeba indywidualnego podejścia i “złamania” popularnych porad.

Daty w adresie URL

Daty w adresie URL dobrze omówił Matt w jednym z filmów i od tego momentu nic się nie zmieniło:

Jeżeli mają one istotne znaczenie (np. prowadzimy zapis statystyk i archiwizujemy dane) prowadzimy portfolio, to należy je zostawić. Na blogach firmowych i treściach, które często są aktualizowane dla organicznego pozycjonowania lepiej z nich zrezygnować.

Dlaczego? Ponieważ starsze daty mogą osiągać mniejszy CTR – innymi słowy zniechęcać do klikania na wynikach wyszukiwania. Z tego samego powodu niektórzy usuwają daty publikacji.

Polskie znaki i znaki specjalne w adresie URL

To jedno z najlepszych pytań jakie padło na kanale Google Webmasters.

W dużym uproszczeniu, należy unikać znaków specjalnych i znaków diakrytycznych w adresie URL. Oczywiście to też dotyczy także obrazów. Częstym problemem przy przenoszeniu strony WordPress jest sytuacja gdzie serwery różnie kodują znaki specjalne w systemie plików i adresach URL. W wyniku tego ścieżki po takiej migracji mogą być zepsute.

Kiedy optymalizujemy nazwy pliku załączników pod SEO, %bf zamiast “ż” nie powoduje że jest on bardziej czytelny a już na pewno nie jest przyjazny dla SEO. To samo tyczy się adresów URL wykorzystujących alfabety inne od łacińskiego na stronach wielojęzycznych.

Mity na temat optymalizacji adresów URL

W adresach URL powinniśmy unikać zapytań z pytajnikami i znakiem etki.

To mit. Parametry tego typu są potrzebne i dzięki nim Google wie, że ma do czynienia z tą samą stroną ale z innymi parametrami. Nie bez powodu Google nawet na swoich stronach korzysta z nich przy lokalizowaniu treści oraz widać je w największych sklepach i witrynach internetowych.

Im bliżej głównego katalogu tym lepiej

oraz im krótszy URL tym lepiej

To także mit. Struktura adresu URL jest dużo ważniejsza niż radykalne skracanie czy celowe unikanie hierarchii w adresach URL.

Priorytetem jest UX i estetyczny wygląd linku

Nie jest to prawda. Linki są najczęściej ukrywane za pomocą anchorów a w przeglądarce w pasku adresu mało kto na nie zwraca uwagę. Nie wpisujemy adresów URL z palca ani ich zazwyczaj nie edytujemy w pasku adresu.

Z URL użytkownicy korzystają tylko pośrednio. Faktycznie, widzą go w wynikach wyszukiwania, ale tytuł odgrywa zawsze istotniejszą rolę. Adresy URL służą wyszukiwarkom i mechanizmom działania Internetu i to te “potrzeby” należy je optymalizować.

Strony wielojęzyczne

No właśnie, odwieczny problem czy stosować sub-domeny, katalogi czy parametry w różnych wersjach językowych. W dużym skrócie:

  • sub-domeny stosujemy w przypadku kiedy chcemy strony pozycjonować całkowicie osobno,
  • katalogi – kiedy chcemy do pewnego stopnia różnicować treść,
  • parametr stosujemy wtedy, kiedy każda strona będzie przetłumaczona praktycznie 1:1.

Czytaj więcej o stronach w wielu językach.

Optymalizacja adresów URL dla użytkownika

Choć czytelność adresu URL dla człowieka jest najmniej istotną cechą adresu URL zoptymalizowanego pod SEO, należy poświęcać temu odrobinę uwagi ale dopiero po spełnieniu wszystkich innych punktów, które przytoczyłem w tym artykule.

Nie możemy tworzyć sub-domen, dodatkowych katalogów czy usuwać numerów ID tylko dlatego że URL jest “ładniejszy”. Jeśli chodzi o adresy URL: Najpierw SEO potem UX. Wszystkie inne elementy strony (tytuły, treść i załączniki) optymalizujemy dla użytkownika.

Prosty i czytelny adres z większa prawdopodobieństwo, że ktoś bez zawahania podzieli się nim na forum czy z większą pewnością użyje go w treści e-maila.

Podsumowanie

Jak widać adresy URL to głęboki temat, który zahacza o programowanie, serwer, to jak w istocie działa Internet i SEO. Zrozumienie prostych zasad działania adresów URL i wyrobienie w sobie intuicji pozwala wybrać najlepsze rozwiązania w zakresie struktury bezpośrednich odnośników i definiowania aliasów w systemach zarządzania treścią.

Źródła

https://tools.ietf.org/html/rfc1738

https://www.talisman.org/~erlkonig/misc/lunatech%5Ewhat-every-webdev-must-know-about-url-encoding/

https://support.google.com/webmasters/answer/76329?hl=pl

https://moz.com/community/q/removing-html-extension-from-url-benefit

https://moz.com/learn/seo/url

https://serpstat.com/blog/how-long-should-be-the-page-url-length-for-seo/

Oceń artykuł na temat: Optymalizacja adresów URL dla lepszego SEO
Średnia : 4.8 , Maksymalnie : 5 , Głosów : 9


 

Odpowiedz lub skomentuj

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


 

Wykryto brak połączenia z Internetem.