Uno de los errores más habituales a la hora de realizar el SEO de tu tienda PrestaShop es encontrarte con meta títulos excesivamente largos. Y esta limitación se ve agravada por el hecho de que PrestaShop añade al final de cada meta título el nombre de la página. Por ejemplo, en las categorías nos podemos encontrar con un meta título como el siguiente:
Camisas – TuSitioWeb.com
Estos meta títulos los genera PrestaShop a través de una clase llamada Meta y a través del módulo de navegación por facetas. Y son estos dos puntos los que vamos a modificar.
Primero iremos a la carpeta /classes/Meta.php y alrededor de la línea 289 nos encontraremos con el siguiente código:
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');
$cache_id = 'Meta::getCategoryMetas'.(int)$id_category.'-'.(int)$id_lang;
if (!Cache::isStored($cache_id))
{
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.')' : '').' – '.Configuration::get('PS_SHOP_NAME');
else
$row['meta_title'] = $row['name'].(!empty($page_number) ? ' ('.$page_number.')' : '').' – '.Configuration::get('PS_SHOP_NAME');
if (!empty($title))
$row['meta_title'] = $title.(!empty($page_number) ? ' ('.$page_number.')' : '').' – '.Configuration::get('PS_SHOP_NAME');
$result = Meta::completeMetaTags($row, $row['name']);
}
else
$result = Meta::getHomeMetas($id_lang, $page_name);
Cache::store($cache_id, $result);
}
return Cache::retrieve($cache_id);
Si te fijas, verás varias llamadas como esta: Configuration::get(‘PS_SHOP_NAME’)
Estas llamadas son las que añaden el nombre de la tienda al meta título de tus productos y categorías, así que vamos a deshacernos de ellas.
La primera instancia en la que aparece quedaría de esta manera:
$row[‘meta_title’] = $title.$row[‘meta_title’].(!empty($page_number) ? ‘ (‘.$page_number.’)’ : »);
Como ves, nos hemos librado de la dichosa llamada y ya no aparecerá. Haz lo mismo con el resto de llamadas y podrás olvidarte de ver el nombre del sitio por todas partes.