Компонент Карта Сайта v1.1

Опубликовано:
Рубрика: Компоненты
Редактировалось: 8 раз — последний сегодня в 11:38
Просмотров: 3487
+4
Голосов: 4

Вышла версия 1.3 почитать информацию и скачать тут:

http://cmsinstant.ru/catalog/item24.html

Вот решил написать свой компонент Карта Сайта, для генерации карты по стандарту

http://www.sitemaps.org/schemas/sitemap/0.9

, так же добавил генерацию карты для компонента InstanVideo от Fuze по стандарту

http://www.google.com/schemas/sitemap-video/1.0

. Этот компонент ускорит индексацию вашего сайта поисковыми роботами.

ВНИМАНИЕ КАРТА ОБНОВИЛАСЬ ДО ВЕРСИИ 1.1 от 18.11.2011

Какие изменения:

1. Исправлены небольшие ошибки в коде;

2. Добавлена генерация отдельной карты Видео для Яндекса.

Ссылку в конце поста обновил скачиваем распаковываем и обновляем в админке.

Вот список компонентов для которых включена генерация карты:

1.

Каталог Статей;

2.

Блоги;

3.

Доска Объявлений;

4.

Универсальный Каталог;

5.

Фаг;

6.

Форум;

7.

Пользователи;

8.

Фотоальбомы;

9.

InstantVideo (Как по стандартам гугла так и яндекса с версии 1.1);

10.

InstantMusic

Для того чтобы карта сайта корректно работала с

InstantVideo

нужно выполнить следующий хак:

1. В файле

components/video/router.php

добавьте строчку:

[/s]

Код PHP:
  1. $routes[] = array(
  2. '_uri' => '/^video\/vid=([0-9]+)$/i',
  3. 'do' => 'vid_pley',
  4. 1 => 'mov_id'
  5. );

2. В файле

components/video/frontend.php

после:

Код PHP:
  1. // Заголовок страницы
  2. $inPage->setTitle($_LANG['VIDEO']);

вставьте это:

Код PHP:
  1. if ($do == vid_pley){
  2. $mov_id = $inCore->request('mov_id', 'int');
  3. $sql = "SELECT temp_file FROM cms_video_movie WHERE id = '{$mov_id}' AND provider = 'youtube'";
  4. $result = $inDB->query($sql);
  5. if (!$inDB->num_rows($result)) {
  6. cmsCore::error404();
  7. } else {
  8. $item = $inDB->fetch_assoc($result);
  9. $link = '/components/video/players/jwplayer/player.swf?file='.$item['temp_file'];
  10. $inCore->redirect($link); exit;
  11. }
  12. }

Этот хак полностью легален ))) он всего лишь добавляет для компонента видео возможность прямо проигрывать видео с ютуба перейдя по ссылке вида

http://ВАШ_САЙТ/video/vid=3667

Инструкция по установке:

1. Скачиваем архив;

2. Распаковываем архив в корень своего сайта;

3. Устанавливаем на папку sitemaps и файл sitemap.xml находящиеся в корне сайта права 777;

4. Прописываем в robots.txt строчки такого вида:

Код PHP:
  1. User-Agent: Googlebot
  2. Allow: /
  3. Sitemap: http://dagstudent.ru/google_sitemap.xml
  4.  
  5. User-agent: Yandex
  6. Allow: /
  7. Sitemap: http://dagstudent.ru/yandex_sitemap.xml

Пример заполнения файла robots.txt можете посмотреть здесь

http://dagstudent.ru/robots.txt

;

5. Зайти в админку сайта - Компоненты - Установка компонентов - Установить компонент Карта Сайта;

6. После установки зайти в настройки компонента Карта Сайта и выставить для каких компонентов составлять карту;

7. Перейти по ссылке http://ВАШ_САЙТ/sitemap/

Ну вот и все карта сгенерирована!!!

Время от времени посещайте страницу http://ВАШ_САЙТ/sitemap/ и ваша карта будет обновляться.

Вышла версия 1.3 почитать информацию и скачать тут:

http://cmsinstant.ru/catalog/item24.html

Комментарии (19)
Letsgo #
: 0
Отличная карта сайта!
Letsgo #
: 0
Чем эта карта лучше для сайтов Instant CMS.  Лучше особенно для тех, у кого стоит видео, так как сообщает Гуглю о видео на сайте.
DagStudent #
: +1
Карту обновил до версии 1.1 добавлена генерация карты для яндекса и исправлены мелкие ошибки в коде.
runmy #
: 0
"Перейти по ссылке http://ВАШ_САЙТ/sitemap/" думаю должно быть "Перейти по ссылке http://ВАШ_САЙТ/sitemaps/" может не и прав!
DagStudent #
: 0
runmy:
"Перейти по ссылке http://ВАШ_САЙТ/sitemap/" думаю должно быть "Перейти по ссылке http://ВАШ_САЙТ/sitemaps/" может не и прав!
Не может а точно не правы!  ne  .
runmy #
: 0
Второй день пытаюсь поставить этот модуль )). Вроде все сделал согласно иструкции, но при переходе по ссылке http://ВАШ_САЙТ/sitemap/ выдает ошибку - нет такой страници. )
Letsgo #
: 0
Надо не переходить на папку а на компонент выставить переход в меню.
Polder #
: 0
На 1.9 работает?
Не могу понять, что я делаю не так.?! :(
XML внутри sitemaps не создаются.

на sitemap.xml выставил права 777 (файл пустой)
/sitemaps/ тоже права 777

В компонентах включил и в настройках включил для каких копонентов составлять карту..
В меню содал пункт на компонент Карта сайта.

При переходе в меню открывается пустая страница
This XML file does not appear to have any style information associated with it. The document tree is shown below.
Letsgo #
: 0
там нету файла sitemaps вообще в карте. Есть два файла генерирующие разные карты, одна для Гугла, вторая карта сайта для Яндекса.
Polder #
: 0
/sitemaps/ с правами 777 - имелось ввиду папка.
Letsgo #
: 0
в корне 2 файла с правами 777 и папка sitemaps также  права.
Polder #
: 0
Блин, надо было старый sitemap.xml удалить. Заработало, спасибох
Letsgo #
: +1
Ну вот и славно) хорошо когда все получается)
runmy #
: 0
Карта сайта не работает  если генерировать для InstantVideo, хотя на другом сайте карта работает замечательно.
Gorec #
: 0
Как сделать чтобы подпункты сворачивались?
ph3no #
: 0
http://ВАШ_САЙТ/video/vid=3667

У меня после вставок кода ссылки такого вида не срабатывают. Может быть дело в крыжике ЧПУ в настройках компонента инстантвидео.

Боюсь пробовать переключиться обратно :)
DagStudent #
: +1
блин я кажеться был немного не выспавшийся когда писал пост или когда его редактировал но не могу понять откуда взялась не та строчка кода в роутере компонента надо было добавить это:
Код PHP:
  1. $routes[] = array(
  2. '_uri' => '/^video\/vid=([0-9]+)$/i',
  3. 'do' => 'vid_pley',
  4. 1 => 'mov_id'
  5. );
в блоге исправил.
ph3no #
: 0
Теперь все отлично. Спасибо.

Правда сервер во время генерации немного притормаживает -- пожадничал я с импортом роликов, xml`ев почти на 300 мегабайт :)
DagStudent #
: 0
Вышла версия 1.3 почитать информацию и скачать тут: http://cmsinstant.ru/catalog/item24.html

Голосуем

Самый нужный компонент