Jak radzić sobie ze zduplikowanymi treściami / adresami URL w Joomla?

11

Właśnie odkryłem poważny problem SEO i chociaż na razie go rozwiązałem; Próbuję dowiedzieć się, dlaczego tak się stało, a może to pomyłka, czy może ma to związek z samą Joomla. Najpierw problem:

Gdy zaindeksowałem witrynę za pomocą Moz, pokazała cztery zduplikowane treści dla strony głównej, co było nieoczekiwane. Na przykład na stronie głównej http://www.foo.com wyświetlał zduplikowane adresy URL treści, takie jak:

foo.com/2-uncategorised/1-offers (canonical = foo.com/2-uncategorised/1-offers)
foo.com/2-uncategorised/2-enquiry (canonical = foo.com/2-uncategorised/2-enquiry) 
foo.com/2-uncategorised/3-products (canonical = foo.com/2-uncategorised/3-products) 

Wszystkie te linki po prostu ładowały treść strony głównej, a meta szczegóły pochodziły z artykułu. To oczywiście wskazywało, że Joomla automatycznie tworzy linki i znalazłem to samo dla 4 linków. Link w artykule był taki:

index.php?option=com_content&view=article&id=1&catid=2&Itemid=1
index.php?option=com_content&view=article&id=2&catid=2&Itemid=1
index.php?option=com_content&view=article&id=3&catid=2&Itemid=1

Do Itemid = 1odpowiada pozycji menu na stronie głównej, która wyjaśnia, dlaczego strona została załadunku. Próbowałem odtworzyć problem, ale nie mogłem. Według osób, które dodały treść, oto kroki, które zrobiły, tworząc te artykuły i linki w niej:

  1. Twórz artykuły
  2. Dodaj link do innych artykułów za pomocą zakładki „Artykuł” w edytorze treści.
  3. Utwórz pozycję menu dla artykułów

Zastanawiałem się więc, czy coś tutaj jest oczywiście nie tak. Jestem zdezorientowany, ponieważ istnieje ponad 100 artykułów, ale zdarzyło się to tylko w około 5 artykułach. Dzięki.

sifu
źródło

Odpowiedzi:

15

Spis treści tej odpowiedzi:

  1. Treść pod tym samym identyfikatorem produktu
  2. Jak tworzone są zduplikowane treści / strony dynamiczne / adresy URL
  3. Perspektywa SEO
  4. Radzenie sobie ze zduplikowanymi treściami w Joomla
  5. Referencje i linki

1. Dlaczego artykuły są wyświetlane pod tym samym itemid

Przede wszystkim nie jest to problem, dlaczego otrzymujesz zduplikowane adresy URL. Artykuły używają identyfikatora elementu strony głównej, ponieważ nie przypisano im żadnego innego identyfikatora elementu.

Przeczytaj więcej na ten temat:

Ten może być również wnikliwy:



2. Jak powstaje „zduplikowana treść” / Dynamiczne strony / adresy URL

Jest to w rzeczywistości standardowe zachowanie dynamicznych witryn internetowych, które generują swoje strony przy użyciu parametrów adresu URL do tworzenia ciągów zapytań w postaci par wartości pola . Serwer / aplikacja otrzyma zapytanie, przetworzy je i zwróci powiązaną zawartość do przeglądarki.

Aby to lepiej zrozumieć, możesz chcieć wyłączyć adresy URL SEF na stronie Joomla i trochę przestudiować adres URL strony innej niż SEF:

Przykład:

index.php? opcja = com_content & view = article & id = 3 & catid = 9 & Itemid = 101

Dzieląc powyższe zapytanie na pary pola-wartości, widzimy:

  • opcja = com_content
  • widok = artykuł
  • id = 3
  • catid = 9
  • Itemid = 101

Są to wartości pól, które Joomla rozumie i spróbuje zwrócić następującą treść jako:

Przeszukuje komponent com_content i używa widoku artykułu, aby wyświetlić element treści (artykuł) o identyfikatorze 3, o kategorii id 9, używając pozycji menu o identyfikatorze 101.


Wiele odmian adresów URL dla 1 strony

Jednak ten sam artykuł można wyświetlić przy jeszcze większej kombinacji pól i wartości:

Niektóre możliwe kombinacje mogą być:

  • index.php? opcja = com_content & view = article & id = 3 & catid = 9
  • index.php? opcja = com_content & view = article & id = 3 & Itemid = 101
  • index.php? opcja = com_content & view = article & id = 3 & Itemid = 102
  • index.php? opcja = com_content & view = article & id = 3 & Itemid = 103
  • index.php? opcja = com_content & view = article & id = 3
  • index.php? opcja = com_content & view = article & id = 3 & lang = en
  • index.php? opcja = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en

  • index.php? opcja = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en & print = 1

  • index.php? opcja = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en & tmpl = component

Jak widać, wszystkie powyższe żądania wymagają tych samych danych z systemu, czyli artykułu o id = 3. Prowadzi to do tego, że do tej samej treści / strony można uzyskać dostęp za pośrednictwem różnych adresów URL, aw niektórych przypadkach można wyświetlane w różnych układach.

* Przy włączonych adresach URL SEF w Joomla powyższe potencjalnie może zostać przetłumaczone na więcej niż 1 adres URL SEF dla tego samego artykułu / treści.



3. Perspektywa SEO

Nowoczesne wyszukiwarki, a zwłaszcza Google , są świadome tego zachowania. Zwykle starają się jak najlepiej, aby zaindeksować i zachować w wynikach wyszukiwania najbardziej odpowiedni adres URL strony. Ponadto Google ujawniło, że z tego powodu nie ma „ kary ” za powielone treści.

Jednak głównym problemem w przypadku, gdy ta sama treść / strona została zaindeksowana więcej niż jeden raz, jest to, że prawdopodobnie tracisz ranking strony i najlepszą możliwą wydajność SEO , ponieważ ranking strony zostanie podzielony na więcej niż 1 stronę zamiast 1 .

Mając to na uwadze, dobrze jest sobie z tym poradzić, zamiast pozwolić wyszukiwarkom na indeksowanie adresów URL, próbując zgadnąć, czy różne adresy URL wyświetlają tę samą lub inną treść.
Co więcej, kontrolowanie twoich adresów URL i tego, co SE powinno indeksować, może pomóc w poprawie komfortu użytkowania, ponieważ użytkownicy witryny znajdą tę samą stronę pod 1 tylko standardowym adresem URL, i może stworzyć bardziej solidną strukturę dla strony internetowej i zarządzania nią .



4. Jak postępować ze zduplikowanymi treściami

  • Korzystanie z kanonicznych adresów URL dla stron.
    Kanoniczne adresy URL poinstruują wyszukiwarkę o tym, który z nich powinien być prawidłowym adresem URL strony, którą powinny zaindeksować i zachować w indeksie.

  • Korzystanie z metadanych INDEX / NOINDEX, FOLLOW / NOFOLLOW. Używanie takich metadanych na twoich stronach, poinstruuje wyszukiwarki, czy chcesz indeksować zawartość strony, czy nie, i podążać za odnośnikami znajdującymi się na niej.

  • Korzystanie z przekierowań 301 / htaccess.
    Możesz przekierować wszystkie inne adresy URL na ten, który chcesz na głównym. Można to osiągnąć za pomocą rozszerzeń SEF lub htaccess . Oba zapewniają dużą moc, jednak htaccess ma dużą elastyczność, biorąc pod uwagę możliwość używania wyrażeń regularnych dla wszystkich rodzajów przekierowań / lub przeróbek przy użyciu mod_rewrite. Jeśli chodzi o rozszerzenia J, kiedy zajdzie taka potrzeba, zwykle używam sh404SEF .

    Aktualizacja: Jak zauważył @Neil Robertson w komentarzach: jedno ważne przekierowanie pochodzi z wersji innej niż www witryny do wersji www witryny i odwrotnie. Dodaj to do pliku .htaccess w przypadku przekierowania innego niż www na www.

        ### Redirect non-www to www
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
        ### Redirect non-www to www - END 
    
  • Korzystanie z Narzędzi
    Google dla webmasterów Narzędzia Google dla webmasterów mają opcje umożliwiające dostosowanie działania robota z parametrami adresu URL .

  • Korzystanie z map witryn
    Prześlij do wyszukiwarek strukturę adresu URL witryny.

  • Korzystając z pliku Robots.txt,
    Google i inne duże firmy SE szanują Twój plik Robots.txt. Możesz poinstruować ich, aby nie indeksowały określonych ścieżek katalogów / adresów URL.

Wszystkie powyższe opcje można łączyć w celu uzyskania pożądanego rezultatu.

* Jak wszędzie, więc w Joomla dobre planowanie i organizacja treści zawsze pomagają osiągnąć lepszy wynik. W szczególności w przypadku Joomla obejmuje to także czystą kategoryzację treści i strukturę elementów menu.



5. Referencje i linki

Rozszerzenia Joomla SEO

Zwykle w Joomla, jeśli chcesz sobie z tym poradzić skutecznie, instalujesz rozszerzenie SEO-SEF innej firmy.



Więcej lektur:

FFrewin
źródło
1
jedna z najlepszych odpowiedzi na tym forum :) bardzo pomocna. dzięki @FFrewin
Joomler
1
To doskonała odpowiedź. :) Dla kompletności dobrze byłoby dodać trochę informacji o przekierowaniu wersji strony innej niż www do wersji strony internetowej lub odwrotnie. Często się o tym zapomina, ale jest to prawdopodobnie główna przyczyna powielania treści na wszystkich stronach internetowych (nie tylko w Joomla).
Neil Robertson,
Wygląda na to, że nowy router wreszcie ujrzy światło dzienne w Joomla 3.8, a to pomoże uprościć adresy URL bez potrzeby rozszerzenia zewnętrznego.
Neil Robertson,
1
@ NeilRobertson: Nadal uważam, że jest jeszcze miejsce na ulepszenia i potrzeba więcej pracy w tym zakresie, aby uzyskać kompletne i wydajne rozwiązanie do zarządzania adresami URL / duplikatami SEF w Joomla.
FFrewin
@FFrewin Zgadzam się. Wygląda na to, że niektóre rozszerzenia innych firm mogą wymagać aktualizacji, aby skorzystać z nowego routera.
Neil Robertson,
0

Jeśli mam wiele pozycji menu odnoszących się do tej samej treści, korzystam z linków systemowych / aliasu pozycji menu znajdujących się w Menedżerze menu. Oto stary artykuł na ten temat; ale metoda nadal istnieje dzisiaj: https://magazine.joomla.org/issues/issue-apr-2016/item/2997-avoid-duplicate-content-with-a-menu-item-alias

@ Nee, zgadzam się w 100% na to, że treści inne niż www czy www są odczytywane jako duplikaty. Oto kod, który zmusza www do bycia innym niż www. Umieść go w pliku htaccess. Dodaje również protokół bezpieczeństwa https. Ten kod nie jest jedyną metodą, ale z powodzeniem używam go w wielu witrynach.

RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC]
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [L,R=301]
yaya
źródło