PrestaShop Jak przekierować produkty bez utraty SEO i uniknąć błędów 404.
- Co to jest przekierowanie?
- Dlaczego przekierowania są ważne?
- Jak dezaktywować produkty w PrestaShop.
- Dezaktywuj produkty bez przekierowania (błąd 404).
- Dezaktywuj produkty za pomocą przekierowania (301 lub 302).
- Jak przekierować produkty bez utraty SEO i uniknąć błędów 404.
[Suma: 3 Średnia: 5/5]
PrestaShop to doskonałe narzędzie do tworzenia funkcjonalnych sklepów internetowych, które służą celowi sklepu. To znaczy, sprzedaj. Pomyśl o funkcjonalności swojego sklepu i być może PrestaShop lub już został zaimplementowany lub istnieją już moduły, które możesz zaimplementować za darmo lub za najbardziej skromną cenę. Z drugiej strony prawdą jest również to, że czasami programiści PrestaShop trochę się prześlizgnęli, zwłaszcza jeśli chodzi o SEO. Tak jest na przykład w przypadku produktów dezaktywowanych i generowanych przez nie przekierowań. Ale idziemy w częściach.
Co to jest przekierowanie?
Wyobraź sobie, że twój partner zawsze zostawia buty na środku pokoju. Pewnego dnia podnosisz je i schowujesz w stojaku na buty. Rezultat: kiedy twój partner wróci i poszukaj butów, nie znajdziesz ich, ponieważ nie ostrzegłeś go. Przesłane w Internecie wyszukiwanie partnera (który, podobnie jak Google, wie wszystko) dałoby „404 stronę błędu nie znaleziono”, ponieważ nie przekierowano poprawnie wyszukiwania . Przekierowujemy, gdy chcemy wskazać wyszukiwarkom, że zmieniliśmy, przenieśliśmy lub usunęliśmy adres URL. Istnieją różne typy przekierowań w zależności od zmiany, którą chcemy komunikować:
- Przekierowanie 301 (stałe). Wyślij cały ruch przeznaczony na adres URL A do adresu URL B, a także do autorytetu SEO.
- Przekierowanie 302 (tymczasowe) . Na przykład, gdy chcemy wskazać, że nasza strona nie będzie dostępna przez jakiś czas.
Dlaczego przekierowania są ważne?
Przekierowania mają fundamentalne znaczenie dla pozycjonowania. Jeśli nie wskażemy prawidłowo przekierowań, ryzykujemy utratę pozycji i autorytetu naszego sklepu internetowego.
Jak dezaktywować produkty w PrestaShop.
Powiedzmy, że sezon się skończył, a ubranie zostanie przerwane, że twój dostawca zegarki pilota nie produkuje już tego modelu, ani w klasycznym sklepie z golarkami nie ma więcej zapasów pędzli do golenia. W takich przypadkach możesz rozważyć dezaktywację produktów, aby usunąć je z katalogu i usunąć je ze sprzedaży. Aby to zrobić, wystarczy przejść do karty produktu w zakładce „informacje” i dezaktywować produkt (Aktywowany: nie).
Dezaktywuj produkty bez przekierowania (błąd 404).
Problem z PrestaShop polega na tym, że kiedy dezaktywujemy produkt, domyślnie nie przypisuje on żadnego przekierowania, generując błąd 404 „nie znaleziono strony” . Ważne jest, aby wiedzieć, że błędy 404 szkodzą pozycjonowaniu naszej strony. Bądź więc bardzo ostrożny przy wyłączaniu produktów.
Kiedy dezaktywujemy produkt, PrestaShop domyślnie nie przypisuje żadnego przekierowania, co powoduje erorr 404 „Nie znaleziono strony”.
Zamiast przechodzić do produktu, istnieje również możliwość masowej dezaktywacji produktów za pomocą opcji „grupowanych akcji” z katalogu administratora>, które umożliwiają masowe włączenie lub wyłączenie wcześniej wybranych produktów. Ale oko! Będziemy generować powódź 404 błędów.
Dezaktywuj produkty za pomocą przekierowania (301 lub 302).
Opinie na temat tego, który z nich jest najlepszym sposobem zarządzania dezaktywowanymi produktami, są liczne i zróżnicowane, co pozwala mówić długo i ciężko. W każdym przypadku o charakterze ogólnym, gdy produkt jest dezaktywowany, zazwyczaj zaleca się przekierowanie do podobnego produktu . W tym celu wybieramy opcję „Permanent Redirect (301)”, aw polu „Related Product” podajemy podobny produkt.
PrestaShop Jak przekierować produkty bez utraty SEO i uniknąć błędów 404.
Co jeśli nie ma podobnego produktu? W tym przypadku logika mówi o przekierowaniu do najbliższej wyższej kategorii. I wtedy nie znajdziemy innego ograniczenia PrestaShop, ponieważ nie pozwala ono przekierować dezaktywowanego produktu do kategorii przynależności . Aby rozwiązać tę małą niespójność, konieczne jest odwołanie się do kontrolera.
Jak przekierować produkty bez utraty SEO i uniknąć błędów 404.
Najpierw musimy przekierować dezaktywowane produkty do kategorii członkostwa . Ta zmiana wpływa na kontroler produktu i jest bardzo dobrze wyjaśniona w Forum PrestaShop , To, co robi, to przekierowanie nieaktywnych produktów do najbliższej wyższej kategorii.
override kontrolerów przed ProductController.php
Zmiana zaproponowana na forum, przekierowująca produkty do kategorii przynależności:
switch ($ this-> product-> redirect_type) {case '301': nagłówek ('HTTP / 1.1 301 Moved Permanently'); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected)); nagłówek („Lokalizacja:”. $ this-> kontekst-> link-> getCategoryLink ($ this-> produkt-> id_category_default)); wyjść; złamać; case „302”: nagłówek („HTTP / 1.1 302 Moved Temporarily”); nagłówek („Cache-Control: no-cache”); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected)); nagłówek („Lokalizacja:”. $ this-> kontekst-> link-> getCategoryLink ($ this-> produkt-> id_category_default)); wyjść; złamać; case „404”: domyślnie: nagłówek („HTTP / 1.1 404 Not Found”); nagłówek („Status: 404 Not Found”); $ this-> errors [] = Tools :: displayError ('Ten produkt nie jest już dostępny.'); złamać; }
W idealnej sytuacji, która nie jest omawiana na forum, zmiana polega na nadpisaniu , tj. Nadpisaniu sterownika, aby nie wpływać na zmiany w przyszłych aktualizacjach. Aby to zrobić, po prostu skopiuj plik do następującego folderu i wprowadź tam zmiany:
override kontrolerów przed ProductController.php
Zmień przekierowanie produktów do kategorii przynależności i przekierowania domyślnie typu 301:
if (! $ this-> product-> id_product_redirected || $ this-> product-> id_product_redirected == $ this-> product-> id) {/ ******* Gdy dezaktywujemy produkt, domyślnym przekierowaniem jest 301 ********* / // $ this-> product-> redirect_type = '404'; $ this-> product-> redirect_type = '301'; } switch ($ this-> product-> redirect_type) {case '301': nagłówek ('HTTP / 1.1 301 Moved Permanently'); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected)); nagłówek („Lokalizacja:”. $ this-> kontekst-> link-> getCategoryLink ($ this-> produkt-> id_category_default)); wyjść; złamać; case „302”: nagłówek („HTTP / 1.1 302 Moved Temporarily”); nagłówek („Cache-Control: no-cache”); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected)); nagłówek („Lokalizacja:”. $ this-> kontekst-> link-> getCategoryLink ($ this-> produkt-> id_category_default)); wyjść; złamać; case „404”: domyślnie: nagłówek („HTTP / 1.1 404 Not Found”); nagłówek („Status: 404 Not Found”); $ this-> errors [] = Tools :: displayError ('Ten produkt nie jest już dostępny.'); złamać; }
Po dokonaniu zmiany zaleca się wyczyszczenie pamięci podręcznej PrestaShop, aby zmiana zaczęła obowiązywać. Wreszcie ważne jest sprawdzenie, czy utworzone przez nas przekierowania działają poprawnie. W tym celu możemy skorzystać z bezpłatnego narzędzia Przekieruj sprawdzanie , Podajemy adres URL, który zmieniliśmy, usunęliśmy lub przenieśliśmy i sprawdziliśmy, czy utworzone przekierowania działają.
Sprawdzanie przekierowania wskazuje, że jest typu 301.
Co to jest przekierowanie?Dlaczego przekierowania są ważne?
Co to jest przekierowanie?
Dlaczego przekierowania są ważne?