Powielona treść (duplicate content) w sklepie internetowym – skąd się bierze i jak sobie z nią radzić?

SEO - pozycjonowanie sklepu internetowego
Ekomercyjnie

eKomercyjnie.pl

Autorem poniższego poradnika jest Sebastian Suma z agencji interaktywnej NetArch, która zajmuje się m.in. optymalizacją i pozycjonowaniem sklepów internetowych, a także kampaniami Google AdWords (pod marką Sempai.pl).

Zapewne każdy z właścicieli sklepów internetowych, którzy dbają o optymalizację SEO swojej platformy, spotkał się z problemem tzw. “duplicate content”. O ile nie jest to przypadłość, która może spowodować duże kłopoty, to wyeliminowanie jej z pewnością przyniesie korzyści w postaci lepszej indeksacji sklepu w wyszukiwarkach.

Dlatego jednym z ważniejszych elementów dobrego SEO dla sklepu internetowego jest wykrycie i wyelimonowanie kopii już zaindeksowanych podstron serwisu. Platformy e-commerce są w dużym stopniu narażone na pojawianie się tego typu błędów ze względu na swoją budowę: duża liczba produktów (landing pages), podstrony z wynikami wyszukiwania, stronicowanie listy produktów oraz pokusa na powielanie opisów produktów (zarówno wewnątrz swojego sklepu, jak i z serwisów zewnętrznych).

Problem „duplicate content” tworzy się z dwóch powodów: kiedy ta sama treść występuje na kilku podstronach i brakuje wskazania dla wyszukiwarek, która z nich jest główna/preferowana, oraz poprzez wykorzystywanie zapożyczonych opisów produktów (dostarczone przez producenta, skopiowane z innych stron www). Warto mieć również świadomość, że “duplicate content” w oczach Google nie oznacza dokładnej kopii podstrony już zaindeksowanej, a jest to podstrona, która niczym istotnym nie odróżnia się od strony już zaindeksowanej.

Jakie konsekwencje niesie ze sobą występowanie „duplicate content” w serwisach internetowych?

W praktyce nie występuje fizyczna kara dla serwisu www nakładana przez algorytmy wyszukiwarek (w postaci filtrów czy banów). Po prostu słabo zoptymalizowane strony z kopiami treści indeksowane są nisko w wynikach wyszukiwania. Google za pomocą swoich algorytmów mierzy jakość serwisów www, promując w SERP te dobrze zoptymalizowane, spychając na dalsze pozycje te o niskiej jakości, niedopracowane zgodnie z wytycznymi dla webmasterów. Nie jest tajemnicą teza „content is king”, co oznacza, że unikalność i jakość treści w serwisach mają wysoki priorytet przy ustalaniu wyników na stronach wyszukiwania.

Przyczyny występowania „duplicate content” w sklepach internetowych?

1. Kopie opisów produktów.
Jedną z ważniejszych przyczyn błędu jest używanie opisów produktów dostarczanych przez producentów oraz kopiowanie opisów z innych sklepów internetowych. Niestety ten problem dotyczy dużej liczby sklepów. Brak unikalnych opisów na podstronach serwisu nie tylko może być powodem słabych wyników w wyszukiwarkach, może też mieć wpływ na słabą konwersję sprzedaży (w przypadku treści od producentów, które w większości nie są „skrojone” pod użytkowników Internetu).

Rozwiązanie tego problemu jest trywialne: zadbać o unikalne, ciekawe opisy wszystkich produków w sklepie. Natomiast jeśli nie jest to możliwe, warto próbować uzyskać unikalność podstrony poprzez umieszczenie na niej dużej ilości dodatkowych treści, poprzez:

  • dodanie własnych opini/testów produktów;
  • zapewnienie unikalnych opinii dodawanych przez Klientów sklepu;
  • udostępnienie mechanizmu komentarzy do produktu/zakupów;
  • umieszczenie listy produktów komplementarnych lub podobnych, np. z tej samej kategorii.

2. Duplicate content generowane przez skrypt sklepu internetowego.

a) Sortowanie produktów w sklepie. Mechanizm sortowania produktów powoduje tworzenie wielu podstron serwisu z tą samą treścią, gdzie jedyną różnicą jest kolejność prezentowania treści na stronie. Strony te oprócz identycznych treści posiadają również identyczne meta tagi: Title i Description.

b) Paginacja listy produktów. W większości przypadków problem ze stronicowaniem listy produktów sprowadza się do powtarzania tych samych meta tagów (Title, Description) na wszystkich podstronach listy produktów. Ponadto, brak odpowiedniego wyakcentowania głównej (pierwszej) strony danej kategorii produktów wprowadza niejednoznaczność co do adresów URL, które wyszukiwarki powinny indeksować wysoko dla zapytań z nią związanych. W efekcie „moc” linkowania wewnętrznego rozmywa się po wielu podobnych podstronach, zamiast optymalnie koncentrować na jednej, umożliwiając jej wysokie pozycjonowanie.

c) Duplikowanie treści pod wieloma adresami:

  • z www czy bez www? Brak wskazania głównego adresu sklepu;
  • wiele „stron głównych” sklepu, np. www.nazwasklepu.pl, www.nazwasklepu.pl/index.php, www.nazwasklepu.pl/pl/;
  • indeksacja tego samego widoku (np. karty produktu) z różnym adresem URL: www.sklep.pl/kategoriaA/produkt1.html vs. www.sklep.pl/kategoriaB/produkt1.html

d) Strony „do druku”. W wielu sklepach internetowych jest przygotowana specjalna wersja strony pod wydruk, która posiada swój unikalny adres URL. Taka strona jest pod względem treści dokładną kopią karty produktu, w okrojonej szacie graficznej. Problem pojawia się w momencie, kiedy wyszukiwarka wyżej zaindeksuje wersję „do druku”, pozostawiając nisko w wynikach wyszukiwania „prawdziwą” podstronę.

Jak radzić sobie z „duplicate content”?

Jednym ze sposobów jest wskazywanie algorytmom wyszukiwarek kanonicznej, czyli preferowanej wersji podstrony przy pomocy tagu [rel=canonical]. Ten TAG przekazuje siłę wszystkich linków dla jednego adresu URL, dzięki czemu zyskuje on lepszą wartość podczas indeksacji. Dodatkową korzyścią jest to, że to właściciel sklepu, a nie algorytm wyszukiwarki wskazuje, która podstrona ma być wskazywana użytkownikom/klientom w wyszukiwarkach.

Dla przykładu, zamiast posiadać kilka słabo zaindeksowanych wersji podstrony:
http://www.nazwasklepu.pl/kategoria_produktow#sort=name
http://www.nazwasklepu.pl/kategoria_produktow#sort=price
http://www.nazwasklepu.pl/kategoria_produktow#sort=date
http://www.nazwasklepu.pl/kategoria_produktow#sort=purchases

można mieć wysoko zaindeksowaną główną stronę dla kategorii:
http://www.nazwasklepu.pl/kategoria_produktow

poprzez umieszczenie na stronach sortowania odpowiedniego wpisu w sekcji HEAD w postaci:

Na problem „duplicate content” powodowany mechanizmem paginacji (stronicowania) listy produktów, lekiem jest stosowanie tagów [rel=next] oraz [rel=prev], które pozwalają wskazać robotom wyszukiwarek, które strony zawierają paginacje i jaka jest ich pozycja w strukturze stronicowania.

W przypadku występowania tej samej podstrony sklepu pod różnymi adresami URL, najlepszym sposobem jest skorzystanie z mechanizmu przekierowań 301. Ten zabieg również powoduje przekazanie całej siły linków na jeden docelowy adres URL. Natomiast w celu wyeliminowania indeksacji wybranych stron (np. Stron „do druku” czy wyników sortowania), warto skorzystać z umieszczenia na tych podstronach meta tagu [CONTENT=”NOINDEX, NOFOLLOW”] lub stworzenia odpowiedniego wpisu w pliku robots.txt, umieszczonego na tym samym serwerze, co skrypt sklepu internetowego.

Jak badać i eliminować zjawisko duplicate content z pomocą Narzędzi Google dla Webmasterów?

GWT -> Konfiguracja -> Parametry w URL-ach

narzedzia-webmasterow-google-sklep

Jedną z najczęstszych przyczyn generowania zjawiska „duplicate content” dla witryny w indeksach wyszukiwarek jest zbędne indeksowanie wielokrotnie tego samego widoku z różnymi parametrami w adresie URL. Częściowo da się to eliminować programistycznie, ale nie zawsze. Wówczas z pomocą przychodzi panel GWT, gdzie można wskazać wszelkie parametry (np. występujące przy sortowaniu produktów w sklepie), których wyszukiwarka ma nie uwzględniać w indeksacji. Parametry takie bywają automatycznie diagnozowane przez Googlebota, natomiast warto wymusić na nim pożądaną decyzję, w przypadkach ewidentnych, jak również można dodawać własne parametry, których Googlebot (jeszcze) nie wykrył, a dla których chcemy uniknąć indeksacji.

GWT -> Optymalizacja -> Udoskonalenia HTML -> Podwójne tagi tytułowe

Raport ten z założenia służy diagnozowaniu miejsc w witrynie, dla których występują zdublowane tagi tytułowe (a więc w szczególności meta tagn ie jest prawidłowo generowany dynamicznie). W przypadku, gdy silnik witryny prawidłowo, dynamicznie generuje meta tagi na podstawie struktury, raport pozwala diagnozować zjawisko „duplicate content” właśnie na podstawie powtarzających się meta tagów dla wielu stron.</p><p><img loading="lazy" class="aligncenter size-full wp-image-28763" alt="podwojne-tagi-sklep" src="http://www.ekomercyjnie.pl/wp-content/uploads/2013/08/podwojne-tagi-sklep.jpg" width="600" height="358" srcset="https://www.ekomercyjnie.pl/wp-content/uploads/2013/08/podwojne-tagi-sklep.jpg 600w, https://www.ekomercyjnie.pl/wp-content/uploads/2013/08/podwojne-tagi-sklep-300x179.jpg 300w" sizes="(max-width: 600px) 100vw, 600px" /></p><p>Rzut oka na dane z raportu pozwala określić „klasy” błędów, które wywołują dublowanie tytułów.</p><p>Najczęściej będą to (jak w przykładzie):</p><ul><li>występowanie w adresach URL różnych identyfikatorów, nie wpływających na zmianę treści;</li><li>indeksacja tego samego widoku (np. karty produktu) z różnym adresem URL w zależności od menu/kontrolera, który wywołuje widok;</li><li>indeksacja starego i nowego adresu po zmianie adresu URL (nazwy zasobu) w panelu strony;</li><li>występowanie tego samego zasobu w różnych kategoriach drzewa.</li></ul><p>Zdiagnozowanie „klas” problemów jest podstawą do sporządzenia wytycznych programistycznych. Większość problemów da się rozwiązać za pomocą: wyeliminowania identyfikatorów (z adresów lub poprzez GWT), mapowania i ustanawiania przekierowań, meta tag rel=”canonical”.</p><p> </p> </div> <div class="article-tags mb-3"> <p class="text-muted"> Tagi: <a href="/tag/content">content</a>, <a href="/tag/powielona-tresc">powielona treść</a>, <a href="/tag/tresc-na-stronie">treść na stronie</a>, <a href="/tag/pozycjonowanie">pozycjonowanie</a>, <a href="/tag/seo">seo</a>, <a href="/tag/duplikat-content">duplikat content</a> </p> </div> <div class="share-article mt-5 mb-5"> <ul class="list-inline"> <li class="list-inline-item me-3"> Udostępnij artykuł: </li> <li class="list-inline-item me-3"> <a class="btn btn-sm btn-success" href="https://www.facebook.com/sharer/sharer.php?u=https://ekomercyjnie.pl/powielona-tresc-duplicate-content-w-sklepie-internetowym-skad-sie-bierze-i-jak-sobie-z-nia-radzic" target="_blank"><i class="fab fa-facebook-f"></i></a> </li> <li class="list-inline-item me-3"> <a target="_blank" class="btn btn-sm btn-success" href="http://www.linkedin.com/shareArticle?mini=true&url=https://ekomercyjnie.pl/powielona-tresc-duplicate-content-w-sklepie-internetowym-skad-sie-bierze-i-jak-sobie-z-nia-radzic"><i class="fab fa-linkedin-in"></i></a> </li> <li class="list-inline-item me-3"> <a target="_blank" class="btn btn-sm btn-success" href="https://twitter.com/intent/tweet?text=Powielona%20treść (duplicate content) w sklepie internetowym – skąd się bierze i jak sobie z nią radzić?%20-%20https://ekomercyjnie.pl/powielona-tresc-duplicate-content-w-sklepie-internetowym-skad-sie-bierze-i-jak-sobie-z-nia-radzic"><i class="fab fa-twitter"></i></a> </li> </ul> </div> <div class="ads mb-5"> <div class="ad"> <p class="mb-0"> <small>Reklama</small> </p> <a href="https://toponline.pl" title="Pozycjonowanie sklepów internetowych"> <img src="https://cdn.toponlineapp.pl/6924-toponline-pozycjonowanie-sklepow.png" alt="Pozycjonowanie sklepów internetowych" class="img-fluid" /> </a> </div> </div> </div> </div> </div> </div> <div class="box"> <div class="container"> <div class="row"> <div class="col-12 pt-100"> <h2 class="fs-6 mb-4 font-bold text-uppercase">Przeczytaj również:</h2> <div class="row"> <div class="col-12 col-lg-6"> <div class="similar-articles article-list"> <div class="article-box mb-5"> <div class="row"> <div class="col-12 article-box-header text-uppercase mb-4"> <div class="row"> <div class="col-6 box-header"> <span class="bg-black pe-3"> <i class="far fa-book-open primary-color me-1"></i> <small>Artykuł</small> </span> </div> <div class="col-6 text-right box-header"> <span class="bg-black ps-3"> <i class="far fa-calendar-week me-1"></i> <small>04.05.2022</small> </span> </div> <div class="col-12 hr"> <hr /> </div> </div> </div> <div class="col-12 article-box-title font-bold mb-5"> <h2 class="mb-2"> <a href="/50-bledow-w-seo-sprawdz-czy-ich-nie-popelniasz" title="50 błędów w SEO — sprawdź, czy ich nie popełniasz! - ekomercyjnie.pl"> 50 błędów w SEO — sprawdź, czy ich nie popełniasz! </a> </h2> <div class="article-box-categories"> </div> </div> <div class="col-4 col-lg-2 mb-4"> <img src="https://cdn.toponlineapp.pl/6053-adam-ekspert-ekomercyjnie.png" alt="Adam Przybyłowicz" class="img-fluid" /> </div> <div class="col-8 col-lg-10"> <h3 class="primary-color mb-3"><strong>Adam Przybyłowicz</strong></h3> <h4 class="third-color"> SEO Copywriter<br />toponline.pl </h4> </div> </div> </div> </div> </div> <div class="col-12 col-lg-6"> <div class="similar-articles article-list"> <div class="article-box mb-5"> <div class="row"> <div class="col-12 article-box-header text-uppercase mb-4"> <div class="row"> <div class="col-6 box-header"> <span class="bg-black pe-3"> <i class="far fa-book-open primary-color me-1"></i> <small>Artykuł</small> </span> </div> <div class="col-6 text-right box-header"> <span class="bg-black ps-3"> <i class="far fa-calendar-week me-1"></i> <small>15.02.2022</small> </span> </div> <div class="col-12 hr"> <hr /> </div> </div> </div> <div class="col-12 article-box-title font-bold mb-5"> <h2 class="mb-2"> <a href="/pozycjonowanie-z-platnoscia-za-efekt-gdzie-jest-haczyk" title="Pozycjonowanie z płatnością za efekt - gdzie jest haczyk? - ekomercyjnie.pl"> Pozycjonowanie z płatnością za efekt - gdzie jest haczyk? </a> </h2> <div class="article-box-categories"> </div> </div> <div class="col-4 col-lg-2 mb-4"> <img src="https://cdn.toponlineapp.pl/3391-dawid-szajner.png" alt="Dawid Szajner" class="img-fluid" /> </div> <div class="col-8 col-lg-10"> <h3 class="primary-color mb-3"><strong>Dawid Szajner</strong></h3> <h4 class="third-color"> CEO & Head of Sales<br />toponline.pl </h4> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="group-widget"> <div class="container"> <div class="row"> <div class="col-12 col-lg-6"> <h2 class="mb-4 font-bold">Ekomercyjni</h2> <h4 class="mb-5 font-light">Nowa, zamknięta grupa na facebooku. Dużo ekomercyjnej wiedzy, networking, pomoc. Tu się poznasz na e-commerce.</h4> <a href="https://www.facebook.com/groups/ekomercyjni" target="_blank" class="btn btn-success btn-lg"><i class="far fa-users me-1"></i> Zobacz grupę</a> </div> </div> </div> </div> <div class="text-center box-icon"><img src="/images/ekomercyjny-newsletter.png" /></div> <div class="newsletter-widget pt-100 pb-100 bg-primary"> <div class="container"> <div class="row"> <div class="col-12 col-lg-6"> <div class="bg-black"> <form action="/newsletter" method="post" class="align-items-center" id="subscribeForm"> <input type="hidden" id="subscribe-g-recaptcha-response" name="g-recaptcha-response"> <input type="hidden" name="action" value="validate_captcha"> <div class="form-group mb-4"> <input type="email" id="newsletterEmail" name="email" class="form-control" placeholder="twoj@email.pl" aria-label="email" required /> </div> <div class="form-group mb-4"> <input type="text" id="newsletterName" name="name" class="form-control" placeholder="Imię" aria-label="name" required /> </div> <div class="form-group"> <button class="btn btn-sm btn-white" type="submit">Dołączam!</button> </div> </form> <script> grecaptcha.ready(function() { grecaptcha.execute('6LfbbvgcAAAAAHpEafNILosw2ehT7J9QDGZ0x7-g', {action:'validate_captcha'}) .then(function(token) { document.getElementById('subscribe-g-recaptcha-response').value = token; }); }); </script> </div> </div> <div class="col-12 col-lg-6"> <h2 class="font-bold">Ekomercyjny newsletter</h2> <p> Kto subskrybuje ten się pierwszy dowiaduje. Informujemy tylko o najważniejszych wydarzeniach, wywiadach, webinarach i szkoleniach. </p> </div> </div> </div> </div> </div> <div class="footer pt-5 font-light text-center-s"> <div class="container"> <div class="text-center"> <p class="text-muted mb-1"> <small>Copyright © ekomercyjnie 2022 - Wszystkie prawa zastrzeżone.</small> </p> <p class="mb-0"> <a href="/kontakt" title="Współpraca z ekomercyjnie">Współpraca, reklama, kontakt</a> | <a href="/polityka-prywatnosci" title="Polityka prywatności ekomercyjnie">Polityka prywatności</a> | <a href="/regulamin" title="Regulamin ekomercyjnie">Regulamin</a> | Partner strategiczny serwisu: <a href="https://toponline.pl" title="Agencja SEO">Agencja SEO Top Online</a> </p> <p> <small><a href="mailto:kontakt@ekomercyjnie.pl">kontakt@ekomercyjnie.pl</a></small> </p> </div> </div> </div> </body> </html>