Ponieważ większość z was wie, że „w przypadku sklepów internetowych z dużą ilością produktów paginacja na stronach kategorii może być naprawdę problematyczna dla wyszukiwarek”, jak napisał Toni Anicic artykuł . Nie chcę powtarzać jego słów, ale pokazać, w jaki sposób można dodać atrybuty tagów łącza rel = ”prev” i rel = ”next” w tagu head dla stron, co zwiększy SEO. Ten spokój kodu jest już zapewniony przez społeczność Magento, ale jest to ulepszona wersja.
Testowane w Magento CE 1.6.1.0.
Realizacja
1. Jeśli więc nie zmodyfikowałeś już pliku head.phtml, utwórz identyczną hierarchię katalogów i skopiuj / wklej head.phtml do swojego motywu lub pakietu.
Przykład ścieżki przy użyciu pakietu:
.. app endend [twoja_nazwa_pakietu] domyślny szablon strona html head.phtml
Przykład ścieżki przy użyciu motywu:
.. app endend domyślny [twoja_nazwa_hemiczna] szablon strona html head.phtml
2. Dodaj kod poniżej do head.phtml. Dodałem kod na dole pliku.
<? php $ actionName = $ this -> getAction () -> getFullActionName (); if ($ actionName == 'catalog_category_view') // Strona kategorii {$ category = Mage :: registry ('current_category'); $ prodCol = $ category -> getProductCollection () -> addAttributeToFilter ('status', 1) -> addAttributeToFilter ('visibility', array ('in' => array (Mage_Catalog_Model_Product_Visibility :: VISIBILITY_IN_CATALOG, Mage_Catalog_Model_Product_Visibility :: VISIBILITY_BOTH))); $ tool = $ this -> getLayout () -> createBlock ('page / html_pager') -> setLimit ($ this -> getLayout () -> createBlock ('catalog / product_list_toolbar') -> getLimit ()) -> setCollection ($ prodCol); $ linkPrev = false; $ linkNext = false; if ($ tool -> getCollection () -> getSelectCountSql ()) {if ($ tool -> getLastPageNum ()> 1) {if (! $ tool -> isFirstPage ()) {$ linkPrev = true; if ($ tool -> getCurrentPage () == 2) {$ url = eksploduj ('?', $ tool -> getPreviousPageUrl ()); $ prevUrl = @ $ url [0]; } else {$ prevUrl = $ tool -> getPreviousPageUrl (); }} if (! $ tool -> isLastPage ()) {$ linkNext = true; $ nextUrl = $ tool -> getNextPageUrl (); }}} if ($ linkPrev) echo '<link rel = "prev" href = "'. $ prevUrl. '" />'; if ($ linkNext) echo '<link rel = "next" href = "'. $ nextUrl. '" />'; }?>Wynik
Poniżej znajduje się wynik, jeśli jesteś na stronie 3.
<head> ... <link rel = "prev" href = "http://www.example.com/store.html?p=2"> <link rel = "next" href = "http: // www .example.com / store.html? p = 4 "> ... </head>Optymalizacja pod kątem wyszukiwarek w konfiguracji Magento
Po zaimplementowaniu rel = ”prev” i rel = ”next” musisz ponownie skonfigurować opcje SEO Magento, co oznacza, że nie potrzebujesz już kanonicznego tagu meta dla kategorii. Poniżej znajduje się przykład konfiguracji opcji SEO Magento dla jednego z naszych klientów.
Lt;?
Quot; />'; }?
Html?
Html?