Klient
tandembaits.com to sklep internetowy działający w branży wędkarskiej. Oferta sklepu jest oparta na specjalistycznym asortymencie, w którym poprawne nazwy kategorii, precyzyjne opisy oraz dobrze przygotowane adresy URL mają bezpośrednie znaczenie dla użyteczności sklepu, SEO i komunikacji z klientami w różnych krajach.
Wyzwanie
W ramach rozbudowy sklepu o nowe wersje językowe klient potrzebował skutecznego sposobu zarządzania kategoriami w Magento 2.
Największym problemem była specyfika branży wędkarskiej. Nazwy kategorii nie są prostymi, uniwersalnymi etykietami. Często odnoszą się do konkretnych technik łowienia, typów przynęt, akcesoriów, serii produktowych albo pojęć używanych tylko przez zaawansowanych wędkarzy.
Przy 10 wersjach językowych ręczne zarządzanie kategoriami w panelu Magento było zbyt czasochłonne i podatne na błędy. Klient potrzebował mieć pełną kontrolę nad:
- nazwami kategorii,
- adresami URL kategorii,
- opisami kategorii,
- meta danymi SEO,
- wartościami specyficznymi dla każdego store view,
- spójnością struktury kategorii między wersjami językowymi.
Skala pracy obejmowała kilkadziesiąt kategorii w 10 wersjach językowych. Oznaczało to setki wartości tekstowych do przygotowania, sprawdzenia, poprawienia i zaimportowania.
Problem biznesowy
Standardowa praca w panelu Magento wymagałaby edycji każdej kategorii osobno dla każdego store view. Przy kilkudziesięciu kategoriach i 10 językach taki proces byłby powolny i trudny do kontrolowania.
Najważniejsze ryzyka przy ręcznej pracy:
- pomyłki w wyborze store view,
- niespójne tłumaczenia nazw kategorii,
- przypadkowe nadpisanie wartości domyślnych,
- błędne albo zduplikowane adresy URL,
- brak wygodnego przeglądu wszystkich kategorii w jednym miejscu,
- trudność w przekazaniu danych tłumaczom lub osobom odpowiedzialnym za SEO,
- brak prostego sposobu walidacji zmian przed zapisem.
Klient potrzebował procesu, który pozwoli przygotować dane zbiorczo, sprawdzić je przed importem i bezpiecznie zapisać tylko wybrane atrybuty dla konkretnego store view.
Rozwiązanie
Dla tego scenariusza zastosowano moduł Export Import Categories dla Magento 2.
Moduł umożliwił eksport kategorii do pliku CSV, przygotowanie danych językowych poza panelem Magento oraz ponowny import wartości do wybranego store view.
Proces został oparty na trybie update, ponieważ struktura kategorii już istniała w sklepie. Celem nie było tworzenie nowego drzewa kategorii, ale uzupełnienie i poprawienie danych dla kolejnych wersji językowych.
Zakres użycia modułu
W projekcie kluczowe były następujące funkcje modułu:
- eksport kategorii z bazowego store view,
- zachowanie
entity_id jako stabilnego identyfikatora kategorii,
- zmiana
store_view_code na kod docelowej wersji językowej,
- import w trybie
update,
- wybór konkretnych atrybutów do importu,
- zarządzanie nazwami kategorii,
- zarządzanie
url_key,
- zarządzanie opisami kategorii,
- kontrola pustych wartości,
- walidacja pliku przed właściwym importem,
- raport importu.
Proces wdrożony w projekcie
1. Eksport kategorii
Najpierw wykonano eksport kategorii z bazowego store view. Plik CSV zawierał kolumny systemowe oraz wybrane atrybuty wymagane do przygotowania wersji językowych.
Najważniejsze kolumny systemowe:
store_view_code,
entity_id,
category_path,
parent_path.
Najważniejsze atrybuty robocze:
name,
url_key,
description,
meta_title,
meta_description.
2. Przygotowanie danych językowych
Na podstawie wyeksportowanego CSV przygotowano osobne dane dla poszczególnych wersji językowych.
Dzięki temu osoby odpowiedzialne za treści mogły pracować w arkuszu, widząc wiele kategorii jednocześnie. Było to szczególnie ważne w branży wędkarskiej, gdzie nazwy kategorii muszą być zgodne z lokalną terminologią i realnym sposobem wyszukiwania produktów przez klientów.
3. Zachowanie identyfikatorów kategorii
W plikach importowych zachowano entity_id, aby moduł mógł jednoznacznie dopasować wiersze CSV do istniejących kategorii Magento.
To pozwoliło importować tłumaczenia bez ryzyka utworzenia duplikatów kategorii.
4. Zmiana store view
Dla każdej wersji językowej ustawiano odpowiedni store_view_code w CSV oraz wybierano ten sam store view w formularzu importu.
Moduł walidował zgodność tych danych. Dzięki temu ograniczono ryzyko przypadkowego importu tłumaczeń do niewłaściwego widoku sklepu.
5. Import w trybie update
Import wykonywano w trybie update, wybierając tylko te atrybuty, które miały zostać zmienione dla danej wersji językowej.
Dzięki temu moduł nie ingerował w pozostałe dane kategorii.
6. Walidacja i dry-run
Przed właściwym importem można było uruchomić walidację bez zapisu danych.
Tryb dry-run pozwalał sprawdzić:
- czy plik CSV ma poprawne kolumny,
- czy
store_view_code pasuje do wybranego store view,
- czy
entity_id wskazuje istniejące kategorie,
- czy wybrane atrybuty istnieją w Magento,
- czy import nie zawiera błędów blokujących zapis.
7. Raport po imporcie
Po imporcie moduł generował raport, który pozwalał sprawdzić status poszczególnych wierszy.
Raport był szczególnie przydatny przy pracy na wielu językach, ponieważ pozwalał szybko wykryć ewentualne błędy w konkretnym pliku albo konkretnej kategorii.
CSV był praktycznym formatem dla tego projektu, ponieważ:
- można go łatwo edytować w arkuszu kalkulacyjnym,
- można przekazać go tłumaczom,
- można porównać wartości między językami,
- można przygotować wiele wersji językowych na bazie jednego eksportu,
- można pracować na konkretnych kolumnach bez ręcznego klikania w panelu Magento,
- można zachować kontrolę nad
entity_id i store_view_code.
Efekt
Moduł umożliwił klientowi zarządzanie kategoriami w 10 wersjach językowych w sposób uporządkowany i powtarzalny.
Zamiast ręcznej edycji każdej kategorii w panelu Magento, zespół mógł pracować na plikach CSV, przygotowywać tłumaczenia zbiorczo i importować tylko wybrane atrybuty dla konkretnego store view.
Najważniejsze korzyści:
- szybsze przygotowanie nowych wersji językowych,
- większa kontrola nad nazwami kategorii,
- pełna kontrola nad adresami URL,
- łatwiejsze zarządzanie opisami kategorii,
- możliwość pracy poza panelem Magento,
- mniejsze ryzyko błędów przy wielu store view,
- walidacja danych przed zapisem,
- raportowanie wyników importu.
Znaczenie dla SEO
W projekcie szczególne znaczenie miała możliwość kontrolowania url_key, nazw kategorii oraz opisów.
Dla sklepu działającego w wielu językach automatyczne tłumaczenie lub przypadkowe kopiowanie nazw kategorii nie jest wystarczające. Każdy rynek może używać innych określeń branżowych, a w wędkarstwie różnice terminologiczne są szczególnie istotne.
Moduł pozwolił przygotować wartości SEO świadomie dla każdej wersji językowej:
- lokalne nazwy kategorii,
- lokalne adresy URL,
- opisy dopasowane do języka,
- meta tytuły,
- meta opisy.
Podsumowanie
Rozbudowa tandembaits.com o 10 wersji językowych wymagała narzędzia, które pozwoli sprawnie zarządzać kategoriami Magento 2 na poziomie store view.
Export Import Categories rozwiązał ten problem, przenosząc pracę z ręcznej edycji w panelu Magento do kontrolowanego procesu opartego o CSV, walidację i import wybranych atrybutów.
W efekcie klient otrzymał możliwość wygodnego zarządzania specjalistycznymi nazwami kategorii, adresami URL i opisami dla wielu języków bez ryzyka przypadkowego nadpisania całej struktury kategorii.