Делаем метаописания к категории K2
Совсем недавно начал использовать компонент K2 для Joomla. Компонент в принципе неплохой, но в нем есть небольшая недоработка. Дело в том, что при создании категории нет возможности добавить свое метаописание к категории K2. То есть все категории на сайте были с мета тегами description и keywords с главной страницы, что не есть хорошо для SEO.

И тут я начал копать. В Рунете я ответа не нашел. Пошел в буржунет. Копал, копал и, знаете ли, накопал. На одном профильном форуме K2 я нашел выход из этой ситуации. Нужно сделать пару небольших изменений в базе данных MySQL и системных файлов K2. Итак, начнем.
Идем в панельку phpMyAdmin нашей базы данных MySQL и ищем там таблицу jos_k2_categories. Переходим на вкладку SQL и делаем два запроса.

Раз:
ALTER TABLE `jos_k2_categories` ADD `metadesc` text NOT NULL
И два:
ALTER TABLE `jos_k2_categories` ADD `metakey` text NOT NULL
Потом подключаемся по FTP и находим и редактируем файл, который находится здесь -administrator/components/com_k2/tables/k2category.php. В этом файле нам надо добавить всего 3 строки после строки 28:
var $metakey = null;
var $metadesc = null;
var $metadata = null;
Получиться у нас следующее:

Теперь переходим к редактированию следующего файла, который находится здесь components/com_k2/templates/default/category.php. Меняем код:
// no direct access
defined('_JEXEC') or die('Restricted access');
Вот на этот код:
// no direct access
defined('_JEXEC') or die('Restricted access');
/* Add AtLeast AutoMetadata - Hack */
$mainframe->prependMetaTag( "keywords", substr(strip_tags($this->category->metakey ), 0, 255) );
$mainframe->prependMetaTag( "description", substr(strip_tags($this->category->metadesc ), 0, 255) );
Вот что было:

Вот что должно получиться:

После всего этого приступаем к редактированию последнего файла - administrator/components/com_k2/views/category/tmpl/default.php. Чтобы не засовывать в пост огромный код, я просто создал два txt файла, чтобы показать вам. Вот файл по-умолчанию, а вот что должно получиться. Просто скопируйте код из этого файла и вставьте сюда administrator/components/com_k2/views/category/tmpl/default.php.
После всех вышеперечисленных манипуляций появилась возможность добавлять метаописания description и keywords к категории K2 прямо из админки при редактировании категории.

Вуаля! После проделанной работы не забываем во всех категориях K2 прописать метаописания.
Всем мир!
Для продвижения своих услуг в интернет воспользуйтесь программой на сайте boardmaster.ru по рассылке объявлений на тысячи досок. Говорят, что это лучшая целевая реклама...



Комментарии
Может чего не так сделал?
Буду признателен за помощь так как Гугл ругается на повторяющиеся мета описания
Так что если у кого то не получилось покопайтесь в шаблоне.
А можно подробнее, какие функции переписывал?
GK MyStore
А вот и директория которая переписывает некоторые правила
\templates\gk_m ystore\html\com _k2\templates\d efault.
/com_k2/templates/default/category.php.
а вот этот:
/templates/gk_mystore/html/com_k2/templates/default/category.php.
И все работает.
Короче если шаблон навороченный смотри что он переписывает. Мне помогло )))
А naskolumbia СПАСИБО за единственную тему в рунете по решению этой проблемы!)
TableK2Category ::store failed - Unknown column 'metadesc' in 'field list' SQL=UPDATE `jos_k2_categor ies` SET `name`='Ночные клубы',`alias`='nightclubs',`description`='',`parent`='2',`extraFieldsGr oup`='0',`published`='1',`access`='0',`params`='inheritFrom=0\ntheme=\nnum_leading_i tems=100\nnum_leading _columns=1\nleadingImgSiz e=Large\nnum_prim ary_items=0\nnum_primary_ columns=0\nprimaryImgSi ze=Medium\nnum_sec ondary_items=0\nnum_secondar y_columns=0\nsecondaryImg Size=Small\nnum_link s=0\nnum_links_co lumns=0\nlinksImgSize =XSmall\ncatCata logMode=1\ncatFeaturedIt ems=1\ncatOrdering=order\ncatPagin ation=2\ncatPaginatio nResults=1\ncatTitle=0\ncatTitleItem Counter=0\ncatDescripti on=0\ncatImage=0\ncatFeedLink=0\nfeedLink=0\nsubCategorie s=0\nsubCatColumn s=2\nsubCatOrderi ng=order\nsubCatTi tle=1\nsubCatTitleIt emCounter=1\nsubCatDescrip tion=1\nsubCatImage=1\nitemImageXS=\nitemImageS=\nitemImageM=\nitemImageL=\nitemImageXL=\ncatItemTitle=1\ncatItemTitleL inked=1\ncatItemFeatur edNotice=0\ncatItemAutho r=0\ncatItemDateC reated=0\ncatItemRatin g=1\ncatItemImage=1\ncatItemIntroT ext=1\ncatItemIntroT extWordLimit=\ncatItemExtraF ields=0\ncatItemHits=0\ncatItemCateg ory=0\ncatItemTags=0\ncatItemAttac hments=0\ncatItemAttac hmentsCounter=0\ncatItemVideo =0\ncatItemVideo Width=\ncatItemVideoH eight=\ncatItemVideoA utoPlay=0\ncatItemImage Gallery=0\ncatItemDateM odified=0\ncatItemReadM ore=0\ncatItemComme ntsAnchor=0\ncatItemK2Plu gins=1\nitemDateCreat ed=0\nitemTitle=1\nitemFeaturedN otice=1\nitemAuthor=0\nitemFontResi zer=0\nitemPrintBut ton=0\nitemEmailBut ton=0\nitemSocialBu tton=1\nitemVideoAnch or=1\nitemImageGall eryAnchor=0\nitemComments Anchor=0\nitemRating=1\nitemImage=1\nitemImgSize=Large\nitemImag eMainCaption=0\nitemImageMai nCredits=0\nitemIntroTex t=1\nitemFullText=1\nitemExtraFiel ds=1\nitemDateModif ied=0\nitemHits=0\nitemTwitterL ink=1\nitemCategory=1\nitemTags=1\nitemShareLink s=1\nitemAttachmen ts=0\nitemAttachme n tsCounter=0\nitemRelated=0\nitemRelatedL imit=5\nitemVideo=1\nitemVideoWidt h=\nitemVideoHeig ht=\nitemVideoAuto Play=0\nitemVideoCap tion=1\nitemVideoCred its=1\nitemImageGall ery=1\nitemNavigatio n=1\nitemComments=1\nitemAuthorBlo ck=0\nitemAuthorIm age=0\nitemAuthorDe scription=0\nitemAuthorUR L=0\nitemAuthorEm ail=0\nitemAuthorLa test=0\nitemAuthorLa testLimit=5\nitemK2Plugin s=1\n\n',`metadesc`='657657',`metakey`='65765765' WHERE id='3'
substr(strip_ta gs($this->category->metakey ), 0, 255) );
$mainframe->prependMetaTag( "description", substr(strip_ta gs($this->category->metadesc ), 0, 255) );
255 символов, если надо больше поменяй 255 на большее число. Но в двух файлах и в шаблоне и компоненте.