Problem z "Link Canonical" i jego rozwiązanie
Najpierw kilka słów o tym cudownym tagu. "Link Canonical" to tag "link" z dwoma atrybutami: "rel" i "href". Atrybut "rel" określa "Canonical", a atrybut "href" określa stronę, którą wyszukiwarki zalecają jako kanoniczną (tę, która powinna być zaindeksowana i uszeregowana).
Spis treści
1. Część wstępna
Przykład: jeśli strona https://site.com/category/tv/?page=2 jest oznaczona tagiem <link rel="canonical" href="https://site.com/category/tv/"/>, robot wyszukiwarki "rozumie" podczas odwiedzania strony, że webmaster chce, aby strona https://site.com/category/tv/ została uszeregowana w wyszukiwaniu.
Co niezwykłe, pomimo tego, że kod ten nie jest oficjalnie ścisłym tagiem dla wyszukiwarek (jedynie zaleceniem) wyszukiwarki zazwyczaj zawsze stosowały się do tego zalecenia, aż do momentu, gdy jedna z popularnych wyszukiwarek ogłosiła 4 lipca 2019 roku, że od teraz będzie indeksować i rankingować strony niekanoniczne, bo .... bo po prostu tak chce. Jest to zmiana na gorsze dla stron internetowych - pojawiła się garść problemów w postaci zaindeksowanych śmieci i rozmycia wagi linków i zachowań w obrębie stron. Problem ten rozwiązuje się poprzez zamykanie zbędnych stron w inny sposób: w pliku robots.txt lub ścisłym meta tagu "robots" (do ustawienia meta tagu "robots" na frameworku >Web Systems Pro< i aplikacji "Sklep" opracowana wtyczka "SEO Meta Robots").
Sam "Link Canonical" zmienił się z tagu, który służył do blokowania stron przed indeksacją na tag, który służy do przenoszenia wagi ze stron niekanonicznych na strony kanoniczne w przypadkach, gdy użycie przekierowań 301 jest niewłaściwe. Nie będziemy się teraz nad tym szczegółowo rozwodzić. Jeśli jesteś zainteresowany ustawieniem poprawnego indeksowania sklepu internetowego dla aplikacji "Sklep", przeczytaj osobny artykuł. Spoiler: aby poprawnie indeksować i rankingować swoją stronę musisz wdrożyć wszystkie trzy metody zamykania stron: plik "robots.txt", i meta tagi "link canonical" i "robots".
2. Jaki może być problem z "Link Canonical" w aplikacji "Sklep" w wersji 8+
Wróćmy do dawnych czasów, kiedy trawa była bardziej zielona, niebo bardziej niebieskie, a agregatory nie zdążyły jeszcze zawładnąć E-commerce.
1. W motywie projektowym "Domyślny" w jednej z aktualizacji (lub różnych aktualizacji, nie chodzi o to) były dwa kawałki kodu w motywie projektowym, które zasługują na szczególną uwagę teraz:
{if !empty($canonical)}<link rel="canonical" href="{$canonical}"/>{/if} {$wa->head()}
Powyższy kod wyprowadzał "link canonical" za pomocą motywu projektowego. Kod poniżej wyprowadzał kod zawierający pole "Niestandardowy kod JavaScript wewnątrz <head>". Trochę później kod poniżej zaczął również wyprowadzać meta tagi Open Graph, ale nie o tym teraz. Przejdźmy dalej.
2. Deweloperzy motywów projektowych przy tworzeniu swoich produktów podpatrywali, jak to zostało zaimplementowane w motywie projektowym "Domyślny" i przez wiele lat robili to samo w swoich motywach.
W większości motywów projektowych opublikowanych na markecie >Web System Pro< można znaleźć oba kody. A w nowych motywach projektowych (które powstają na przykład właśnie teraz) stary kod również zostanie zaimplementowany w motywie dla zachowania kompatybilności ze starszymi wersjami aplikacji "Sklep". Informacje te zostały przekazane przez samych projektantów motywów projektowych.
3. Po aktualizacji aplikacji "Sklep" do wersji 8.13 wprowadzono ważną zmianę:
{$wa->head()}
teraz wyprowadza również "Link Canonical"
Więc w czym tkwi problem?
Problem polega na tym, że jeśli zainstalowałeś wersję 8+ aplikacji "Sklep", bardzo prawdopodobne jest, że masz wyjście "Link Canonical" dwukrotnie w kodzie źródłowym. Natychmiast po aktualizacji aplikacji zaczęła się wylewać masa wściekłych komentarzy na ten temat. Po tym upubliczniono oficjalne stanowisko dewelopera w tej sprawie:
Cytat:„Tag kanoniczny jest teraz dodawany przez framework za pomocą metody $wa->head(). Możliwe jest, że twój motyw projektowy używa tego połączenia i dodaje tag kanoniczny za pomocą własnych środków. Może to spowodować pojawienie się 2 tagów kanonicznych w kodzie strony. Być może będziesz musiał udoskonalić swój motyw projektowy, aby uniknąć tej duplikacji.”
3. Jak rozwiązać problem duplikacji "Link Canonical"?
Metoda 1: Dopracować motyw projektu samodzielnie, usuwając zduplikowany tag w szablonie motywu projektu. W tym przypadku, oczywiście, stracić możliwość aktualizacji motywu projektu poprzez instalator (albo nie aktualizować, albo aktualizować, ale przenieść modyfikację samodzielnie).
Metoda 2: Zgłoś problem do dewelopera motywu i poproś o modyfikację motywu projektu, aby uniknąć dwukrotnego wyświetlania tagu. Możliwe, że deweloper pójdzie ci na rękę i wstawi jakąś "kulę" (na przykład w szablonie motywu sprawdzi wersję aplikacji "Sklep" i wyświetli inny kod, w zależności od otrzymanej wersji).
Metoda 3: Zainstaluj wtyczkę "SEO Link Canonical". Zapewnia dość zgrabne rozwiązanie problemu: eliminuje wyjście "Link Canonical" na oba powyższe sposoby i konfiguruje wyjście tagu w inny sposób: poprzez hak motywu projektowego. Zaletą tego rozwiązania jest to, że nie trzeba dokonywać żadnych edycji motywu projektowego. Dodatkowo wtyczka posiada dość elastyczną funkcjonalność pozwalającą na ustawienie tagu w zależności od typu strony oraz w zależności od User-Agent. Na przykład, wtyczka ma możliwość wyświetlania różnych tagów dla Yandex i Google. Doświadczeni specjaliści SEO docenią =) Dokumentację do wtyczki można znaleźć tutaj.
0 komentarzy