Skip to main content

Przekierowania URL w Shopify: ograniczenia, przetestowane.

Co przekierowania URL w Shopify robią, a czego nie zrobią, ustalone przez testy, a nie przez lekturę dokumentacji. Obsługa symboli wieloznacznych i wyrażeń regularnych, traktowanie ciągów zapytania i parametrów, łańcuchy przekierowań, limity znaków i rekordów, formaty URL, które po cichu zwracają 404, oraz zasady importu masowego z pliku CSV. Do tego sposób na sprawdzenie, czy Twoje przekierowania naprawdę działają po starcie.

Droga ze złotej gliny kończy się przerwą, a strzałka z ciemnozielonej gliny wygina się nad nią na drogę, która biegnie dalej, gdzie stoi niebieska gliniana torba na zakupy
W skrócie
  1. Żadnych symboli wieloznacznych i żadnych wyrażeń regularnych, w każdym planie. Każdy rekord to jeden adres URL przypisany do jednego celu, zarówno w planach standardowych, jak i w Plus. Reguły oparte na wzorcach muszą działać w warstwie przed Shopify, na przykład w CDN albo w proxy na brzegu sieci.
  2. Psuje się jeden format ciągu: niezakodowany średnik po znaku równości. Shopify przyjmuje rekord i zapisuje go ze średnikiem zakodowanym jako %3b, więc awaria następuje w momencie żądania, a nie przy imporcie: surowy średnik w przychodzącym adresie URL nigdy nie pasuje do zakodowanego rekordu i zwraca 404. Żądanie w formie zakodowanej zwraca 301. Każdy inny testowany przez nas format został wczytany i zadziałał, łącznie ze średnikami w innych miejscach ciągu.
  3. Pułapy są sztywne: 100 000 rekordów, 20 000 000 w Plus i 1024 znaki na ciąg. Liczba znaków obejmuje początkowy ukośnik, a wsparcie techniczne nie podniesie żadnego z limitów rekordów. Katalog na tyle duży, by się do nich zbliżyć, wymaga pliku przekierowań generowanego i importowanego partiami, a nie składanego ręcznie.
  4. Zabezpieczenie przed łańcuchami sprawdza tylko jeden kierunek, więc o powstaniu łańcucha decyduje kolejność tworzenia. Shopify blokuje przekierowanie, którego cel jest już źródłem innego przekierowania. Nie sprawdza kierunku odwrotnego, więc /a do /b, a później /b do /c, zostaje przyjęte i zostawia działający łańcuch o dwóch skokach. Importy masowe stosują wiersze w kolejności z pliku, i dokładnie tak to się dzieje. Po imporcie sprawdź próbkę przekierowań i policz skoki.
  5. Shopify przepisuje to, co importujesz, zanim to zapisze. Zamienia ciąg na małe litery, usuwa protokół i domenę, dodaje początkowy ukośnik tam, gdzie go brakuje, i potrafi zmienić kolejność parametrów zapytania. Rekord, który w panelu wygląda poprawnie, i tak może rozminąć się z żądaniem, które ludzie faktycznie wysyłają, więc zweryfikuj go poleceniem curl -sIL na żywym adresie URL: jeden skok 301, kończący się na 200. Przed ponownym testem odczekaj minutę, bo węzeł brzegowy potrafi serwować starą odpowiedź przez około trzydzieści sekund.

Lepsza dokumentacja pomocy

Napisana i utrzymywana dla marek i agencji, które przeprowadzają migrację witryny. Zwłaszcza jeśli jesteś małym zespołem, który musi wykorzystać każdą godzinę. Ten przewodnik pomoże Ci zbudować strategię precyzyjnego wykonania przekierowań 301, jeśli migrujesz na Shopify. Konkretnie, ten dokument pomoże Ci, jeśli migrujesz:

  • Z Wordpressa
  • Z Magento
  • Z Salesforce
  • Z Sitecore
  • Z BigCommerce
  • Z Webflow
  • Z własnoręcznie zbudowanej witryny w PHP

Jeśli podejmujesz projekt obejmujący złożone mapowania przekierowań 301 i potrzebujesz zespołu, który żyje tym konkretnym rodzajem pracy, odezwij się do nas.


Logika przekierowań URL w Shopify: przegląd

Oficjalną dokumentację pomocy Shopify o przekierowaniach URL znajdziesz tutaj. To zwięzły dokument z ogólnymi wskazówkami, po które menedżer sklepu Shopify może sięgnąć, żeby dodać pojedyncze i masowe przekierowania 301. Brakuje w nim szczegółów o tym, jakie typy adresów URL sklep Shopify obsługuje natywnie, a ten raport ma wypełnić te luki.

Podsumowanie ustaleń o działaniu przekierowań URL w Shopify

  • Logika przekierowań URL w Shopify jest bardzo solidna.
  • W naszym teście 100 różnych formatów ciągów URL Shopify obsłużył funkcjonalnie 99 ze 100 typów.
  • Prawdziwa trasa witryny zawsze wygrywa z przekierowaniem, po cichu.
  • Natywny system nie obsługuje symboli wieloznacznych w przekierowaniach URL.
  • Aktualizowanie istniejących ścieżek przekierowań było łatwe za pomocą narzędzia importu, o ile trzymasz się nieudokumentowanych zasad Shopify.
  • Istnieją limity łącznej liczby przekierowań, którymi zarządzają sklepy Shopify i Shopify Plus.
  • Istnieją limity łącznej liczby znaków w ciągu przekierowania URL.
  • Zapobieganie łańcuchom jest częściowe. Shopify blokuje jeden kierunek, a kolejność tworzenia i tak może zostawić działający łańcuch.
  • Dla adresów URL z parametrami istnieje wiele wyjątków i reguł.
  • Interfejs zarządzania przekierowaniami URL jest przyjazny, ale przydałoby mu się więcej szczegółów.
  • Testy nie objęły opcji przekierowań dostępnych dla Hydrogen i Oxygen.
  • Obecnemu systemowi przekierowań URL w Shopify dajemy ocenę przydatności 85%.

Ocenę obniżyliśmy o 5% za brak obsługi symboli wieloznacznych, o 1% za jedyny typ ciągu URL, którego nie obsłużył, o 2% za limity długości znaków w URL, o 3% za dziwne zachowanie przy adresach z parametrami i o 4% za brak istotnych informacji o zarządzaniu danymi w interfejsie przekierowań.

Pierwsze testy 19 czerwca 2024. Ponowne testy 27 lipca 2026 na działającym sklepie Shopify w planie standardowym, przez Admin GraphQL API i na żywych żądaniach do witryny. To, co zmieniło się między nimi, znajdziesz w dzienniku zmian.

Nasza metodyka testowania przekierowań

Naszymi testami chcieliśmy odpowiedzieć na kilka pytań, żeby pomóc uniknąć pułapek w zasadach przekierowań 301 w Shopify:

  • Jakich znaków albo kombinacji ciągów system przekierowań URL nie obsługuje?
  • Czy istnieją limity długości ciągu URL?
  • Czy jest maksymalna liczba rekordów w importach masowych?
  • Czy system obsługuje przekierowania z symbolami wieloznacznymi?
  • Czy po imporcie następuje jakieś automatyczne formatowanie albo konwersja ciągów, która zmienia oryginalne dane?

Dla odniesienia, oto nasza pełna lista adresów URL, której użyliśmy do przetestowania tych warunków. Testy przeprowadziliśmy w planie standardowym Shopify (nie ShopifyPlus).


11 ustaleń, które pomogą przy przekierowaniach w Shopify

Shopify nie radzi sobie z tymi typami ciągów URL

Jeden format ciągu ze stu, które przetestowaliśmy, nie da się niezawodnie przekierować. Shopify przyjmuje rekord i zapisuje go, ale przeglądarka, która o niego prosi, dostaje 404. Chodzi o ciąg ze średnikiem po znaku równości, na przykład:

/page?param=;semicolon

Godne uwagi jest to, że system Shopify zamieni znak specjalny średnika na wartość zakodowaną w URL, tak jak poniżej w tabeli przekierowań:

/page?param=%3Bsemicolon

Kiedy wpiszesz niezakodowany ciąg URL w pasku adresu przeglądarki, zwróci on błąd 404.

404 Ta składnia powoduje błąd 404 na serwerach Shopify. Niezakodowany średnik po znaku równości:
  • /page?param=;semicolon
301 Natomiast to przekierowuje poprawnie na serwerach Shopify. Zakodowany średnik po znaku równości:
  • /page?param=%3Bsemicolon

Takie działanie odbiega od obsługi innych znaków specjalnych. Jeśli w pasku adresu wpiszesz ciąg URL z niezakodowanymi znakami, na przykład z prawym nawiasem klamrowym:

/page?param=}

Shopify automatycznie go zakoduje przy odbiorze żądania i żaden błąd 404 nie wystąpi.

/page%7Drightbrace

Warto też odnotować, że inne warianty ciągu URL z niezakodowanym średnikiem przechodzą walidację w systemie przekierowań Shopify, na przykład:

301 Przekierowuje poprawnie na serwerach Shopify. Niezakodowany znak średnika w ciągu, bez znaku równości.
  • /page;semicolon

Błąd 404 pojawia się wyłącznie wtedy, gdy niezakodowany średnik stoi po znaku równości, a awaria następuje w momencie żądania, a nie przy imporcie. Shopify zapisuje rekord ze średnikiem zakodowanym procentowo jako %3b, a przychodzący adres URL z surowym średnikiem nigdy nie pasuje do zakodowanego rekordu. Żądanie formy zakodowanej zwraca normalnie 301, więc tam, gdzie kontrolujesz linki przychodzące, kodowanie procentowe średnika rozwiązuje problem. Tam, gdzie surowy średnik przychodzi z zewnętrznych linków poza Twoją kontrolą, tego formatu nie da się niezawodnie przekierować.

Brak obsługi przekierowań z symbolami wieloznacznymi w Shopify

Przekierowania wieloznaczne nadal są na liście życzeń wielu użytkowników Shopify. Fora wsparcia są zalane prośbami o tę funkcję. Do dziś Shopify milczy o tym, gdzie miałaby się znaleźć w planie rozwoju produktu.

Na razie właściciele witryn planujący przejście na Shopify powinni wiedzieć, że natywne Shopify i ShopifyPlus tej opcji nie oferują.

Czym są przekierowania z symbolami wieloznacznymi?

Przekierowania wieloznaczne to rodzaj przekierowania URL, który pozwala skierować wiele adresów pasujących do określonego wzorca do jednego celu. Przydaje się to szczególnie przy migracji witryny, reorganizacji treści albo zarządzaniu dużą liczbą podobnych adresów. Zamiast ustawiać osobne przekierowanie dla każdego adresu, używasz znaku wieloznacznego (zwykle *), który reprezentuje dowolną sekwencję znaków.

Załóżmy, że przebudowujesz bloga i przenosisz wszystkie wpisy z katalogu /blog/ do /articles/. Zamiast ustawiać osobne przekierowania dla każdego wpisu, możesz użyć przekierowania wieloznacznego:

From: /blog/*
To: /articles/*

This wildcard redirect will automatically map:

/blog/post1 to /articles/post1
/blog/post2 to /articles/post2
/blog/post3 to /articles/post3

Upraszcza to proces przekierowania i zapewnia, że wszystkie adresy spod /blog/ trafią płynnie do nowej lokalizacji pod /articles/. Domyślne sklepy Shopify i ShopifyPlus nie mają tej możliwości bez wsparcia aplikacji.

Częścią, która kosztuje ludzi ruch, jest to, że Shopify przyjmuje składnię wieloznaczną bez słowa sprzeciwu. Rekord utworzony jako /old-blog/* zapisuje się, pojawia w tabeli przekierowań i nie zgłasza błędu. Gwiazdka jest zapisywana jako zwykły znak, więc jedynym adresem URL, jaki kiedykolwiek dopasuje, jest ten, który dosłownie zawiera gwiazdkę. To gorsze niż wprost odrzucenie, bo nic nie sygnalizuje awarii, dopóki prawdziwy ruch nie zacznie zwracać 404. Rozwiń wszystkie symbole wieloznaczne w pliku przekierowań do jawnych ścieżek, zanim go zaimportujesz.

Shopify robi, co może, żeby nie tworzyć łańcuchów przekierowań

Shopify ma zabezpieczenie przed łańcuchami i warto poznać jego granice, zanim mu zaufasz. Odrzuca przekierowanie, którego cel jest już źródłem innego przekierowania, komunikatem Target can't redirect to another redirect. Odrzuca przekierowanie wskazujące na samo siebie, komunikatem Target can't be the same as path, i blokuje bezpośrednie pętle dwukierunkowe.

W tym teście rekordy URL, które próbowaliśmy utworzyć, wyglądały tak, i nie zostały dopuszczone:

404
  • /BOTH redirects to /SHORT
  • /SHORT redirects to /homepage

Czego zabezpieczenie nie robi, to sprawdzenia kierunku odwrotnego. Utwórz /a do /b, kiedy pod /b nic nie ma, a później utwórz /b do /c, a oba zostaną przyjęte. Shopify nigdy nie wraca do pierwszego rekordu i masz działający łańcuch:

GET /a
  301 to /b
  301 to /
  final: 200, 2 hops

O powstaniu łańcucha decyduje sama kolejność tworzenia. Importy masowe stosują wiersze w kolejności z pliku, a pliki migracyjne rzadko są sortowane pod tym kątem, więc na tym zabezpieczeniu nie da się budować planu. Po każdym dużym imporcie weź próbkę przekierowań i policz skoki:

curl -sIL https://yourstore.com/old-path -o /dev/null -w "hops: %{num_redirects}
"

Wszystko powyżej 1 to łańcuch.

Czym są łańcuchy przekierowań?

Łańcuchy przekierowań powstają wtedy, gdy adres URL przekierowuje na inny adres, który z kolei przekierowuje na jeszcze inny, tworząc sekwencję, czyli “łańcuch” przekierowań. Może się to zdarzyć nieumyślnie, kiedy z czasem powstaje wiele przekierowań bez właściwego zarządzania.

Łańcuchy przekierowań są kłopotliwe, bo potrafią spowolnić ładowanie stron, zaszkodzić SEO i pogorszyć doświadczenie użytkownika. Każde kolejne przekierowanie dokłada opóźnienie, bo przeglądarka musi przejść przez każdy krok łańcucha, zanim dotrze do celu.

Na przykład, jeśli masz ustawione takie przekierowania:

/old-page redirects to /new-page
/new-page redirects to /latest-page

Kiedy użytkownik wejdzie na /old-page, najpierw zostanie przekierowany na /new-page, a potem natychmiast jeszcze raz na /latest-page, co daje łańcuch przekierowań.

Nowe zasady, których trzeba się trzymać przy ustawianiu przekierowań w Shopify

Naszym największym odkryciem w testach jest to, że dokumentacja Shopify jest nieaktualna, a reguła leżąca pod spodem jest prostsza niż udokumentowana lista zarezerwowanych prefiksów.

Prawdziwa trasa witryny zawsze wygrywa z przekierowaniem. Tam, gdzie pod adresem naprawdę istnieje strona, Shopify serwuje stronę i ignoruje przekierowanie. Rekord zostaje przyjęty, leży w tabeli przekierowań i nic nie robi. Bez błędu, bez ostrzeżenia. Zmienną nie jest prefiks. Zmienną jest istnienie trasy:

/products/ai-skillset-package-001  ->  200, the product page
/products/zz20260727               ->  301, the redirect fires

Ten sam prefiks, przeciwny wynik. Obejmuje to każdy działający produkt, kolekcję, stronę i wpis blogowy w Twoim sklepie, a nie tylko cztery ścieżki, które Shopify dokumentuje. Przekierowanie na opublikowanym adresie produktu jest bezczynne, dopóki ten produkt przestanie się otwierać, przez co kolejność ma znaczenie podczas migracji: najpierw wycofaj z publikacji albo usuń stary zasób, potem potwierdź, że przekierowanie działa.

Według Shopify, jeśli próbujesz przekierować cokolwiek, co zaczyna się od tych zarezerwowanych prefiksów, Twoje reguły przekierowań nie zostaną utworzone:

/apps
/application
/cart
/carts
/orders
/services
/products
/collections
/collections/all

Ustaliliśmy, że to nieprawda.

301 Te wartości pola "Redirect from" ZOSTANĄ dopuszczone i zadziałają poprawnie, mimo że dokumentacja mówi, że nie powinny:
  • /apps
  • /application
  • /carts
  • /orders
  • /services
  • /cart/people

Wyjątkiem był cart. Sam w sobie jest zarezerwowany, a działa dopiero wtedy, gdy występuje po nim podkatalog.

404 Te wartości pola "Redirect from" zostaną utworzone w tabeli, ale nie będą realizowane:
  • /cart
  • /products
  • /collections
  • /collections/all
301 Jeśli po zarezerwowanych prefiksach następują podkatalogi, Shopify je dopuści i zrealizuje, na przykład:
  • /cart/people
  • /carts/people
  • /products/people
  • /collections/people
404 Nasze dane testowe pokazały, że tylko te prefiksy URL zostaną całkowicie zignorowane, jeśli wpiszesz je samodzielnie:
  • /cart
  • /products
  • /collections
  • /collections/all

/services jest w tej grupie wyjątkiem i zachowuje się odwrotnie niż reszta. Przekierowanie na samym /services zwraca 301. Przekierowanie na czymkolwiek pod nim, na przykład /services/consulting, zwraca 404, mimo że rekord zapisuje się bez zastrzeżeń. Powtórzyliśmy ten test cztery razy w ciągu około 45 sekund, żeby wykluczyć opóźnienie propagacji, a rekord przez cały czas był obecny w tabeli. Każdy inny prefiks z tej grupy działał z podkatalogami.

Prawdopodobną przyczyną jest to, że Shopify routuje /services/* wewnętrznie na potrzeby proxy aplikacji i punktów systemowych, więc te żądania nigdy nie docierają do tabeli przekierowań, choć nie zweryfikowaliśmy tego mechanizmu bezpośrednio. Jeśli migrujesz witrynę z sekcją /services/, żadne z tych przekierowań nie zadziała. Przemapuj je na inną strukturę ścieżek albo obsłuż je w warstwie DNS lub proxy.

Tworzenie i aktualizowanie przekierowań URL jest w Shopify łatwe

Utworzenie nowego przekierowania jest w Shopify proste. Użytkownicy mają dwie opcje:

Dodając adresy URL do systemu Shopify, w polu źródłowym (from) możesz podać względne ścieżki URL, bez domeny najwyższego poziomu, a w polu docelowym (to) ścieżki bezwzględne albo względne. Przykład:

/example_product.php
Tworzenie pojedynczych przekierowań URL

Reguły przekierowań, które ma Shopify, nie pozwolą Ci utworzyć tego samego przekierowania URL dwa razy przy użyciu interfejsu pojedynczego przekierowania.

Kiedy adres znajdzie się już w tabeli “Redirect from”, próba dodania go ponownie skończy się błędem.

Jeśli chcesz zaktualizować pojedynczy rekord URL, musisz znaleźć go w tabeli przekierowań albo skorzystać z metody importu masowego. Jeśli adres, który już istnieje, znajdzie się w pliku importu masowego, pole “Redirect to” tego rekordu zostanie zaktualizowane wartością z pliku CSV.

Radzimy zawsze importować przekierowania w rozsądnych, wydajnych partiach. Na przykład, jeśli masz 10 000 przekierowań URL, importuj po 1000 naraz i sprawdzaj je, jeśli masz na to czas. Lepiej wyłapać błędy w mniejszych zbiorach danych, niż tropić je w większych.

Podchodź rozważnie do masowych przekierowań URL w Shopify

Żeby utworzyć przekierowania masowo, wypełnij plik CSV nagłówkami, których wymaga Shopify, stwórz mapowania 1:1 i upewnij się, że wszystkie adresy mają postać ścieżek względnych. Jeśli stworzysz plik ze ścieżkami bezwzględnymi w polu “Redirect from” albo “Redirect to”, Shopify weźmie sprawy w swoje ręce. Oto kilka scenariuszy:

404 Shopify usunie to, co rozpozna jako 'protokół-http+domenę-najwyższego-poziomu', i utworzy preferowaną ścieżkę względną:
  • https://www.wislr.com/path/to/resource%20with
301
  • /path/to/resource%20with
404 Ścieżka URL nie zawiera protokołu HTTP, ale zawiera domenę najwyższego poziomu albo subdomenę, więc Shopify dokłada prefiks '/', żeby utworzyć preferowaną ścieżkę względną:
  • www.wislr.com/unicode/test?value=%E2%9C%93%20
  • co.wislr.com/mix/of%20encoded
301
  • /www.wislr.com/unicode/test?value=%E2%9C%93%20
  • /co.wislr.com/mix/of%20encoded
404 Ścieżka URL nie zawiera protokołu HTTP ani subdomeny, ale zawiera domenę najwyższego poziomu, więc Shopify dokłada prefiks '/', żeby utworzyć preferowaną ścieżkę względną:
  • wislr.com/nested/directory/structure?param1=value1
301
  • /wislr.com/nested/directory/structure?param1=value1

Wniosek jest taki, żeby dwa razy sprawdzić plik importu, zanim go użyjesz. Inaczej stworzysz reguły przekierowań URL, które nie działają tak, jak potrzebujesz.

Jeśli rekord przekierowania już jest w tabeli, a te same wartości znajdą się w pliku importu, Shopify zaktualizuje rekord najświeższymi danymi z pliku. Naszym zdaniem jest to bardzo pomocne, o ile chcesz, żeby ten rekord się zaktualizował. Tym bardziej warto dwa razy sprawdzić dane.

Shopify nie egzekwuje pułapu wierszy na plik. Jeden import z 1051 wierszami przeszedł bez ani jednej awarii w 48 sekund, co daje mniej więcej 1300 wierszy na minutę.

Partie po około 1000 wierszy nadal warto stosować, ale z innego powodu niż twardy limit. Mniejsze pliki psują się czytelniej. Jeśli import 20 000 wierszy pójdzie źle, masz znacznie mniejsze pojęcie, które wiersze go zepsuły, niż gdybyś puścił dwadzieścia plików i obserwował liczniki. Po każdym imporcie odczytaj createdCount, updatedCount i failedCount, bo niezerowy failedCount to jedyny sygnał, jaki dostaniesz, że wiersze zostały pominięte.

Ścieżka, która już jest w tabeli przekierowań, dostaje nadpisany cel i jest raportowana w updatedCount, zachowując swoje pierwotne id rekordu. Dzięki temu import CSV można bezpiecznie powtarzać, co przydaje się w trakcie migracji. Oznacza to też, że nieaktualny plik po cichu nadpisze poprawki, które wprowadziłeś ręcznie od czasu ostatniego importu.

Współpraca z WISLR

Zlecić nam budowę mapy przekierowań.

Zmapowaliśmy przekierowania w ponad 100 migracjach, w tym w przenosinach 27 000 adresów URL na Shopify Plus. Budujemy plik i sprawdzamy go pod kątem każdego limitu z tej strony, zanim trafi do importu. Po przełączeniu sami odczytujemy żywe odpowiedzi, zamiast ufać temu, co mówi tabela przekierowań.

Zobacz migrację 27 000 adresów URL →

Limit rekordów przekierowań URL w Shopify

Wszystko, co dobre, ma swoje granice, a reguły przekierowań w Shopify nie są wyjątkiem. Dla przekierowań URL istnieją dwa progi.

Plany Shopify (nie Plus):

Maksymalnie 100 000 przekierowań URL

Plany ShopifyPlus:

Maksymalnie 20 000 000 przekierowań

Nie testowaliśmy tych limitów, to byłoby szaleństwo! To aktualne udokumentowane specyfikacje platformy. Miej je na uwadze, planując przekierowania i ustawiając priorytety dla adresów o największym ruchu i przychodzie. Z tego, co wiemy, Shopify tych limitów nie podnosi, mimo nieustannych próśb na forach wsparcia.

Limit znaków w adresach URL w Shopify

Tu robi się ciekawie z systemem przekierowań Shopify. Oficjalne wytyczne Shopify nie podają ścisłych limitów znaków.

Żeby zweryfikować limity znaków w adresie URL przekierowania, najpierw zbudowaliśmy i spróbowaliśmy zaimportować bardzo długie ciągi. Zaczęliśmy od adresu o długości 2000 znaków, bo przeglądarki obsługują żądania URI do 2083 znaków. Oto ta piękność w całej okazałości:

/2000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBcccccccccccccccccccccccccccccccccccccccccccccccccccDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

Naszą początkową metodą był import adresu URL o długości 2000 znaków przez szablon masowych przekierowań i wtedy w Shopify zawyły alarmy. Progiem, który oficjalnie odkryliśmy, jest limit 1024 znaków dla ciągów przekierowań URL, wliczając w to prefiks w postaci ukośnika ‘/’.

  • Passed Adres URL o długości 300 znaków
  • Passed Adres URL o długości 600 znaków
  • Passed Adres URL o długości 1000 znaków
  • Failed Adres URL o długości 2000 znaków

Kilka ważnych i nieudokumentowanych zasad przekierowań, które warto znać w Shopify

Shopify normalizuje litery w Twoich ciągach URL. Oznacza to, że niezależnie od tego, czy wpiszesz wielką, czy małą literę, żądania tych różnych wzorców zostaną obsłużone tak samo. Wszystkie poniższe adresy trafią na tę samą stronę, nawet jeśli istnieją osobne rekordy:

/CASE/TEST.html
/case/test.html
/Case/Test.html

Pierwszeństwo przed pozostałymi ma ciąg zapisany małymi literami:

/case/test.html

W naszych testach, mimo że istnieją dwa unikalne rekordy “Redirect from” z różnymi wartościami “Redirect to”, dla obu rekordów zawsze serwowana jest strona /about.html:

#1
/Case/Test.html [redirect to] /homepage

#2
/case/test.html [redirect to] /about.html

Intrygujące i potencjalnie irytujące jest to, że Shopify pozwala wpisać wszystkie te unikalne wartości do tabeli przekierowań, a serwuje tylko jedną z nich. Radzimy uważnie przejrzeć dane, jeśli podejrzewasz, że Twoja taksonomia adresów URL może wpadać w takie wzorce, zanim zaimportujesz je do Shopify.

W przekierowaniach Shopify możesz używać bezwzględnych ścieżek URL

Nasz test wykazał, że bezwzględne ścieżki URL w przekierowaniach są w porządku, jeśli znajdują się w polu “Redirects to”. Mogą prowadzić do dowolnego adresu. Oto przykład, w którym ścieżka URL po zażądaniu przekierowuje na profil LinkedIn:

[Redirect from]
/Case/Test.html

[Redirect to]
https://www.linkedin.com/wislr

Poza tym w polu “Redirect to” Shopify nie usuwa domen najwyższego poziomu, nawet jeśli chodzi o Twój własny sklep Shopify.

Adresy URL z parametrami

W naszych testach Shopify zachowywał adresy URL z parametrami, z pewnymi wyjątkami. Jeśli masz adresy zaindeksowane z wieloma unikalnymi ciągami parametrów, te unikalne ciągi można dodać do tabel przekierowań Shopify i skierować je do osobnych celów. Ten test przeprowadziliśmy na powszechnej taksonomii tego typu adresów, czyli na parametrach UTM. Na przykład:

Ten ciąg URL jest w polu “Redirect from” w tabeli przekierowań i trafił do zamierzonego celu:

/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google&utm_term=redirects

Zmodyfikowaliśmy ciąg URL i usunęliśmy ostatni parametr ‘&utm_term=redirects’, co dało 404:

/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google

To zachowanie odtworzyliśmy w innych testach z innymi parametrami jako wartościami, co potwierdziło, że Shopify traktuje adresy z parametrami jak dosłowne ciągi. Nie skracają adresu do wersji bazowej, jeśli usuniesz parametr z adresu przekierowania, o ile ten adres nie istnieje w witrynie Shopify.

Żeby to dodatkowo potwierdzić, skierowaliśmy adres URL na samego siebie, na co Shopify domyślnie nie pozwala. Dostaniesz taki komunikat:

Ten wpis jest dopuszczalny, kiedy parametry znajdują się w polu “Redirect from”. Nie stanowi pętli przekierowań, ale na podstawie zachowania w przeglądarce nasz test pokazał, że Shopify ignoruje ten rekord. Kiedy żądany jest adres z pola “Redirect from”, Shopify serwuje pełny ciąg URL z parametrami, a nie stronę główną, której oczekiwałaby tabela:

Ten wpis jest dopuszczalny, ale Shopify nie dołączy parametrów do wczytywanej strony, tak jak zakłada reguła. Wczyta się tylko adres bazowy.

Dotyczy to ścieżek źródłowych z parametrami. Tam, gdzie ścieżka źródłowa przekierowania nie ma własnych parametrów, wszystko, co przyjdzie w żądaniu, zostaje przeniesione do celu:

GET /old-page              ->  301 to /new-page
GET /old-page?utm_source=x ->  301 to /new-page?utm_source=x

Przekierowania nie usuną parametrów za Ciebie. Usuwanie musi się odbywać w warstwie nad Shopify.

Dopasowanie też nie jest dosłownym porównaniem ciągów. Shopify normalizuje zapisany rekord i przychodzące żądanie, zanim je porówna, więc wielkość liter i kolejność parametrów nie mają znaczenia. Wobec rekordu zapisanego jako /page?doe&name=john wszystkie warianty ?name=John&Doe, ?Doe&name=John i ?name=john&doe zwracają 301. Znaczenie ma to, które parametry są obecne: każdy parametr z zapisanej ścieżki musi pojawić się w żądaniu, a pominięcie jednego zwraca 404, a nie częściowe dopasowanie.

Nasza ostatnia obserwacja o adresach z parametrami jest taka, że Shopify w pewnych przypadkach przepisze dane, które mu dasz. Tak, Shopify przepisze dane URL, które mu przekażesz, dla niektórych parametrów.

Oto przykłady, w których nasze testy wychwyciły ten wzorzec.

Oryginalne dane przekierowania wczytane przez Shopify:

/test?name=John&Doe

Shopify przepisał ciąg tak, żeby ‘doe’ było pierwsze, i zamienił je na małe litery:

/test?doe&name=john

Wartości są zamieniane na małe litery razem z kluczami, więc tabela przekierowań porównana z plikiem, z którego powstała, wygląda tak, jakby import uszkodził dane.

Oryginalne dane przekierowania wczytane przez Shopify:

/user?name=John&age=30&active=true

Shopify przepisał ciąg, ustawiając nową kolejność wypisanych parametrów:

/user?active=true&age=30&name=John

Nasze testy sugerują, że Shopify stara się ustawić parametry w kolejności alfabetycznej. Zastanawialiśmy się, czy to nie błąd, skoro ustaliliśmy, że Shopify traktuje adresy z parametrami jak dosłowne ciągi, więc po co podważać tę regułę, przepisując kolejność parametrów. Obecnie nigdy nie uda Ci się zachować struktury ciągów URL z wieloma wartościami parametrów. Dla niektórych systemów zarządzania treścią może to mieć poważne konsekwencje.

Interfejs przekierowań URL w Shopify wymaga odświeżenia

Przy intensywnym korzystaniu z narzędzia przekierowań w Shopify jedne elementy doceniliśmy, a innych nam brakowało.

Doceniamy te funkcje:

  • Przyciski i funkcjonalność masowego importu przekierowań
  • Filtrowanie i szybkie wyszukiwanie w taksonomii adresów URL
  • Eksport adresów URL
  • Łatwość utworzenia pojedynczego adresu URL

Stwierdziliśmy, że narzędziu brakuje tych danych i funkcji:

  • Łącznej liczby zaimportowanych adresów URL
  • Łatwiejszego sposobu na skopiowanie i wklejenie więcej niż jednego adresu URL do systemu. Jeśli dodajesz więcej niż jeden adres naraz, musisz użyć dokumentu importu. Jednym z przypadków, w których kopiowanie i wklejanie by się przydało, jest zestaw adresów, które mają wszystkie wskazywać na ten sam cel.

Import jest szybki, cofnięcie importu już nie

Tworzenie przekierowań masowo idzie szybko. Usuwanie ich masowo już nie, a różnica jest na tyle duża, że zmienia sposób planowania importu.

Operacja Metoda Zmierzony czas
Utworzenie 1051 przekierowań Import CSV, jeden plik 48 sekund
Usunięcie 1051 przekierowań urlRedirectDelete, po jednym 226 sekund

Szybkie mutacje usuwania masowego są zablokowane. urlRedirectBulkDeleteBySearch, urlRedirectBulkDeleteByIds i urlRedirectBulkDeleteAll wymagają zakresu write_online_store_navigation oraz aktywnej sesji użytkownika. Aplikacja uwierzytelniająca się poświadczeniami klienta, a tak działa większość skryptów migracyjnych, nie może ich wywołać i zostaje z usuwaniem po jednym rekordzie.

Planuj importy tak, jakby były trudne do cofnięcia, bo takie są. Najpierw zweryfikuj plik na sklepie deweloperskim albo importuj w transzach, które jesteś gotów rozplątać ręcznie. Nie wypychaj pliku z 50 000 wierszy, którego nie przetestowałeś, w założeniu, że da się go szybko wycofać.

Import CSV i Admin API inaczej traktują duplikaty

Ten przewodnik jest napisany wokół przepływu z plikiem CSV, gdzie duplikat ścieżki aktualizuje istniejący rekord. API robi odwrotnie:

create /existing-path -> /pages/about
(where /existing-path already redirects to /)

REJECTED: "Path has already been taken"

Kto przenosi przepływ z CSV na Admin API, musi odpytać o istniejący rekord i wywołać urlRedirectUpdate albo usunąć rekord i utworzyć go na nowo. Prosty przeport logiki importu polegnie na każdej ścieżce, która już istnieje.

Jak przetestować przekierowania w Shopify po starcie

Wszystko powyżej opisuje, co Shopify przyjmie. Nic z tego nie mówi, czy zaimportowane przekierowania faktycznie działają na żywym sklepie, a to inne pytanie. Przekierowanie może zaimportować się czysto, pojawić się w panelu i wciąż nie robić tego, czego oczekiwałeś, gdy na drodze stanie motyw, aplikacja albo proxy.

Testuj spoza sklepu, a nie klikając po przeglądarce, bo przeglądarka ukrywa to, co musisz zobaczyć: kod statusu. Zażądaj starego adresu URL i odczytaj nagłówki odpowiedzi.

curl -sIL https://yourstore.example/old-product-url

W wyniku odczytaj trzy rzeczy:

  • Kod statusu na pierwszym skoku. Chcesz 301. 302 jest tymczasowe i przekazuje wartość inaczej, co ma znaczenie, kiedy chodzi właśnie o trwałą przeprowadzkę.
  • Liczbę skoków. Każda linia HTTP/ w wyniku to jeden skok. Dwie albo więcej oznacza, że zbudowałeś łańcuch, a poprawką jest przestawienie pierwotnego źródła na cel końcowy, zamiast zostawiania kroku pośredniego.
  • Status końcowy. Ostatnia linia powinna mieć 200. Przekierowanie kończące się na 404 jest gorsze niż brak przekierowania, bo w arkuszu wygląda na załatwione.

Potem przetestuj kształty, o które łatwo zapomnieć. Zrób to samo sprawdzenie na adresie z parametrem śledzącym, żeby potwierdzić, że ciąg zapytania dotrze do celu, na domenie głównej oraz na www, a także po zwykłym http, a nie tylko po https. Przetestowaliśmy dokładnie to na żywym sklepie i parametr dotarł do celu w nienaruszonej postaci, ale chodzi o to, żeby zweryfikować to na swoim sklepie, a nie ufać ogólnej odpowiedzi, bo motyw albo aplikacja mogą zmienić wynik.

Jedno zachowanie, o którym warto wiedzieć, zanim wpadniesz w panikę: po zmianie albo usunięciu przekierowania węzeł brzegowy Shopify potrafi jeszcze przez około trzydzieści sekund serwować starą odpowiedź, podczas gdy wersja tego samego adresu z obejściem cache już zwraca nową. Daj temu minutę i przetestuj ponownie z dopisanym unikalnym ciągiem zapytania, zanim uznasz, że przekierowanie nie weszło.

Po pełną sekwencję wokół migracji, a nie pojedynczego przekierowania, sięgnij do listy kontrolnej migracji witryny, która obejmuje mapowanie, dzień startu i monitoring po starcie, w które to wszystko się wpisuje.


Podsumowanie

System zarządzania przekierowaniami 301, który ma Shopify, jest dobry dla większości firm, ale nie jest jeszcze na poziomie enterprise. Mamy nadzieję, że z czasem dojrzeje do przekierowań wieloznacznych i do większej liczby rekordów przekierowań w planach standardowym i plus. Możliwość korzystania z ich systemu przekierowań oraz różne typy formatów URL, które obsługuje, sprawiają, że oceniamy je wysoko pod względem przydatności.

Jeśli podejmujesz projekt obejmujący złożone mapowania przekierowań 301 i potrzebujesz zespołu, który żyje tym konkretnym rodzajem pracy, odezwij się do nas.


Dziennik zmian

Ten przewodnik został pierwszy raz opublikowany na podstawie testów z 19 czerwca 2024 i przetestowany ponownie 27 lipca 2026 na działającym sklepie Shopify w planie standardowym, przez Admin GraphQL API i na żywych żądaniach do witryny. Większość pierwotnych ustaleń się utrzymała. Dziewięć nie. Treść powyżej opisuje, co Shopify robi teraz, a tutaj jest to, co się ruszyło.

Odwrócone Łańcuchy przekierowań

2024 Shopify nie pozwala Ci tworzyć łańcuchów przekierowań.

2026 Zabezpieczenie sprawdza tylko jeden kierunek. Odrzuca przekierowanie, którego cel jest już źródłem innego, ale nie odwrotnie, więc utworzenie /a do /b, a później /b do /c, zostawia działający łańcuch o dwóch skokach. O powstaniu łańcucha decyduje sama kolejność tworzenia.

Odwrócone Prefiks /services

2024 /services działa jako przekierowanie, tak jak /apps, /carts i /orders.

2026 /services działa samodzielnie i zawodzi z każdym podkatalogiem. /services/consulting zwraca 404, mimo że rekord się zapisuje. Każdy inny prefiks z tej grupy działa z podkatalogami.

Skorygowane Dlaczego niektóre przekierowania są ignorowane

2024 Cztery zarezerwowane prefiksy są ignorowane, gdy użyje się ich samodzielnie: /cart, /products, /collections, /collections/all.

2026 Obserwacje się trzymają, wyjaśnienie nie. Prawdziwa trasa witryny zawsze wygrywa z przekierowaniem, co obejmuje każdy działający produkt, kolekcję, stronę i wpis blogowy, a nie listę czterech ścieżek.

Skorygowane Parametry zapytania

2024 Parametry nigdy nie są dodawane do wczytywanego adresu URL.

2026 Prawda tylko dla ścieżek źródłowych z parametrami. Tam, gdzie ścieżka źródłowa nie ma własnych parametrów, parametry z żądania są przenoszone do celu.

Skorygowane Dopasowywanie parametrów

2024 Shopify traktuje adresy URL z parametrami jak dosłowne ciągi.

2026 Obie strony są normalizowane przed porównaniem, więc wielkość liter i kolejność nie mają znaczenia. Ścisły jest tylko zestaw parametrów, a pominięcie jednego zwraca 404.

Skorygowane Przepisywanie parametrów

2024 Parametry są układane alfabetycznie, a /test?name=John&Doe zapisuje się jako /test?Doe&name=John.

2026 Układanie alfabetyczne potwierdzone, a wielkość liter nie jest zachowywana. Ta sama ścieżka zapisuje się jako /test?doe&name=john, z wartościami zamienionymi na małe litery razem z kluczami.

Skorygowane Format ze średnikiem

2024 Shopify nie potrafił wczytać ciągu z niezakodowanym średnikiem po znaku równości.

2026 Wczytuje go bez problemu i zapisuje średnik jako %3b. Awaria następuje w momencie żądania, a żądanie formy zakodowanej zwraca 301.

Skorygowane Wielkość partii importu

2024 Importuj po 1000 wierszy naraz.

2026 To nie jest pułap. Jeden plik z 1051 wierszami zaimportował się bez ani jednej awarii w 48 sekund. Partie nadal są dobrą praktyką, bo mniejsze pliki psują się czytelniej.

Rozszerzone Symbole wieloznaczne

2024 Shopify nie obsługuje przekierowań z symbolami wieloznacznymi.

2026 Nadal prawda, a przy tym przyjmuje tę składnię bez żadnego błędu. Gwiazdka jest zapisywana jako zwykły znak, więc nic nie sygnalizuje awarii, dopóki ruch nie zacznie zwracać 404.

Dodane Cofanie importu

2026 Utworzenie 1051 przekierowań zajęło 48 sekund. Usunięcie tych samych 1051 zajęło 226 sekund, bo mutacje usuwania masowego wymagają aktywnej sesji użytkownika, a token skryptowy nie może ich wywołać.

Dodane Duplikaty w API i w CSV

2026 Import CSV aktualizuje ścieżkę, która już istnieje. Admin API odrzuca ją komunikatem Path has already been taken, więc prosty przeport logiki importu polegnie na każdej istniejącej ścieżce.

Utrzymane Przetestowane ponownie i bez zmian

Każde przekierowanie zwraca 301. Limit 1024 znaków ścieżki obejmuje początkowy ukośnik, przy czym 1027 zostało odrzucone, a 1015 przyjęte. Wielkość liter jest normalizowana, a pierwszeństwo mają małe litery. Import masowy usuwa protokół i domenę, zostawiając ścieżkę względną, natomiast pole celu zachowuje bezwzględny zewnętrzny adres URL w nienaruszonej postaci. Węzeł brzegowy potrafi serwować nieaktualną odpowiedź przez około trzydzieści sekund po zmianie.

Limity rekordów, 100 000 w planach standardowych i 20 000 000 w Plus, nie zostały powtórzone. Osiągnięcie ich jest technicznie możliwe teraz, gdy potok importu jest zmierzony, ale usuwanie idzie z prędkością mniej więcej 280 rekordów na minutę i bez skryptowego masowego cofania, więc potwierdzenie udokumentowanej liczby zostawiłoby żywy sklep ze śmieciowymi przekierowaniami na sześć godzin albo dłużej.

Najczęściej zadawane pytania

Komu ma pomóc baza wiedzy WISLR o przekierowaniach URL w Shopify?

Nasza baza wiedzy służy przede wszystkim markom i agencjom przeprowadzającym migracje witryn na Shopify. Szczególnie przydaje się małym zespołom, które muszą wykorzystać każdą godzinę, i pomaga klientom sprawnie dopasować oraz wykonać nawet 100 000 przekierowań URL.

Czy Shopify ma oficjalny dokument pomocy o przekierowaniach URL?

Tak, Shopify utrzymuje oficjalny dokument pomocy o przekierowaniach URL pod adresem help.shopify.com. Zawiera on ogólne wskazówki dotyczące dodawania pojedynczych i masowych przekierowań 301, a nasz przewodnik uzupełnia go o szczegółowe informacje o typach adresów URL i ograniczeniach platformy.

Jakich ciągów URL Shopify nie obsługuje?

Shopify ma tylko jeden nieobsługiwany format ciągu URL: ciągi z niezakodowanym znakiem średnika po znaku równości (np. /page?param=;semicolon). Wszystkie pozostałe formaty URL, łącznie z zakodowanymi średnikami i średnikami w innych miejscach, są obsługiwane.

Czy Shopify obsługuje przekierowania z symbolami wieloznacznymi albo wyrażeniami regularnymi?

Nie, Shopify obecnie nie obsługuje przekierowań z symbolami wieloznacznymi ani wzorców wyrażeń regularnych w swoim natywnym systemie przekierowań. To ograniczenie dotyczy zarówno standardowych sklepów Shopify, jak i Shopify Plus.

Czym są przekierowania z symbolami wieloznacznymi?

Przekierowania wieloznaczne pozwalają przekierować wiele adresów URL pasujących do określonego wzorca do jednego celu. Na przykład przekierowanie wszystkich adresów spod /blog/* do /articles/*. Choć ta funkcja jest często wyczekiwana, w natywnej funkcjonalności Shopify obecnie nie jest dostępna.

Czy Shopify potrafi uniknąć tworzenia łańcuchów przekierowań?

Tak, Shopify ma wbudowane zabezpieczenia przed łańcuchami przekierowań. System nie pozwoli Ci utworzyć przekierowania na adres URL, który jest już przekierowywany gdzie indziej.

Czym są łańcuchy przekierowań?

Łańcuchy przekierowań powstają wtedy, gdy adresy URL przekierowują przez kilka kroków, zanim dotrą do celu (np. A→B→C). Takie łańcuchy potrafią spowolnić ładowanie stron i pogorszyć wyniki SEO. System Shopify z założenia pomaga im zapobiegać.

Czy tworzenie i aktualizowanie przekierowań URL w Shopify jest łatwe?

Tak, Shopify daje dwie proste metody: tworzenie pojedynczych przekierowań URL w interfejsie oraz import masowy z pliku CSV. Obie obsługują ścieżki względne i bezwzględne.

Jak tworzyć masowe przekierowania URL w Shopify?

Masowe przekierowania można tworzyć narzędziem do importu CSV w Shopify. Zalecamy import w partiach po 1000 wierszy, bo łatwiej wtedy sprawdzać błędy i zarządzać całością. Szablon importu jest dostępny tutaj.

Czy Shopify ma maksymalny limit rekordów przekierowań URL?

Tak. Standardowe plany Shopify są ograniczone do 100 000 przekierowań URL, a sklepy Shopify Plus obsłużą do 20 000 000 przekierowań. Te limity są sztywne i nie da się ich podnieść.

Czy Shopify ma limity liczby znaków w przekierowaniach?

Tak, Shopify egzekwuje limit 1024 znaków dla ciągów przekierowań URL, wliczając w to prefiks w postaci ukośnika (’/’). Adresy dłuższe niż ten limit nie zostaną przyjęte przez system.

Czy istnieje narzędzie do walidacji adresów URL pod kątem zgodności z Shopify?

Shopify nie udostępnia oficjalnego narzędzia do walidacji, ale nasze szeroko zakrojone testy pokazały, że 99% standardowych formatów URL jest obsługiwane. Główne rzeczy do rozważenia to limit 1024 znaków i unikanie niezakodowanych średników po znaku równości.

FAQs

Jak testować przekierowania URL po migracji na Shopify?

Testuj spoza sklepu, żądaniem, które pokazuje kod statusu, a nie klikając w przeglądarce. Uruchom curl -sIL na starym adresie URL i sprawdź trzy rzeczy: czy pierwszy skok zwraca 301, a nie 302, czy jest tylko jeden skok, a nie łańcuch, i czy końcowa odpowiedź to 200, a nie 404. Potem powtórz sprawdzenie na kształtach, o których się zapomina: adres URL z parametrem śledzącym, żeby potwierdzić, że ciąg zapytania przetrwa, domena główna oraz www, a także zwykły http obok https. Warto wiedzieć o jednym dziwactwie: po zmianie albo usunięciu przekierowania węzeł brzegowy Shopify potrafi serwować starą odpowiedź przez mniej więcej trzydzieści sekund, więc odczekaj minutę i przetestuj ponownie z dopisanym unikalnym ciągiem zapytania, zanim uznasz, że coś nie zadziałało.

Komu ma pomóc baza wiedzy WISLR o przekierowaniach URL w Shopify?

Nasza baza wiedzy służy przede wszystkim markom i agencjom przeprowadzającym migracje witryn na Shopify. Szczególnie przydaje się małym zespołom, które muszą wykorzystać każdą godzinę, i pomaga klientom sprawnie dopasować oraz wykonać nawet 100 000 przekierowań URL.

Czy Shopify ma oficjalny dokument pomocy o przekierowaniach URL?

Tak, Shopify utrzymuje oficjalny dokument pomocy o przekierowaniach URL pod adresem help.shopify.com. Zawiera on ogólne wskazówki dotyczące dodawania pojedynczych i masowych przekierowań 301, a nasz przewodnik uzupełnia go o szczegółowe informacje o typach adresów URL i ograniczeniach platformy.

Jakich ciągów URL Shopify nie obsługuje?

Jednego, i awaria leży po stronie żądania, a nie wczytywania. Ścieżka z niezakodowanym średnikiem po znaku równości, na przykład /page?param=;semicolon, zostaje przyjęta i zapisana ze średnikiem zakodowanym procentowo jako %3b. Przychodzący adres URL z surowym średnikiem nigdy nie pasuje do tak zapisanego rekordu, więc zwraca 404, natomiast żądanie formy zakodowanej zwraca normalnie 301. Tam, gdzie kontrolujesz linki przychodzące, kodowanie procentowe średnika rozwiązuje problem. Tam, gdzie surowy średnik przychodzi z linków poza Twoją kontrolą, tego formatu nie da się niezawodnie przekierować. Wszystkie pozostałe formaty URL, łącznie ze średnikami w innych miejscach, są obsługiwane.

Czy Shopify obsługuje przekierowania z symbolami wieloznacznymi albo wyrażeniami regularnymi?

Nie, ani w standardowym Shopify, ani w Shopify Plus, a szczegółem, który kosztuje ludzi ruch, jest to, że Shopify przyjmuje składnię wieloznaczną bez żadnego błędu. Rekord utworzony jako /old-blog/* zapisuje się, pojawia w tabeli przekierowań i niczego nie zgłasza. Gwiazdka jest zapisywana jako zwykły znak, więc jedynym adresem URL, jaki kiedykolwiek dopasuje, jest ten, który dosłownie zawiera gwiazdkę. Nic nie sygnalizuje awarii, dopóki prawdziwy ruch nie zacznie zwracać 404, więc rozwiń symbole wieloznaczne do jawnych ścieżek przed importem.

Czym są przekierowania z symbolami wieloznacznymi?

Przekierowania wieloznaczne pozwalają przekierować wiele adresów URL pasujących do określonego wzorca do jednego celu. Na przykład przekierowanie wszystkich adresów spod /blog/* do /articles/*. Choć ta funkcja jest często wyczekiwana, w natywnej funkcjonalności Shopify obecnie nie jest dostępna.

Czy Shopify potrafi uniknąć tworzenia łańcuchów przekierowań?

Częściowo, i granice tego mają znaczenie. Shopify odrzuca przekierowanie, którego cel jest już źródłem innego przekierowania, i odrzuca przekierowanie wskazujące na samo siebie. Nie sprawdza kierunku odwrotnego. Utwórz /a do /b, kiedy pod /b nic nie ma, a później utwórz /b do /c, a oba zostaną przyjęte, co zostawia działający łańcuch o dwóch skokach, do którego Shopify już nie wraca. O powstaniu łańcucha decyduje sama kolejność tworzenia, a importy masowe stosują wiersze w kolejności z pliku. Po dużym imporcie poproś o próbkę swoich przekierowań i policz skoki poleceniem curl -sIL, zamiast zakładać, że zabezpieczenie wszystko wychwyciło.

Czym są łańcuchy przekierowań?

Łańcuchy przekierowań powstają wtedy, gdy adresy URL przekierowują przez kilka kroków, zanim dotrą do celu (np. A→B→C). Takie łańcuchy potrafią spowolnić ładowanie stron i pogorszyć wyniki SEO. System Shopify z założenia pomaga im zapobiegać.

Czy tworzenie i aktualizowanie przekierowań URL w Shopify jest łatwe?

Tak, Shopify daje dwie proste metody: tworzenie pojedynczych przekierowań URL w interfejsie oraz import masowy z pliku CSV. Obie obsługują ścieżki względne i bezwzględne.

Jak tworzyć masowe przekierowania URL w Shopify?

Przez narzędzie do importu CSV w Shopify. Nie ma pułapu 1000 wierszy: jeden plik z 1051 wierszami zaimportował się bez ani jednej awarii w 48 sekund, czyli mniej więcej 1300 wierszy na minutę. Partie po około 1000 wierszy nadal warto stosować, bo mniejsze pliki psują się czytelniej i po każdym możesz odczytać createdCount, updatedCount i failedCount. Niezerowy failedCount to jedyny sygnał, że wiersze zostały pominięte. Szablon importu udostępnia Shopify.

Czy Shopify ma maksymalny limit rekordów przekierowań URL?

Tak. Standardowe plany Shopify są ograniczone do 100 000 przekierowań URL, a sklepy Shopify Plus obsłużą do 20 000 000 przekierowań. Te limity są sztywne i nie da się ich podnieść.

Czy Shopify ma limity liczby znaków w przekierowaniach?

Tak, Shopify egzekwuje limit 1024 znaków dla ciągów przekierowań URL, wliczając w to początkowy ukośnik ('/'). Adresy dłuższe niż ten limit nie zostaną przyjęte przez system.

Czy istnieje narzędzie do walidacji adresów URL pod kątem zgodności z Shopify?

Shopify nie udostępnia oficjalnego narzędzia do walidacji, ale nasze szeroko zakrojone testy pokazały, że 99% standardowych formatów URL jest obsługiwane. Główne rzeczy do rozważenia to limit 1024 znaków i unikanie niezakodowanych średników po znaku równości.