Seo для блога, meta "keywords" и meta "description"

+23
2.9K
Seo для блога, meta "keywords" и meta "description"
Назрела необходимость в продвижении страниц блогов и их SEO оптимизации.Без редактируемых meta name="keywords"и meta name="description", продвинуть страницу блога проблематично.Не будем вдаваться в дисскуссию по поводу, необходимости или бесполезности метатегов, они есть и будут, и необходимы.
www.ultersuite.ru/articles/meta/
Присутствие только тега META Name="description", как описание для страницы блога-дублирующем Название поста блога "Title", не позволяет в полной мере адаптировать страницу для SEO.
Сделав мета теги, с возможностью управления и редактирования — нашими данными, получим возможность оптимизировать страницу блога по нашему усмотрению.
Что будет редактироваться на страницах блога?
1-<META Name="keywords" Content="Ваши ключевые слова">
-определяет список ключевых слов, используемых на данной странице. Необходим для поисковых машин.
У каждого поста блога, будет свой список ключевых слов
2-<META Name="description" Content="Описание Вашей страницы">
-будет определять описание для страницы по нашему сценарию оптимизации.
У каждого поста блога, будет свое описание.

Исходный код страницы блога в браузере, блог после доработки: Иллюстрация

Создание блога, редактирование блога.Дополнительные поля Ключевые слова, Мета описание:
Иллюстрация


Скачать архив METATEG_BLOG.rar

Как установить?

Для ВЕРСИИ 1.8 + патч безопастности.

1-дополнения в базе данных:
Добавить в PhpMyAdmin дополнительные поля в таблицу cms_blog_posts
metakeys varchar(250)
metadesc varchar(250)

Или выбратьв PhpMyAdmin, в базе данных таблицу blog_posts, и выполнить по очереди SQL запрос


1-SQL запрос
  1. ALTER TABLE `cms_blog_posts` ADD `metakeys` VARCHAR(250) NOT NULL

2-SQL запрос
  1. ALTER TABLE `cms_blog_posts` ADD `metadesc` VARCHAR(250) NOT NULL
2-заменить файлами из архива METATEG_BLOG.rar, файлы на сервере.
Измененные файлы:
components/blogs/frontend.php
components/blogs/model.php
templates/_default_/components/com_blog_edit_post.tpl


Изменения в файле components/blogs/frontend.php

--------------components/blogs/frontend.php---------------------------------

////////// НОВЫЙ ПОСТ / РЕДАКТИРОВАНИЕ ПОСТА //

//Получаем параметры
  1. $title = $inCore->request('title', 'str');
  2. $content = $inCore->request('content', 'html');
  3. $feel = $inCore->request('feel', 'str', '');
  4. $music = $inCore->request('music', 'str', '');
  5. $cat_id = $inCore->request('cat_id', 'int');
  6. $allow_who = $inCore->request('allow_who', 'str', $blog['allow_who']);
  7. $tags = $inCore->request('tags', 'str', '');
  8. $comments = $inCore->request('comments', 'int', 1);
  9. $metakeys = $inCore->request('metakeys', 'str', '');
  10. $metadesc = $inCore->request('metadesc', 'str', '');
// Если есть ошибки, возвращаемся назад
  1. if($errors){
  2. $mod['content'] = $content;
  3. $mod['comments'] = $comments;
  4. $mod['feel'] = $feel;
  5. $mod['music'] = $music;
  6. $mod['title'] = $title;
  7. $mod['allow_who'] = $allow_who;
  8. $mod['metakeys'] = $metakeys;
  9. $mod['metadesc'] = $metadesc;
//добавляем новый пост...

  1. $post_id = $model->addPost(array(
  2. 'user_id'=>$user_id,
  3. 'cat_id'=>$cat_id,
  4. 'id'=>$id,
  5. 'title'=>$title,
  6. 'feel'=>$feel,
  7. 'music'=>$music,
  8. 'content'=>$content,
  9. 'allow_who'=>$allow_who,
  10. 'published'=>$published,
  11. 'tags'=>$tags,
  12. 'comments'=>$comments,
  13. 'metakeys'=>$metakeys,
  14. 'metadesc'=>$metadesc
  15.  
  16.  
  17. ));
//… или сохраняем пост после редактирования

  1. $model->updatePost($post_id, array(
  2. 'cat_id'=>$cat_id,
  3. 'title'=>$title,
  4. 'feel'=>$feel,
  5. 'music'=>$music,
  6. 'content'=>$content,
  7. 'allow_who'=>$allow_who,
  8. 'published'=>$published,
  9. 'tags'=>$tags,
  10. 'comments'=>$comments,
  11. 'metakeys'=>$metakeys,
  12. 'metadesc'=>$metadesc
  13. ),

// meta descriptions

  1. $inPage->setDescription($post['metadesc']);
// meta keywords

  1. $inPage->setKeywords($post['metakeys']);


Изменения в файле templates/_default_/components/com_blog_edit_post.tpl

---------templates/_default_/components/com_blog_edit_post.tpl---------


  1. <tr><td><strong>Ключевые слова</strong></td>
  2.  
  3. <td><input name="metakeys" class="text-input" type="text" id="metakeys" style="width:400px" value="{$mod.metakeys|escape:'html'}"/></td></tr>
  4.  
  5. <tr><td><strong>Мета описание</strong></td>
  6.  
  7. <td><input name="metadesc" class="text-input" type="text" id="metadesc" style="width:400px" value="{$mod.metadesc|escape:'html'}"/></td>
  8.  
  9. </tr>
Изменения в файле components/blogs/model.php

--------------components/blogs/model.php-----------
Функция public function updatePost

  1. $sql = "UPDATE cms_blog_posts
  2. SET cat_id={$item['cat_id']},
  3. title='{$item['title']}',
  4. feel='{$item['feel']}',
  5. music='{$item['music']}',
  6. content='{$item['content']}',
  7. content_html='{$item['content_html']}',
  8. allow_who='{$item['allow_who']}',
  9. edit_times = edit_times+1,
  10. edit_date = NOW(){$seo_sql},
  11. comments = '{$item['comments']}',
  12. metakeys = '{$item['metakeys']}',
  13. metadesc = '{$item['metadesc']}'
  14. WHERE id = $post_id";


Функция public function addPost


  1. $sql = "INSERT INTO cms_blog_posts (user_id, cat_id, blog_id, pubdate, title, feel, music,
  2. content, content_html, allow_who, edit_times, edit_date, published, seolink, comments,metakeys,metadesc)
  3. VALUES ('{$item['user_id']}', '{$item['cat_id']}', '{$item['id']}', NOW(),
  4. '{$item['title']}', '{$item['feel']}', '{$item['music']}', '{$item['content']}', '{$item['content_html']}',
  5. '{$item['allow_who']}', 0, NOW(), '{$item['published']}', '{$item['seolink']}', '{$item['comments']}',
  6. '{$item['metakeys']}', '{$item['metadesc']}')";

Жду Ваших отзывов и предложений.
+1
artlab artlab 13 лет назад #
Установил на 1.8
Работает)
Спасибо+++
+1
lezginka.ru lezginka.ru 13 лет назад #
+
0
PrazdNik PrazdNik 13 лет назад #
установил, работает) надо ключевые слова через запятую писать, а описание текстом?
0
oll oll 13 лет назад #
Верно.
0
PrazdNik PrazdNik 13 лет назад #
кстати, при редактировании поста пропадают ключевые слова и описание...
+1
oll oll 13 лет назад #
Действительно ,есть такое.Ближайщее время исправлю.
0
oll oll 13 лет назад #
Ключевые действительны только для статических страниц html блога ПРИМЕР /blogs/primer-bloga-admina/primer-zapisi-v-bloge.html,а для разделов блога ЛЕНТА ЗАПИСЕЙ.ВСЕ БЛОГИ. /blogs, blogs/all.html,ключевых нет."Лента блогов" динамически обновляется,"Все блоги" тоже не статические.Пока нет идей ,как реализовать,и необходимо ли это.
0
PrazdNik PrazdNik 13 лет назад #
кстати, при редактировании поста пропадают ключевые слова и описание..
более того...запись не редактируется)
0
oll oll 13 лет назад #
PrazdNik -http://talanty.pp.ua/blogs/primer-bloga-admina/primer-zapisi-v-bloge.htmlвот смотри по факту.Там есть ссылка на демо базу ,с установленными расширениями SEO.ВСЕ прекрасно работает,причина в установке файлов,или дополнительных таблицах базы.
0
oll oll 13 лет назад #
Могу дать тебе права админа для теста.
0
seyfer seyfer 13 лет назад #
Поставил через патч 3 в 1, все работает кроме блогов.
Олег Васильевич я Олег Васильевич я 13 лет назад #
Комментарий удален
0
Таня Таня 12 лет назад #
Подскажите пожалуйста, как сделать заполнение тегов, кейвордов и метаописание обязательным, как в случае с заголовком записи?
0
Дмитрий Дмитрий 12 лет назад #
Для 1.9 работает?
0
Helg Helg 12 лет назад #
Подскажите кто-нибудь ставил на 1.9. Будет работать или править надо.
0
AlexTWinner AlexTWinner 11 лет назад #
для 1.10.1 как я понимаю не актуально? стоит лиждать обновлений?
Олег Васильевич я Олег Васильевич я 11 лет назад #
Комментарий удален

Еще от автора

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.