Jak unikąć duplikacji treści na wersjach językowych sklepu PrestaShop?
Dzisiaj postanowiłem zająć się rozwiązaniem problemu sklepu internetowego, który został założony na platformie PrestaShop. Wykonując audyt SEO napotkałem liczne błędy w optymalizacji sklepu, jednak bardzo mocno zadziwił mnie spadek widoczności słów kluczowych TOP10 według narzędzia Senuto. Gwałtowne obniżenie widoczności sklepu w organicznych wynikach wyszukiwarki Google powinny zapalić w Twojej głowie czerwoną lampkę, że coś jest nie tak… I trzeba jak najszybciej znaleźć powód, dlaczego Google przestał lubić Twoją stronę…
Zobacz wideo poradnik
Przewodnik po duplikacji treści na wersjach językowych PrestaShop.
Materiał powstał na bazie sklepu Antyki24.pl.
Wykres widoczności sklepu TOP10
Wystarczy zobaczyć wykres fraz kluczowych TOP10 na przestrzeni ostatnich 12 miesięcy, aby poznać trend widoczności sklepu w Google.
Komentarz do wykresu:
- Od maja do sierpnia sklep odnotował zwiększoną widoczność fraz TOP10.
- 26 czerwca 2017 roku sklep odnotował rekordową ilość 177 słów kluczowych na pierwszej stronie w Google.
- Od września do listopada sklep odnotował gwałtowny spadek widoczności nie przekraczający 50 fraz TOP10.
Analiza spadków widoczności sklepu
Gdzie upatrywałem przyczyn problemu:
- Linki przychodzące do sklepu ze stron niskiej jakości, spam.
- Duplikacja treści.
- Błędy optymalizacji.
Analizując sklep przy pomocy narzędzia Screaming Frog zauważyłem, że w obrębie sklepu zostały uruchomione różne wersje językowe.
Oprócz polskiej wersji /pl/ zostały uruchomione zagraniczne wersje językowe:
- /en/ – wersja angielska
- /de/ – wersja niemiecka
- /fr/ – wersja francuska
- /es/ – wersja hiszpańska
- /it/ – wersja włoska
Analiza fraz kluczowych TOP50
Słowa kluczowe TOP50 – to słowa kluczowe, które znajdują się na pozycji 1 – 50 w wyszukiwarce Google. Analiza wykazała, że sklep w dużej ilości na polskie frazy kluczowe rankuje adresami URL wersji zagranicznych.
Fragment excela
Komentarz do tabelki:
- Nie jest dobrze, że polskie słowa kluczowe rankują na zagraniczne adresy URL (roboty gubią się w strukturze sklepu).
- Exel wykazał, że sklep w ilości 65 polskich fraz kluczowych rankuje TOP50 na zagraniczne adresy URL.
- Niektóre zagraniczne adresy URL nie zostały przetłumaczone na język wskazujący na daną wersję.
Tego typu stan witryny bardzo negatywnie wpływa na pozycjonowanie stron w Google.
Duplikacja treści na wersjach językowych
Jeżeli zagraniczne adresy URL zawierają w znacznej ilości polskie słowa kluczowe, to prawdopodobnie istnieje duplikacja treści na wersjach językowych.
Kontynuując analizę wziąłem przykładowy adres URL kategorii sklepu dla wersji polskiej i poszukałem odpowiadających adresów dla każdej z wersji zagranicznych:
- https://antyki24.pl/pl/176-lezaki
- https://antyki24.pl/it/176-lettino
- https://antyki24.pl/en/176-sunbeds
- https://antyki24.pl/de/176-sonnenliegen
- https://antyki24.pl/fr/176-chaises-longues
- https://antyki24.pl/es/176-lezaki
Okazało się, że wszystkie zagraniczne adresy URL zawierają polskie nazwy produktów, co przy braku unikalnej i nie przetłumaczonej treści na każdej z wyżej wymienionych podstron wywołuje duplikację treści na wersjach obcojęzycznych.
Jedynym elementem unikalnym z w/w podstron jest nagłówek H1.
Aktualny stan opisuje poniższa grafika.
Google zindeksował duplikaty…
Co więcej… Google zindeksował duplikaty z polskimi elementami optymalizacji (fragmenty polskiego tytułu i meta description na wersjach zagranicznych).
Podobny problem występuje na większości produktów w sklepie. Powoduje to, że produkt posiada po 5 duplikatów (polska wersja jest oryginalna + 5 zagranicznych zduplikowanych i nieprzetłumaczonych podstron).
Eliminacja duplikatów wersji zagranicznych – Disallow czy noindex?
Zakładając, że wszystkie wersje zagraniczne nie zostaną szybko przetłumaczone (np. w przeciągu roku), wówczas można zablokować lub wyindeksować wersje zagraniczne.
Najszybszym rozwiązaniem problemu jest umieszczenie w pliku robots.txt następującego kodu:
Disallow: /it/
Disallow: /en/
Disallow: /de/
Disallow: /fr/
Disallow: /es/
Powyższy kod uruchamiając instrukcje disallow zablokuje robotom indeksującym dostęp do wszystkich podstron zagranicznych wersji językowych. Zablokuje, ale nie wyindeksuje zagranicznych podstron z wyników wyszukiwania.
Zauważ, że regułki disallow nie dodałem dla polskiej wersji jezykowej /pl/, ponieważ robot sieciowy będzie miał dostęp tylko dla polskiej wersji podstron.
Minusem tego rozwiązania jest zablokowanie przepływu mocy pozycjonującej, link juice pomiędzy podstronami.
Zakładając, że zagraniczna wersja językowa jest podlinkowana, instrukcja disallow zablokuje przepływ mocy z tych linków do innych podstron wewnątrz sklepu.
Lepszym rozwiązaniem dla PrestaShop jest namierzenie pliku header.tpl następującego kodu:
<meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
i warto go zakomentować (gotowy kod poniżej).
<!--<meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />-->
Następnie w sekcji head umieszczamy następujący kod:
{if $smarty.server.REQUEST_URI|truncate:3:"" eq '/pl'} <meta name="robots" content="index,follow" /> {else} <meta name="robots" content="noindex,follow" /> {/if}
Powyższy kod dla wszystkich polskich adresów URL wywoła instrukcje:
- index – strona zostanie zindeksowana przez robota sieciowego w wynikach wyszukiwania.
- follow – zezwala dla robotów sieciowych podążać za linkami na stronie www, nie zważając na to czy może ją indeksować lub nie może jej indeksować.
Z kolei dla wszystkich wersji zagranicznych w/w kod wywoła instrukcje:
- noindex – nie pozwala wyświetlić strony w wynikach wyszukiwania, ale nie blokuje dostępu dla robotów sieciowych.
- follow – zezwala dla robotów sieciowych podążać za linkami na stronie www, nie zważając na to czy może ją indeksować lub nie może jej indeksować.
Upraszczając:
Docelowo wyindeksujemy wszystkie zagraniczne wersje językowe z wyników wyszukiwania i umożliwimy przepływ link juice. Tylko podstrony polskiej wersji językowej /pl/ zostaną zindeksowane w wynikach wyszukiwania Google.
Powyższe zmiany zostaną aktywowane z chwilą, gdy robot Google odwiedzi podstronę i zczyta kod znacznika meta robots.
Po przetłumaczeniu wszystkich wersji zagranicznych sklepu powyższy kod dodany w pliku header.tpl należy usunąć, aby wersje zagraniczne mogły się indeksować.
Wówczas warto przywrócić pierwotny kod.
<meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
Zobaczymy czy wykonane zmiany pomogą przywrócić upragnione wzrosty fraz kluczowych TOP, ruch i klientów z organicznych wyników wyszukiwarki Google 🙂
Mam też do Ciebie ogromną prośbę. Jeżeli uznasz, że poradnik o eliminacji DC na PrestaShop okazał się wartościowy i pomocny, to udostępnij go swoim znajomym lub podlinkuj. Gdziekolwiek… Niech inni ludzie też na tym skorzystają.
Dziękujemy za wzmiankę o Senuto. ❤️
Dzięki… I czekam na nowe aktualizacje w 2018 🙂