Zarządzanie indeksowaniem adresów URL nawigacji fasetowej

Nawigacja fasetowa to powszechna funkcja witryn, która umożliwia użytkownikom zmianę sposobu wyświetlania elementów (np. produktów, artykułów czy wydarzeń) na stronie. Jest to popularna i użyteczna funkcja, ale jej najczęstsze wdrożenie, które opiera się na parametrach adresu URL, może generować nieskończone przestrzenie adresów URL, co szkodzi witrynie na kilka sposobów:

  • Zbyt częste indeksowanie: adresy URL utworzone na potrzeby nawigacji fasetowej wydają się nowe, a roboty nie mogą określić, czy będą one przydatne bez wcześniejszego indeksowania. Dlatego roboty zazwyczaj uzyskują dostęp do bardzo dużej liczby adresów URL nawigacji fasetowej, zanim procesy robotów określą, że te adresy URL są w istocie bezużyteczne.
  • Wolniejsze indeksowanie: jeśli roboty indeksujące poświęcają czas na indeksowanie bezużytecznych adresów URL, mają mniej czasu na indeksowanie nowych, przydatnych adresów URL.

Typowy adres URL nawigacji fasetowej może zawierać w ciągu zapytania różne parametry związane z właściwościami elementów, według których są one filtrowane. Na przykład:

https://example.com/items.shtm?products=fish&color=radioactive_green&size=tiny

Zmiana dowolnego z parametrów adresu URL products, colorsize spowoduje wyświetlenie na stronie źródłowej innego zestawu elementów. Często oznacza to bardzo dużą liczbę możliwych kombinacji filtrów, co przekłada się na bardzo dużą liczbę możliwych adresów URL. Aby oszczędzić zasoby, zalecamy postępowanie z tymi adresami w jeden z tych sposobów:

  • Jeśli nie chcesz, aby adresy URL nawigacji fasetowej były indeksowane, zablokuj ich indeksowanie.
  • Jeśli chcesz, aby adresy URL nawigacji fasetowej były indeksowane, upewnij się, że są one zgodne ze sprawdzonymi metodami opisanymi w następującej sekcji. Pamiętaj, że indeksowanie adresów URL nawigacji fasetowej zwykle pochłania dużo zasobów obliczeniowych ze względu na ogromną liczbę adresów URL i operacji potrzebnych do renderowania tych stron.

Blokowanie indeksowania adresów URL nawigacji fasetowej

Jeśli chcesz oszczędzać zasoby serwera i nie chcesz, aby adresy URL nawigacji fasetowej były widoczne w wyszukiwarce Google, możesz uniemożliwić ich indeksowanie w jeden z poniższych sposobów.

  • Użyj pliku robots.txt, aby zablokować indeksowanie adresów URL nawigacji fasetowej. Często nie ma powodu, aby zezwalać na indeksowanie produktów z filtrami, ponieważ pochłania to zasoby serwera bez żadnej korzyści lub z niewielką korzyścią. Zamiast tego zezwól na indeksowanie tylko stron poszczególnych produktów oraz strony z listą produktów bez filtrów.
    user-agent: Googlebot
    disallow: /*?*products=
    disallow: /*?*color=
    disallow: /*?*size=
    allow: /*?products=all$
    
  • Używaj fragmentów adresów URL do określania filtrów. Wyszukiwarka Google w zasadzie nie obsługuje fragmentów adresów URL podczas indeksowania i skanowania. Jeśli mechanizm filtrowania działa na podstawie fragmentów adresu URL, nie będzie miał wpływu na indeksowanie (ani pozytywnego, ani negatywnego). Zamiast parametrów adresu URL możesz na przykład używać fragmentów adresu URL:
    https://example.com/items.shtm#products=fish&color=radioactive_green&size=tiny

Inne sposoby sygnalizowania preferencji dotyczącej tego, które adresy URL nawigacji fasetowej mają być indeksowane, a które nie, to użycie elementu rel="canonical" link i atrybutu kotwicy rel="nofollow". Jednak te metody są na dłuższą metę mniej skuteczne niż wspomniane wcześniej metody.

  • Używanie parametru rel="canonical" do określenia, który adres URL jest kanoniczną wersją adresu URL nawigacji fasetowej z czasem może zmniejszyć objętość indeksowania niekanoniczych wersji tych adresów URL. Jeśli na przykład masz 3 typy stron z filtrami, możesz użyć parametru rel="canonical" do wskazania niefiltrowanej wersji: https://example.com/items.shtm?products=fish&color=radioactive_green&size=tiny określa <link rel="canonical" href="https://example.com/items.shtm?products=fish" >.
  • Używanie atrybutów rel="nofollow" w kotwicach wskazujących na strony wyników po filtrowaniu może być korzystne, ale pamiętaj, że aby były one skuteczne, każda kotwica wskazująca na konkretny adres URL musi mieć atrybut rel="nofollow".

Upewnij się, że adresy URL nawigacji fasetowej są optymalne pod kątem internetu

Jeśli chcesz, aby adresy URL nawigacji fasetowej mogły być indeksowane, postępuj zgodnie z tymi sprawdzonymi metodami, aby zminimalizować negatywne skutki indeksowania dużej liczby potencjalnych adresów URL w witrynie:

  1. Używaj standardowego w branży separatora parametrów adresu URL „&”. Znaki takie jak przecinek (,), średnik (;) i nawiasy ([]) są trudne do wykrycia przez roboty jako separatory parametrów (ponieważ najczęściej nie są to separatory).
  2. Jeśli kodujesz filtry w ścieżce adresu URL, np. /products/fish/green/tiny, upewnij się, że ich kolejność logiczna jest zawsze taka sama i że nie ma zduplikowanych filtrów.
  3. Zwracaj kod stanu HTTP 404, gdy kombinacja filtrów nie zwraca wyników. Jeśli w zasobach witryny nie ma zielonych ryb, użytkownicy i roboty powinni zobaczyć błąd „nie znaleziono” z odpowiednim kodem stanu HTTP (404). Podobnie powinno się stać, gdy adres URL zawiera zduplikowane filtry lub nielogiczne kombinacje filtrów oraz nieistniejące adresy URL stron z przewijaniem. Jeśli kombinacja filtrów nie daje żadnych wyników, nie przekierowuj do ogólnej strony błędu „nie znaleziono”. Zamiast tego wyświetl błąd „Nie znaleziono” z kodem stanu HTTP 404 w adresie URL, w którym wystąpił błąd.