Rimuovere il nome dell’e-commerce dal Tag Title di PrestaShop

Ti scrivo per condividere un mini tutorial ambito seo che risparmierà un pò di tempo a te e a coloro che hanno scelto come soluzione e-commerce PrestaShop per il loro negozio online.
Per ovvie ragioni SEO avevo bisogno di rimuovere il nome nel tag tile del mio negozio. Purtroppo non è possibile cancellare dal back-office, o meglio io non sono riuscito a trovarlo quindi ho fatto una bella ricerca google per infromarmi bene 🙂 ed ho trovato la soluzione adatta al mio problema che ora descrivo in pochi passi qui sotto. La versione in questione di PrestaShop è 1.5.2.0
Per continuare con questo tutorial ti serve prima di tutto l’accesso al tuo server via FTP oppure via SSH per i più esperti :), e un editor di testo (io vi consiglio notepad++ però puoi usare quello dove ti trovi più comodo anche un semplice editor come blocco note.
Primo passo, ti devi posizionare su /override/clases e aprire il file Meta.php
rootDelTuoSito/override/clases/Meta.php
Una volta che avrai aperto il file troverai al interno la classe Meta:
<?php class Meta extends MetaCore { // sezione dove inserire le nostre funzioni }
A questo punto non ti resta altro che copiare ed incollare una di queste funzioni in base alle tue necessità ( mi raccomando tieni d’occhio la sintassi e il codice).
- Funzione 1: getHomeMetas();
Questa funzione rimuove il nome del tuo negozio sul tag title della homepage di Prestashop.
public static function getHomeMetas($id_lang, $page_name) { $metas = Meta::getMetaByPage($page_name, $id_lang); $ret['meta_title'] = (isset($metas['title']) && $metas['title']) ? $metas['title'] : ''; $ret['meta_description'] = (isset($metas['description']) && $metas['description']) ? $metas['description'] : ''; $ret['meta_keywords'] = (isset($metas['keywords']) && $metas['keywords']) ? $metas['keywords'] : ''; return $ret; }
- Funzione : getCategoryMetas();
Questa funzione rimuove il nome del tuo negozio sul tag title delle pagine categorie.
public static function getCategoryMetas($id_category, $id_lang, $page_name, $title = '') { if (!empty($title)) $title = ' - '.$title; $page_number = (int)Tools::getValue('p'); $sql = 'SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`, `description` FROM `'._DB_PREFIX_.'category_lang` cl WHERE cl.`id_lang` = '.(int)$id_lang.' AND cl.`id_category` = '.(int)$id_category.Shop::addSqlRestrictionOnLang('cl'); if ($row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql)) { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['description']); // Paginate title if (!empty($row['meta_title'])) $row['meta_title'] = $title.$row['meta_title'].(!empty($page_number) ? ' ('.$page_number.')' : ''); else $row['meta_title'] = $row['name'].(!empty($page_number) ? ' ('.$page_number.')' : ''); if (!empty($title)) $row['meta_title'] = $title.(!empty($page_number) ? ' ('.$page_number.')' : ''); return Meta::completeMetaTags($row, $row['name']); } return Meta::getHomeMetas($id_lang, $page_name); }
- Funzione : getCmsMetas();
Questa funzione rimuove il nome del tuo negozio sul tag title delle pagine CMS.
public static function getCmsMetas($id_cms, $id_lang, $page_name) { $sql = 'SELECT `meta_title`, `meta_description`, `meta_keywords` FROM `'._DB_PREFIX_.'cms_lang` WHERE id_lang = '.(int)$id_lang.' AND id_cms = '.(int)$id_cms; if ($row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql)) { $row['meta_title'] = $row['meta_title']; return Meta::completeMetaTags($row, $row['meta_title']); } return Meta::getHomeMetas($id_lang, $page_name); }
Per domande e problemi che aspetti lascia un commento. 😉
Spero di esserti stato d’aiuto.
A presto!
Ertil Gani