Wszystko, co warto wiedzieć, zanim zainstalujesz.
Szczegółowe spojrzenie na to, jak działa Kontrola Martwych Linków PrestaShop 8 i 9: Uszkodzone Linki i Brakujące Obrazy, dlaczego zbudowaliśmy go w ten sposób i jaka myśl stoi za powyższymi funkcjami.
Martwy link kosztuje dwa razy
Kosztuje pierwszy raz w SEO: Google podąża za linkami z Twoich opisów, a opis produktu prowadzący do trzech błędów 404 wysyła sygnał zaniedbanej treści. Kosztuje drugi raz w konwersji, gdy klient klika tabelę rozmiarów z karty produktu i trafia na stronę błędu dokładnie w chwili wahania. Problem w tym, że te linki nie psują się w dniu, w którym je piszesz. Psują się pół roku później, gdy partner przebudowuje swoją witrynę albo strona CMS zmienia nazwę, i nikt tego nie zauważa.
Dwa różne problemy, dwie metody wykrywania
Martwy link wykrywa się żądaniem HTTP: moduł wywołuje adres i odczytuje kod odpowiedzi. Brakującego pliku graficznego tak się nie wykryje. Gdy obraz produktu jest wskazany w tabeli image, ale plik zniknął z katalogu img/p, żądanie HTTP może spokojnie zwrócić stronę zastępczą z kodem 200. Dlatego moduł czyta bezpośrednio system plików dla każdego obrazu produktu, kategorii, marki, dostawcy i sklepu stacjonarnego, a także dla plików załączonych. To jedyny sposób, aby znaleźć obrazy wyświetlające się jako pusty prostokąt, o których logi milczą.
Co moduł czyta w Twoim katalogu
Opisy i opisy skrócone produktów, komunikaty o dostępności, opisy kategorii i kategorii CMS, treść stron CMS, opisy marek, dostawców i sklepów stacjonarnych oraz bloki linków w stopce obsługiwane przez ps_linklist. W każdym z tych pól wyodrębnia linki a href, obrazy img src wraz z ich wariantami lazy loading i atrybutami srcset, a także znaczniki source, video, audio, iframe, embed, object, link i script oraz obrazy tła zadeklarowane w stylu inline. Adresy mailto, tel, same kotwice i data URI są odrzucane z góry, podobnie jak pozostałości Smarty czy shortcodeów, które czasem zostają w skopiowanym opisie.
Jak skanowanie radzi sobie z dużym katalogiem
Skanowanie przebiega w dwóch fazach. Zbieranie przechodzi przez treści i wyodrębnia adresy URL. Weryfikacja je odpytuje. Każda faza postępuje partiami po kilka sekund, sterowanymi przez AJAX z poziomu przeglądarki, z kursorem zapisywanym w bazie po każdej partii. Nic nie zależy od max_execution_time, a zamknięcie karty w trakcie nie kasuje wykonanej pracy. Resztę załatwiają dwie optymalizacje: adresy są deduplikowane odciskiem na czas skanowania, więc adres występujący 400 razy jest testowany raz, a lokalne adresy prowadzące do pliku statycznego obecnego na dysku są walidowane odczytem systemu plików, bez żadnego żądania sieciowego.
Od wyniku do poprawki
Tabela wyników posortowana według wagi problemu wymienia każdy adres z jego statusem, kodem HTTP, komunikatem błędu, ewentualnym celem przekierowania i liczbą użyć. Rozwinięcie wiersza pokazuje listę miejsc wystąpienia: typ źródła, nazwę elementu, pole, język i tekst kotwicy. Każde miejsce ma swój przycisk edycji, który otwiera kartę produktu, kategorię lub stronę CMS we właściwym miejscu. Możesz też zweryfikować ponownie pojedynczy adres po poprawce, bez wznawiania pełnego skanowania.
Co oznaczają statusy
Status poprawny obejmuje odpowiedzi 2xx i pliki lokalne obecne na dysku. Ostrzeżenie obejmuje przekierowania, kody 401 i 403 oraz 429 z ograniczania przepustowości: zasób istnieje, ale coś zasługuje na spojrzenie. Status martwy obejmuje 404, 410, pozostałe 4xx, 5xx, przekroczone limity czasu, błędy DNS i odrzucone połączenia. Statusy ignorowany i niesprawdzony odpowiadają Twoim wykluczeniom i kategoriom adresów wyłączonym w ustawieniach.
Wyklucz to, co nie powinno się pojawiać
Wiele domen odpowiada robotom kodem 403, choć link wcale nie jest uszkodzony, zwłaszcza za zaporą aplikacyjną. Moduł klasyfikuje je już jako ostrzeżenie, a nie martwy link, ale możesz pójść dalej z listą wykluczeń: jeden wzorzec na linię, w zwykłym tekście dla dopasowania po podłańcuchu, z symbolami wieloznacznymi albo jako wyrażenie regularne z prefiksem. Adres można też dodać do listy ignorowanych jednym kliknięciem z tabeli, co usunie go z wyników kolejnych skanowań.
Instalacja i deinstalacja
Żadnych zewnętrznych zależności, żadnego Composera, żadnej modyfikacji motywu. Wgraj plik ZIP przez menedżera modułów i zainstaluj: powstają cztery tabele, a pod Katalogiem pojawia się zakładka. Moduł nie dodaje żadnego hooka na froncie i nie dotyka wyglądu sklepu, pracuje wyłącznie z poziomu zaplecza. Przy deinstalacji cztery tabele, zakładka i konfiguracja są usuwane.
Na razie nie ma opinii o produkcie.