SEO блога для ICMS v 1.10.3

+36
2.47K
Данный хак позволяет производить мета описание страниц блога. Иллюстрация

Описание можно вводить и вручную — при создании или редактировании записи (лучший вариант).
Если заполнение поля "Описание" не производить, то автоматически подхватывается
и выводится в качестве мета описании страницы, текст записи.
Удобно использовать для уже готовых блогов где нет метаописания.
Установив хак, описание страниц будет выполнено автоматически, на основе 250
(или указанное вами количество) символов текста записи в блоге.
Скачать SEO_blogs для версии ICMS 1.10.3

Для таблицы блога cms_blog_posts необходимо создать поле описания,
выполнив SQL запрос
  1. ALTER TABLE `cms_blog_posts` ADD `metadesc` VARCHAR(250) NOT NULL
Небольшие изменения в шаблоне вывода редактирования записи com_blog_edit_post_tpl
в 71 строке, после поля ввода тегов, добавить поле ввода описания:
  1.  
  2. {*seoupdate*}
  3. <tr>
  4. <td><strong>{$LANG.META_DESC}</strong></td>
  5. <td>
  6. <input name="metadesc" class="text-input" type="text" id="metadesc" style="width:400px" value="$mod.metadesc|escape:'html'}"/>
  7. </td>
  8. </tr>
В языковый файл компонента languages/ru/components/blogs.php, добавить одну константу
  1. $_LANG['META_DESC'] ='Описание:';
Файл components/blogs/frontend.php
В части после комментарий // ПРОСМОТР ПОСТА // после участка кода:
  1. $inPage->setTitle($post['title']);
  2. $inPage->addPathway($post['title']);
удаляем строку 782 кода:
  1. $inPage->setDescription($post['title']);
на это место добавляем фрагмент кода:
  1. if(!$post['metadesc']){
  2. $string = mb_substr($post['content_html'], 0, 250); //250 количество символов
  3. $position = mb_strrpos($string, ' ');
  4. $inPage->setDescription(mb_substr($string, 0, $position));
  5. }
  6. else{
  7. $inPage->setDescription($post['metadesc']);
  8. }
А также в части комментарий // НОВЫЙ ПОСТ / РЕДАКТИРОВАНИЕ ПОСТА //
и коментарий ниже //Получаем параметры строка 545 :
добавляем строку
  1. $mod['metadesc'] = cmsCore::request('metadesc', 'str', '');
PS//Самое главное, берем на заметку, что любая автоматизация просто немного экономит время. Но это не панацея для правильного продвижения сайта.
+1
picaboo picaboo 10 лет назад #
Еще бы урлы чпушные сделать для клубов-доски-альбомов...раз уж так хорошо пошло :)
0
Андрей Андрей 9 лет назад #
именно. там везде это. я местами менял сам
0
Grivit Grivit 10 лет назад #
Супер, только сегодня проверил, как формируется дискрипшн в блогах, а тут сразу решение. Списибо joke
+1
Петр Петр 10 лет назад #
все конечно хорошо, но мне кажется надо было сразу микроразметку тоже добавлять :)
0
Kantona Kantona 10 лет назад #
поддерживаю! Но и за это автору большое спасибо!!!
+1
RBJ RBJ 10 лет назад #
Чтобы в блогах клубов работало, надо идентичные операции провести в \components\clubs\club_blogs.php (кроме первых трёх пунктов)
0
Thanatognozija Thanatognozija 10 лет назад #
Если я правильно понял, то выводится только описание, вот этой штучкой: "$mod['metadesc'] = cmsCore::request('metadesc', 'str', '');", но не выводятся ключевые слова?
0
Erwin Erwin 10 лет назад #
А у меня почему то в строке описание:
Код PHP:
  1. $mod.metadesc|escape:'html'}
А не пустая строка
0
Андрей Андрей 10 лет назад #
такая же ерунда получилась, ставил на абсолютно новый двиг
0
Андрей Андрей 10 лет назад #
это когда делал ручками... когда залил архив, все стало нормально
0
Александр Александр 8 лет назад #
такая же проблема
0
Александр Александр 8 лет назад #
Код PHP:
  1. <div class="cm_editor"><textarea rows="15" class="ajax_autogrowarea" name="content" id="message">{$mod.content|escape:'html'}</textarea></div>
все из за этой строчки
а в архиве, такое.
Код PHP:
  1. <div class="cm_editor"><textarea class="ajax_autogrowarea" name="content" id="message">{$mod.content|escape:'html'}</textarea></div>
заменил заработало. Спасибо Автору большое, только теги все равно не теже, ключевые слова, как их сделать, чтоб в SEO были ключевые слова от тегов к блогу(записи)
0
Александр Александр 8 лет назад #
у меня идея, а можно, чтоб например seo описание брал из заголовка записи, seo keywords которые берутся из главной настройки сайта, лучше брать из тегов к записи блога, так будет намного проще и правильней, так как никто не будет из пользователей прям так кропотливо заполнять до каждой формы, многие даже ключевые слова не хотят заполнять, о чем еще больше говорить)))
0
leko leko 10 лет назад #
Если полу после "описания" уезжает (а у меня получилось что уехало) можно поправить так:

{*seoupdate*}
<tr>
<td valign="top">
<strong>{$LANG.META_DESC}</strong>
</td>
</tr>
<tr>
<td><input name="metadesc" class="text-input" type="text" id="metadesc" value="{$mod.metadesc|escape:'html'}"/><br /></td>

</tr>
0
leko leko 10 лет назад #
"поле после описания"
0
Петрмаг Петрмаг 9 лет назад #
Кто применяет на практике как в действии?
0
Петрмаг Петрмаг 9 лет назад #
Поставил на версию 1.10.4 вроде все стало путем попирования и замены файлов,но почему-то при запросы в базу выдает,что вроде дубликат? скажите так и должно быть? залил архив

#1060 - Duplicate column name 'metadesc'
ALTER TABLE `cms_blog_posts` ADD `metadesc` VARCHAR( 250 ) NOT NULL
0
Stecc Stecc 9 лет назад #
Кто нибудь устанавливал на 1.10.4? будет ли работать?

Еще от автора

SEO FAQ ICMS v 1.10.4
Полнофункциональное SEO решение для компонента "FAQ" ICMS v1.10.4
SEO board ICMS v 1.10.4
Полнофункциональное SEO решение для компонента "Доска обьявлений" ICMS v1.10.4
SEOBOX  сборка ICMS 1.10.4
Начата реализация SEO дистрибутива системы ICMS версии 1.10.4
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.