Konfiguracja przekierowań 301 w PrestaShop po migracji

Pytanie opublikowane Odpowiedź opublikowana 1357 wyświetleń

Podczas migracji sklepu PrestaShop URL-e często się zmieniają. Bez przekierowań każdy stary adres zwróci 404 odwiedzającym i wyszukiwarkom. Przekierowanie 301 oznacza, że strona została przeniesiona na stałe, i jest właściwym wyborem dla stałej migracji. 302 jest tymczasowe i nie powinno być używane do map migracyjnych starych URL-i na nowe.

MPR SEO Migration Wizard dla przekierowań 301
Migration Wizard - importuj stare adresy URL, mapuj je i twórz przekierowania 301.

Przygotuj mapę stary-na-nowy

Przed startem wyeksportuj stare URL-e i nowe URL-e do pliku z dwiema kolumnami. Normalizuj ścieżki: jeden host, jeden protokół, jeden styl końcowego slash i brak łańcuchów przekierowań. Na przykład:

old_path,new_url
/old-product.html,https://www.example.com/new-product
/old-category/,https://www.example.com/new-category/
/3-shoes,https://www.example.com/shoes

Apache (.htaccess)

Umieść reguły przed własnymi regułami dispatchera PrestaShop, nad blokiem # Dispatcher i po RewriteEngine On. Jeśli PrestaShop obsłuży żądanie jako pierwszy, Twoje przekierowanie może się nigdy nie wykonać.

RewriteEngine On

# Exact old-to-new page mapping
Redirect 301 /old-product.html https://www.example.com/new-product
Redirect 301 /old-category/ https://www.example.com/new-category/

# Pattern redirect
RewriteRule ^old-brand/(.*)$ /brand/$1 [R=301,L]

# Strip ID-prefixed category URLs, e.g. /3-shoes -> /shoes
RewriteRule ^([0-9]+)-(.+)$ /$2 [R=301,L]

Nginx

Dla kilku przekierowań użyj dokładnych locations. Dla dużej mapy migracyjnej użyj map w kontekście http i jednej reguły return w bloku server.

# http {} context
map $request_uri $redirect_target {
    default 0;
    /old-product.html /new-product;
    /old-category/ /new-category/;
    /3-shoes /shoes;
}

# server {} context
if ($redirect_target) {
    return 301 https://www.example.com$redirect_target;
}

Dla tysięcy URL-i wygeneruj reguły z CSV albo użyj modułu przekierowań, który pozwala zespołowi zarządzać mapowaniami w panelu administracyjnym. Przetestuj przed uruchomieniem na żywo poleceniem curl -I https://www.example.com/old-product.html; oczekujesz 301 Moved Permanently i finalnego Location. Użyj curl -IL, aby wykryć łańcuchy.

Częste pułapki

  • Łańcuchy przekierowań: kieruj stare URL-e bezpośrednio na finalny cel.
  • Nieskończone pętle: sprawdź www/non-www, HTTP/HTTPS i konfliktujące reguły modułów.
  • Wielkość liter: ścieżki Linuksa są case-sensitive; używaj [NC] w regułach rewrite Apache tylko wtedy, gdy celowo chcesz dopasowania niewrażliwego na wielkość liter.
  • Usunięte query stringi: zachowuj je tylko wtedy, gdy niosą użyteczny stan; usuwaj parametry trackingowe.
  • Krótki czas utrzymania: ważne przekierowania migracyjne trzymaj co najmniej rok, często dłużej dla stron o wysokiej wartości.

Pełną migrację, w tym pliki, bazę danych, motyw i przekierowania, opisuje nasz poradnik migracji PrestaShop.

Czy ta odpowiedź była pomocna?

Masz jeszcze pytania?

Nie możesz znaleźć tego, czego szukasz? Wyślij nam pytanie, a odpowiemy.

Ładowanie...
Do góry