Supprimer le nom de la boutique de la balise Meta Title| Astuce Prestashop 1.6

Grâce à ce tuto, vous allez pouvoir supprimer le nom de votre boutique de la balise Meta Title de vos pages sur votre site e-commerce

Astuce Prestashop 1.6

———————————-

Dans un premier temps, nous allons overrider le fichier Meta.php. En effet ces dans ce fichier que nous allons supprimer le paramètre Configuration::get(‘PS_SHOP_NAME’) qui fait référence au nom de votre boutique

Pour cela, allez dans override/classes et crééz le fichier Meta.php

Dans ce fichier insérer le code suivant :

<?php
 
class Meta extends MetaCore
{
 // Nous mettrons les functions overrider ici 
}

A) Supprimer le nom de la boutique de la balise Meta Title de la page d’accueil 

Insérez le code suivant

    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'] : Configuration::get('PS_SHOP_NAME');
        $ret['meta_description'] = (isset($metas['description']) && $metas['description']) ? $metas['description'] : '';
        $ret['meta_keywords'] = (isset($metas['keywords']) && $metas['keywords']) ? $metas['keywords'] :  '';
        return $ret;
    }

B) Supprimer le nom de la boutique de la balise Meta Title des pages catégories

Insérez le code suivant

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.')' : '');
                } else {
                    $row['meta_title'] = $row['name'].(!empty($page_number) ? ' ('.$page_number.')' : '');
                }

                if (!empty($title)) {
                    $row['meta_title'] = $title.(!empty($page_number) ? ' ('.$page_number.')' : '');
                }

                $result = Meta::completeMetaTags($row, $row['name']);
            } else {
                $result = Meta::getHomeMetas($id_lang, $page_name);
            }
            Cache::store($cache_id, $result);
            return $result;
        }
        return Cache::retrieve($cache_id);
    }

Si vous actualisez la page, vous verrez que rien à changer. Il faut faire aussi la modification dans un autre fichier.

Pour cela on va ouvrir un autre fichier : blocklayered.php qui se situe dans le module blocklayered

Puis vers la ligne 713 on va remplacer ce code

if (!empty($title))
	$smarty->assign('meta_title', $title.' - '.Configuration::get('PS_SHOP_NAME'));
	else
	$smarty->assign('meta_title', $category_metas['meta_title']);

par

if (!empty($title))
	$smarty->assign('meta_title', $title);
	else
	$smarty->assign('meta_title', $category_metas['meta_title']);

C)  Supprimer le nom de la boutique de la balise Meta Title des pages fournisseurs

Insérez le code suivant

  public static function getManufacturerMetas($id_manufacturer, $id_lang, $page_name)
    {
        $page_number = (int)Tools::getValue('p');
        $sql = 'SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`
				FROM `'._DB_PREFIX_.'manufacturer_lang` ml
				LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (ml.`id_manufacturer` = m.`id_manufacturer`)
				WHERE ml.id_lang = '.(int)$id_lang.'
					AND ml.id_manufacturer = '.(int)$id_manufacturer;
        if ($row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql)) {
            if (!empty($row['meta_description'])) {
                $row['meta_description'] = strip_tags($row['meta_description']);
            }
            $row['meta_title'] = ($row['meta_title'] ? $row['meta_title'] : $row['name']).(!empty($page_number) ? ' ('.$page_number.')' : '');
 
            return Meta::completeMetaTags($row, $row['meta_title']);
        }

        return Meta::getHomeMetas($id_lang, $page_name);
    }

D)  Supprimer le nom de la boutique de la balise Meta Title des pages fabricants

Insérez le code suivant

 public static function getSupplierMetas($id_supplier, $id_lang, $page_name)
    {
        $sql = 'SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`
				FROM `'._DB_PREFIX_.'supplier_lang` sl
				LEFT JOIN `'._DB_PREFIX_.'supplier` s ON (sl.`id_supplier` = s.`id_supplier`)
				WHERE sl.id_lang = '.(int)$id_lang.'
					AND sl.id_supplier = '.(int)$id_supplier;
        if ($row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql)) {
            if (!empty($row['meta_description'])) {
                $row['meta_description'] = strip_tags($row['meta_description']);
            }
            if (!empty($row['meta_title'])) {
                $row['meta_title'] = $row['meta_title'];
            }
            return Meta::completeMetaTags($row, $row['name']);
        }

        return Meta::getHomeMetas($id_lang, $page_name);
    }

E) Supprimer le nom de la boutique de la balise Meta Title des pages CMS

Insérez le code suivant

    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.
                    ((int)Context::getContext()->shop->id ?
                        ' AND id_shop = '.(int)Context::getContext()->shop->id : '');

        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);
    }

F) Supprimer le nom de la boutique de la balise Meta Title des pages catégories CMS

Insérez le code suivant

  public static function getCmsCategoryMetas($id_cms_category, $id_lang, $page_name)
    {
        $sql = 'SELECT `meta_title`, `meta_description`, `meta_keywords`
				FROM `'._DB_PREFIX_.'cms_category_lang`
				WHERE id_lang = '.(int)$id_lang.'
					AND id_cms_category = '.(int)$id_cms_category.
                    ((int)Context::getContext()->shop->id ?
                        ' AND id_shop = '.(int)Context::getContext()->shop->id : '');
        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);
    }

G)  Et enfin supprimer le nom de la boutique de la balise Meta Title de toutes les autres pages 

Insérez le code suivant

 public static function completeMetaTags($meta_tags, $default_value, Context $context = null)
    {
        if (!$context) {
            $context = Context::getContext();
        }

        if (empty($meta_tags['meta_title'])) {
            $meta_tags['meta_title'] = $default_value;
        }
        if (empty($meta_tags['meta_description'])) {
            $meta_tags['meta_description'] = Configuration::get('PS_META_DESCRIPTION', $context->language->id) ? Configuration::get('PS_META_DESCRIPTION', $context->language->id) : '';
        }
        if (empty($meta_tags['meta_keywords'])) {
            $meta_tags['meta_keywords'] = Configuration::get('PS_META_KEYWORDS', $context->language->id) ? Configuration::get('PS_META_KEYWORDS', $context->language->id) : '';
        }
        return $meta_tags;
    }

Après avoir suivi ce tuto, vous ne verrez plus ces fameuses balise Title sur votre boutique Prestashop

 

 

 

Articles similaires

Afficher les sous-catégories sur la page catégorie | Prestashop 1.7
views 9860
Vous l'avez peut-être constaté mais sur la version Prestashop 1.7, les sous-catégories ne s'affichent pas sur les pages catégories comme sur Prestashop 1.6. Voici un petit tutoriel, qui vous permettra de les faire apparaître rapidement. Comment insérer les sous-catégories sur la page catégorie ? Etape 1: Ouvrir le fichier category.tpl qui se situe dans ../themes/nomdevotretheme/templates/cata...
Votre boutique Prestashop est-il compatible mobile ?
views 1158
Google ayant mis en place son label « Mobile Friendly », dans ses résultats de recherche, il devient maintenant incontournable d'avoir un site version mobile. Il faut noter aussi qui si votre site n'est pas responsive ou compatible Mobile, vous allez perdre des places dans les pages de résultats de Google. Google à mise à votre disposition un outil très simple pour tester la comptabilité de vot...
Ajouter des tabs dans une page cms | Astuce Prestashop 1.6
views 1345
Ce tutorial va vous permettre d'insérer des tabs dans vos pages cms Astuce Prestashop 1.6 -------------------------------------- 1) Insérer une tab horizontal sur la page cms de Prestashop  1.1) Une fois sur la page cms, cliquez sur l'icône source code 1.2 Insérez le code suivant
Désactiver les deux zooms de la page produit | Astuce Prestashop 1.6
views 4226
Ce tuto simple et rapide va vous permettre de désactiver les deux zooms de la page produit. Cette astuce est valable Prestashop 1.6. Le code étant pratiquement similaire, ce tuto peut aussi s'appliquer à Prestashop 1.5 ---------------------- Sur la page produit, il existe deux types de zoom : 1) Le zoom "pop-up" 2) Le zoom "Jqzoom" Si vous ne désirez pas avoir de zoom...
COMMENT AJOUTER UN TRANSPORTEUR DANS PRESTASHOP 1.6 ?
views 3380
Dans ce tutoriel, nous allons voir comment ajouter et paramétrer un transporteur, afin que vos clients puissent choisir son mode de livraison sur votre site de vente en ligne. Il existe deux manières à ce jour d'ajouter un transporteur dans Prestashop: utiliser un module du transporteur choisi insérer le transporteur soi-même. A) Quel transporteur utilise un module adapté à Prest...

Une réponse à “Supprimer le nom de la boutique de la balise Meta Title| Astuce Prestashop 1.6”

  1. freduhr dit :

    Cette astuce fonctionne très bien, merci!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *