Moduły do zarządzania przekierowaniami w Drupalu

Niedziałające linki to bardzo problematyczna sytuacja, która ma miejsce na wielu stronach internetowych. Jak radzić sobie z nimi w Drupalu? Najlepiej wykorzystać moduł do obsługi przekierowań pod nazwą Redirect. W tym artykule dowiesz się, czym jest to narzędzie, jak z niego korzystać i jakie podobne moduły mogą okazać się pomocne.

Zarządzanie przekierowaniami w Drupalu

Moduł Drupal Redirect – czym jest i do czego służy?

Podstrony w witrynie mogą przestać działać z różnych powodów. Samo ich usunięcie nie rozwiąże wszystkich problemów, bowiem użytkownicy dalej będą w stanie na nie trafić np. z linków zewnętrznych. Właśnie z tego powodu stosuje się przekierowania 301, czy też „kod statusu odpowiedzi HTTP 301 przeniesiono na stałe”. Gdy Google lub użytkownicy trafią na dany adres, zostaną przeniesieni na nowy. Od 2016 roku przekierowanie 301 nie wpływa negatywnie na przekazywaną moc SEO.

W niektórych sytuacjach przekierowanie na inną stronę nie jest konieczne. Załóżmy, że tytuł artykułu blogowego zmienił się z „Najlepsze moduły e-commerce Drupal w roku 2022” na „Najlepsze moduły e-commerce Drupal w roku 2023” (doszło jedynie do małej aktualizacji i odświeżenia tekstu). W takim przypadku nie trzeba tworzyć nowej podstrony, a jedynie zaktualizować alias URL w przekierowaniach, aby przybrał np. taką ścieżkę: www.xyz.pl/najlepsze-moduly-ecommerce-drupal-rok-2023.

Założenia brzmią prosto, jednak dodawanie przekierowań 301 w Drupalu może stać się złożonym zadaniem, zwłaszcza jeśli Twoja witryna jest rozbudowana. Właśnie dlatego powstał moduł Drupal Redirect. Oto najważniejsze informacje na jego temat:

  • data wprowadzenia – wersja alfa w 2010 roku, stabilne wydanie dla Drupala 8 w 2017 roku, aktualnie wspiera Drupala 10,
  • popularność – moduł Redirect jest aktualnie używany na ponad 270 tys. stron,
  • funkcja przekierowań – administratorzy są w stanie łatwo konfigurować i zarządzać przekierowaniami ze starych adresów URL na nowe bezpośrednio w interfejsie Drupala,
  • funkcja automatycznych przekierowań – jeśli zmienisz jakiś alias, moduł może automatycznie utworzyć przekierowanie ze starego na nowy,
  • funkcja automatycznych przekierowań w zależności od rodzaju contentu – moduł do obsługi przekierowań pozwala konfigurować je warunkowo. Przykładowo gdy ktoś znajdzie stare wpisy na blogu dotyczące porad kulinarnych, będzie automatycznie przenoszony do głównego artykułu, który zbiera je wszystkie w jednym miejscu,
  • funkcja śledzenia błędów 404 – jeden z podmodułów narzędzia pozwala śledzić błędy 404.

Instalacja modułu do obsługi przekierowań

Moduł Redirect możesz zainstalować ręcznie lub za pomocą Composera. Aktualnie zaleca się instalację wszystkich modułów contribowych przy użyciu tego narzędzia. Przy ręcznej instalacji modułów nie masz pewności, czy dodatkowe zależności zostaną zaciągnięte. Wykorzystanie Composera eliminuje ten problem.

W jaki sposób zainstalować moduł Redirect przy użyciu Composera? Sprawa jest prosta:

1. Przejdź na stronę modułu Redirect

Wszystkie informacje o module znajdują się na oficjalnej stronie Drupala.

2. Skopiuj komendę instalacyjną modułu

W sekcji „Releases" dostępna jest gotowa komenda instalacyjna modułu z użyciem Composera:

composer require 'drupal/redirect:^1.9'
Instalacja z użyciem Composera

3. Wykonaj komendę z poziomu wiersza poleceń

Gdy komenda zostanie wykonana, powinna wyświetlić się informacja, że moduł został dodany do pliku composer.json w Twoim projekcie.

4. Włącz moduł

Kliknij zakładkę „Extend”. Znajdź w liście moduł „Redirect”. Zaznacz pole obok niego. Następnie kliknij „Install”.

Widok modułu Redirect

5. Skonfiguruj uprawnienia

W panelu administracyjnym przejdź do „People” i wybierz „Permissions”. Znajdź moduł „Redirect” i przydziel odpowiednie uprawnienia (np. „administer redirects”).

Ustawienia modułu - uprawnienia

Jak korzystać z modułu przekierowań w Drupalu?

Rozszerzenie Redirect ma wiele funkcji. Przyjrzyjmy się im bliżej:

  1. Wstępna konfiguracja

    Zanim omówimy to, jak zrobić przekierowanie w Drupalu przy pomocy modułu Redirect, przybliżmy sobie wstępną konfigurację. Znajdź najważniejsze opcje w „Configuration > Search and metadata > URL redirects > Settings”. Następnie wykonaj te działania:

    • zaznacz pole przy „Automatically create redirects when URL aliases are changed”,
    • zaznacz pole przy „Retain query string through redirect”,
    • w „Default redirect status” wybierz „301 moved permanently”,
    • zaznacz pole przy „Enforce clean and canonical URLs”.
    Moduł Redirect - ustawienia
  2. Ręczne tworzenie przekierowania

    Choć narzędzie jest w stanie wykonać większość pracy za Ciebie, warto wiedzieć, jak ręcznie wykonać przekierowanie na zewnętrzny adres URL. W tym celu przejdź do „Configuration > Search and metadata > URL redirects”. Kliknij przycisk „Add redirect”. Następnie:

    • w sekcji „Path” wpisz adres, który nie działa,
    • w sekcji „To” wpisz nowy, docelowy adres przekierowania,
    • w sekcji „Redirect status” wybierz „301 moved permanently”.
    Jak wykonać przekierowanie ręcznee?
  3. Edycja przekierowania

    Zmiana adresu URL przekierowania lub innego szczegółu jest bardzo łatwa. W tym celu:

    • przejdź do „Configuration > Search and metadata> URL redirects”,
    • znajdź docelowe przekierowanie, które chcesz zmienić,
    • kliknij opcję „Edit” przy przekierowaniu,
    • wprowadź zmiany i kliknij „Save”.
    Edycja przekierowania w module Redirect

Jak naprawić pętlę przekierowań?

Niewłaściwe ustawienie przekierowania może doprowadzić do powstania tzw. pętli przekierowań. W takiej sytuacji link A przekierowuje do linku B, który następnie przekierowuje z powrotem do linku A.

Jak dochodzi do takiej sytuacji? Choć Drupal automatycznie tworzy przekierowanie za każdym razem, gdy zmieniasz nazwę strony, nie usunie automatycznie tych przekierowań, jeśli zdecydujesz się wrócić do poprzedniego adresu URL. Jeśli jednak edytujesz istniejące przekierowanie, system ostrzeże cię, jeśli zmiana doprowadziłaby do powstania pętli. Aby usunąć pętlę, podejmij następujące kroki:

  1. Znajdź pętle przekierowań – niektóre przeglądarki wyświetlają komunikat typu „ta strona ma pętlę przekierowań”.
  2. Sprawdź przekierowania – przejdź do „Configuration> Search and metadata > URL redirects”. Znajdź linki, które pośrednio lub bezpośrednio wzajemnie na siebie wskazują.
  3. Wprowadź zmiany – zmień wybrane przekierowania, aby wskazywały na prawidłowy adres URL lub całkowicie usuń te niepotrzebne.
  4. Wyczyść pamięć podręczną – czasami nawet po naprawieniu problemu warstwy pamięci podręcznej (np. z Drupala, CDN lub przeglądarki) mogą nadal obsługiwać zapętlone przekierowanie. W takiej sytuacji wyczyszczenie cache potrafi pomóc.

Moduł podrzędny Redirect 404

Podmoduł rejestruje wszystkie błędy 404 i wyświetla je na stronie „Fix 404 pages” w „URL redirects”. Dodaje także opcję „Add redirect”, dzięki czemu możesz szybko stworzyć odpowiednie przekierowanie URL w Drupalu.

Podmoduł Redirect 404

Po włączeniu tego modułu w ogólnej zakładce ustawień przekierowań udostępnione zostanie kilka dodatkowych opcji. Pozwalają na skonfigurowanie liczby błędów 404 przechowywanych w bazie, pominięcie w zapisywanych błędach 404 konkretnych adresów (np. generowanych przez boty prób ataków na adresy typu popularne lokalizacje niezabezpieczonych narzędzi dających dostęp do bazy danych czy popularne adresy stron logowania) oraz wyczyszczenie wszystkich zapisanych błędów 404.

Ustawienia podmodułu Redirect 404

Moduł podrzędny Redirect Domain

Kolejny podmoduł pozwala dokonywać automatycznych przekierowań na poziomie domeny. Przykładowo da się stworzyć regułę, dzięki której za każdym razem, gdy ktoś odwiedzi jakąkolwiek podstronę na stara-domena.pl, zostanie przeniesiony na nowa-domena.pl. Robienie tylu przekierowań ręcznie byłoby bardzo czasochłonne, dlatego warto pamiętać o tej funkcji.

Podmoduł Redirect Domain

Path Redirect Import – moduł do importowania przekierowań

Jeśli masz gotowy zbiór kilkunastu przekierowań lub więcej, wprowadzenie ich manualnie zajmie sporo czasu. Zamiast tego lepiej skorzystać z innego rozszerzenia o nazwie Path Redirect Import.

Narzędzie pozwala importować przekierowania za pomocą pliku CSV. Wystarczy, że przygotujesz odpowiednie dane w arkuszu kalkulacyjnym (wymagana struktura arkusza jest opisana nad formularzem importu), a następnie za pomocą Path Redirect Import wprowadzisz je do Drupala.

Moduł Path Redirect Import

Moduł umożliwia również eksport istniejących przekierowań do pliku CSV. Jest to przydatne przy wprowadzaniu wielu zmian w przekierowaniach. Możesz wyeksportować istniejące przekierowania, wygodnie edytować je w arkuszu kalkulacyjnym, a następnie zaimportować plik ze zmianami. Przydatną opcją jest również możliwość usunięcia wszystkich przekierowań znajdujących się w importowanym pliku. Zamiast ręcznie usuwać każdy niepotrzebny redirect, możesz wyeksportować całą listę, usunąć z niej przekierowania, które chcesz zostawić na witrynie i zaimportować plik zaznaczając opcję „Delete redirects defined in the spreadsheet”.

Plik csv

Podsumowanie

Jeśli nie wiesz, jak przekierować podstronę w Drupalu, moduł Redirect będzie bardzo pomocny. Pamiętaj, aby wstępnie odpowiednio go skonfigurować – dzięki temu duża część pracy związanej np. z zarządzaniem błędami 404 zostanie zautomatyzowana. Oprócz tego moduł Path Redirect Import pozwoli Ci szybko importować grupę przekierowań z dokumentu CSV.

Zawsze miej także na uwadze pętle przekierowań. Choć omówione narzędzia pomagają zapobiec ich powstaniu, bądź szczególnie ostrożny, gdy ustawiasz reguły, korzystasz z wielu modułów lub przechodzisz z HTTP na HTTPS.

Chcesz zbudować projekt na Drupalu?

Skontaktuj się z nami