Поиск

Привет, Гость

Войти
Идентификация
Я забыл свой пароль
Регистрация

Чтобы не заходить на нужный сайт каждый день, достаточно подписаться на RSS-канал.

СтатьиНовостиПоследние новости → Новый Google sitemap для ReloadCMS-2011

Новый Google sitemap.

png



Установка

1. Удалить старый sitemap (если есть).

2. Распаковать в корень ReloadCMS.

3. Зайти в админку и настроить.



Принцип работы и изменения.

1. Формирование сайтмапа производится за счёт GPL-библиотеки (авторы PaweA‚ Antczak <pawel(гав)antczak.org>, немного подправлена и допилена под нужды). Сама библиотека находится в библиотеке администратора.

2. Немного допилен интерфейс. Добавлен вывод времени исполнения скрипта и используемой памяти.

Было особенно актуально в одном магазине.

3. Появилась новая кнопка - "Послать поисковым машинам sitemap.xml.gz"

Т.е. готовый файл в случае успеха посылается в yahoo, google, ask, bing.

Посылка файла использует библиотеку cUrl, которая кстати обычно отсутствует на Денвере.

Если библиотеки нет, я добавил в класс возможность отсылки в ручном режиме.

4. Один раз введённые настройки сохраняются (раньше нет).

5. Модули для формирования сайтмапа инклудятся из папки в админке admin/modules/google_sitemap

Кроме самого sitemap.php и module.php, естественно.



В связи с этим - как добавить новый модуль, например, для добавки одного адреса?

Модуль должен возвращать -

- имя модуля в переменной $name_module;

- добавлять в сайтмап хотя бы 1 адрес (а иначе зачем он?).



Вот структура простейшего модуля
Код:
<? //example easy_module.php

$name_module = 'Эээ какая-то фигня, но нужная:)';

$sitemap -> addUrl($directory . 'tools/phpinfo.php', rcms_format_time('Y-m-d', time()),    $chfr,    $prio);

?>
Используемые переменные:

$name_module - имя отображаемое в админке;

$directory - переменная содержащая полный путь установки ReloadCMS

$sitemap -> addUrl(url,time,changefreq,priority) - добавить_адрес(адрес,время,частота_изменения,приоритет)

последние два параметра - changefreq, priority - необязательны.

Переменные $chfr, $prio используются для передачи в подключаемый модуль настроек пользователя из админки, поэтому их лучше так и оставить. Но если Вы хотите чтобы настройки (частота_изменения, приоритет) не изменялись, можете задать им статические значения.



Пока мной добавлены модули для включения Главной страницы, Статей и Форума - как самые важные.

В формировании статей исправлена ошибка, выскакивающая при сканировании пустой категории статей.

В форуме переформированы времена изменений так, что временем изменения темы будет время последнего ответа.

Позже добавим галерею и т.д.



Для чего всё это делалось.

Конечно чтобы получить много лулзов и сотни нефти, но не только.

Теперь можно включать модулем дополнительные статические страницы, даже не входящие явно в движок!

И писать новые модули, требующие включения в сайтмап, тоже легко - не надо заморачиваться, настройки подхватятся и сохранятся автоматически. И удалять модуль из системы легко - удалил файл, и всё!

Теперь можно легко и быстро наваять сайтмап для гостевой или допустим магазина. Или блин форума в подпапке - полная свобода действий!



//upd 19.04.2011 окончательный вариант - http://from...=4&a=14 ссылка на закачку обновлена

Ссылка на закачку
Дата 2011-04-18 14:09:54

Комментировать

Вы не залогинены!

Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.