Opencart - Автоматическое Заполнение Meta Keywords Для Улучшения Seo

Тема в разделе "SEO-вопросы (оптимизация и продвижение магазина)", создана пользователем admin, 18 июн 2016.

  1. TopicStarter Overlay
    Offline

    admin Команда форума Администратор

    Сообщения:
    2.321
    Симпатии:
    76.264
    Репутация:
    170
    579175.jpg
    Если у вас большой ассортимент товаров в магазине и нет времени каждому прописать keywords, то такой вариант может сэкономить время, автоматически прописывая в метатег keywords слова из заголовка.

    OpenCart так построен, что когда поле "meta keywords" не заполнено в админке, то оно и не выводится в шаблоне страницы вообще. Это не очень хорошо для оптимизации. Заполним его автоматически, продублировав слова из названия товара.

    В результате у нас будет что-то вроде:

    Код:
    <head>
    <title>Ваше название</title>
    <base href="http://ocstore/" />
    <meta name="keywords" content="ключевые слова через запятую" />
    Не идеал, но вроде бы лучше, чем ничего. В то же время вручную описать эти поля никто не мешает, и в случае их заполненности автоматика не вмешивается. Делать автозаполнение для "meta description" не рекомендуется, потому что одинаковое название и описание не приветствуется. Но кому хочется - могут дописать if( empty($this->data['description']) ) $this->data['description'] = $this->data['title'];

    Для версий Opencart 1.5.x, включая 1.5.1.3; ocStore 1.0.1.

    Добавляем в /catalog/controller/common/header.php:

    Код:
    $this->data['description'] = $this->document->getDescription();
    $this->data['keywords'] = $this->document->getKeywords();
    $this->data['links'] = $this->document->getLinks();
    $this->data['styles'] = $this->document->getStyles();
    $this->data['scripts'] = $this->document->getScripts();
    $this->data['lang'] = $this->language->get('code');
    $this->data['direction'] = $this->language->get('direction');
    $this->data['google_analytics'] = html_entity_decode($this->config->get('config_google_analytics'), ENT_QUOTES, 'UTF-8');
    
    /* SEO автоматическое заполнение meta-keywords */
                   // If keywords and description not set - use title here too
                   if( empty($this->data['keywords']) )
                   {
                           $words = explode(' ', $this->data['title']);
                           $this->data['keywords'] = implode(',', $words) . ',' . $this->data['title'];
                   }
    /* SEO автоматическое заполнение meta-keywords */