Press "Enter" to skip to content

Pozycjonowanie – linki kanoniczne na stronach kategorii, stronie produktu, stronie głównej w Presta Shop [Aktualizacja]

Admin 6

Linki kanoniczne są dość ważną kwestią związaną z pozycjonowaniem. Pozwalają dokładniej wskazać wyszukiwarkom która podstrona jest witryną główną i uniknąć np. oznaczenia jako „duplicate content„. Może mieć to miejsce np. na stronie kategorii.

Ale o co chodzi? Kategoria może posiadać kilka podstron (bo np. posiada dużo produktów) natomiast każda z tych podstron posiada ten sam opis kategorii. Może być to odebrane przez wyszukiwarki jako powielanie treści i mieć znikomy (lub nie) wpływ na pozycję w rankingu. Najlepiej za w czasu wprowadzić nieznaczne modyfikacje, aby witryna sklepowa była bardziej czytelna dla robotów indeksujących.

Na poniższej modyfikacji pokażemy jak dodać linki kanoniczne na kluczowych podstronach. Oczywiście w razie potrzeby można ich utworzyć więcej, poniższe stanowią niezbędne minimum.

Dodatkowo przedstawimy dodanie odp. znacznika meta informującego robota indeksującego o tym, że znajduje się na podstronie w obrębie paginacji (np. na 5 podstronie z 12-tu, 2 podstronie z 6-ciu itp.).

Modyfikacja jest przedstawiona dla sklepów Presta Shop w wersji 1.6.x.

Zawartość artykułu

Modyfikacja PHP.

Otwieramy plik:

classes/controller/FrontController.php

Znajdujemy funkcję:

initContent()

Przed wystąpieniem warunku:

if (!$this->useMobileTheme()) {

ściślej przed wystąpieniem przesyłania zmiennych do szablonu:

 $this->context->smarty->assign(array(

Wklejamy kod:

        $category_canonical = false;
        
        switch (Dispatcher::getInstance()->getController()) {
        	case 'index':
        		$dyn_canonical = $this->context->link->getPageLink($this->php_self, $this->ssl, $this->context->language->id);
        	break;
        	
        	case 'category':
        		$dyn_canonical = $this->context->link->getCategoryLink($this->category);
        		$category_canonical = $this->context->link->getCategoryLink($this->category);
        	break;
        	
        	case 'product':
        		$dyn_canonical = $this->context->link->getProductLink($this->product);
        	break;
        }

Następnie zamieniamy kod:

$this->context->smarty->assign(array(
                'HOOK_HEADER'       => Hook::exec('displayHeader'),
                'HOOK_TOP'          => Hook::exec('displayTop'),
                'HOOK_LEFT_COLUMN'  => ($this->display_column_left  ? Hook::exec('displayLeftColumn') : ''),
                'HOOK_RIGHT_COLUMN' => ($this->display_column_right ? Hook::exec('displayRightColumn', array('cart' => $this->context->cart)) : ''),
            ));

Na:

$this->context->smarty->assign(array(
                'HOOK_HEADER'       => Hook::exec('displayHeader'),
                'HOOK_TOP'          => Hook::exec('displayTop'),
                'HOOK_LEFT_COLUMN'  => ($this->display_column_left  ? Hook::exec('displayLeftColumn') : ''),
                'HOOK_RIGHT_COLUMN' => ($this->display_column_right ? Hook::exec('displayRightColumn', array('cart' => $this->context->cart)) : ''),
            	'dyn_canonical'		=> $dyn_canonical,
            	'category_canonical'=> $category_canonical
            ));

Czyli jak widać przekazujemy 2 nowe zmienne do szablonu:

dyn_canonical oraz category_canonical

Modyfikacja szablonu

Otwieramy plik:

themes/{NAZWA-SZABLONU}/header.tpl

i zaraz przed zamknięciem znacznika:

</head>

Wklejamy kod:

{if $dyn_canonical}
<link rel="canonical" href="{$dyn_canonical}" />
{/if} 
{if $category_canonical}
{if $p != 1}
<link rel="prev" href="{$category_canonical}?p={$p-1}" />
{/if}
{if $pages_nb > 1 AND $p != $pages_nb}
<link rel="next" href="{$category_canonical}?p={$p+1}" />
{/if}
{/if}

Gotowe. Po odświeżeniu cache sklepu i wyczyszczeniu pamięci podręcznej (opisywaliśmy to wielokrotnie w naszych artykułach) – zmiany powinny być widoczne.

W sekcji HEAD będą pojawiać się dodatkowe informacje dla wyszukiwarek które łatwiej zinterpretują kod na Twojej stronie sklepu.

  1. Andrzej Andrzej

    Super, czy jest szansa, że udostępnisz podobną instrukcję dla Presta 1.7.4.4 ?

  2. Andrzej Andrzej

    Czy jest szansa umieszczenie podobnej instrukcji dla Presta 1.7.4.4 ?

  3. Dariusz Dariusz

    Witam czy udałoby się skonstruować jakiś kod żeby ukryć zdjęcie i opis na kolejnych powyżej pierwszej stronach Kategorii i podkategorii bo przy paginacji Google twierdzi ze są zdublowane opisy i zdjęcia i wywala jako błąd.

    • Admin Admin

      tak, trzeba wstawić odp. warunek IF w szablonie tpl. napisz mail na info@pskrk.com to Ci podeślę. napisz też jaka to wersja skryptu

      • Admin Admin

        Tak jak Ci napisałem w mailu. Zastosuj kod:

        {if $p == '1′}

        (kod HTML z opisem)

        {/if}

        Np. w szablonie category.tpl, tam gdzie jest opis kategorii. Wtedy pojawi się on tylko na 1 stronie paginacji kategorii.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Jak poprzez prostą modyfikację w plikach dodać informację o ilości produktów w…