Quitar nombre de la tienda del Tag Title de PrestaShop

Hoy comparto contigo un mini tutorial seo que te ahorrará un poco de tiempo, a ti y a todos aquellos que han elegido la plataforma e-commerce PrestaShop para su tienda online. Por obvios motivos SEO necesitaba quitar el nombre de la tienda del tag title de una tienda online. Por desgracia, no es posible editar el título para quitar el nombre de la tienda desde el back-office. Si lo es, no he conseguido encontrar esta funcionalidad y por eso he buscado en Google la solución a mi problema, que te describiré paso a paso a continuación. La versión de la plataforma PrestaShop en este caso es la 1.5.2.0.
Para continuar con este tutorial necesitarás tener acceso a tu servidor via FTP o via SSH para los más expertos :). Además necesitarás un editor de texto (yo te aconsejo Notepad++ pero puedes usar el que te resulte más comodo, incluso el bloque de notas).
Acuérdate que es recomendable hacer una copia de seguridad de tu web antes de modificar cualquier archivo
Primer paso: debes acceder a /override/clases y abrir el archivo Meta.php
rootDeTuWeb/override/clases/Meta.php
Una vez abierto el archivo, encontrarás la clase Meta:
<?php class Meta extends MetaCore { // seccion para introducir nuestras funciones }
Lo único que debes hacer es copiar y pegar una de estas funciones en base a lo que necesites hacer en tu meta título ( atención, ten cuidado con la sintaxis y el código ).
- Función 1: getHomeMetas();
Esta función quita el nombre de tu tienda del meta título de Prestashop en la homepage.
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; }
- Función 2: getCategoryMetas();
Esta función elimina el nombre de tu tienda del tag title de las páginas de categoría.
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); }
- Función 3 : getCmsMetas();
Esta función elimina el nombre de la tienda del meta título PrestaShop de las páginas 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); }
Si tienes cualquier duda déjame un comentario 😉 Espero haber sido de ayuda!