Opencart 1.5.x (catalog): SEO - автоматическое заполнение meta keywords

Если поле "meta keywords" не заполнено в админке, Опенкарт его не выводит. Для улучшения ситуации заполним его автоматически, продублировав слова из названия товара.

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


Аппарат для приготовления блинов Bomann CM 2221 CB

Не идеал, но вроде бы лучше, чем ничего. Или ручное прописывание у всех товаров, хи-хи. В то же время вручную описать эти поля никто не мешает, и в случае их заполненности автоматика не вмешивается. Делать автозаполнение для "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.

diff --git a/public_html/catalog/controller/common/header.php b/public_html/catalog/controller/common/header.php
index 79bf735..1904774 100644
--- a/public_html/catalog/controller/common/header.php
+++ b/public_html/catalog/controller/common/header.php
@@ -18,6 +18,15 @@ class ControllerCommonHeader extends Controller {
                $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 improvements:
+               // If keywords and description not set - use title here too
+               if( empty($this->data['keywords']) )
+               {
+                       $words = explode(' ', $this->data['title']);
+                       if(count($words) > 1) $this->data['keywords'] = implode(',', $words) . ',';
+                       $this->data['keywords'] .= $this->data['title'];
+               }
+
                $this->language->load('common/header');
 
                if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS']
Tags: