Поиск

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

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

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

СтатьиСтатьиОбновления ReloadCMS → Окончательный вариант Google sitemap для ReloadCMS-2011

Новый Google sitemap.

png



Google sitemap для ReloadCMS доделан окончательно и кардинально меняться больше не будет. Это значит, что все дополнительные включения из модулей, которые будут прикручиваться к нему, должны писаться в составе других модулей, а к карте сайта добавляться в папку admin/modules/google_sitemap в виде отдельных файлов.



Но обо всём по порядку.

Выдержки из ReadMe.txt (входит в комплект), добавлено форматирование и скриншоты:





Установка

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

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

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



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

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

2. Добавлено добавление вручную любого количества адресов в сайтмап построчно.

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

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

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

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

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

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

5. Результат посылки в поисковые машины увидите сразу, в виде массива

[site] - Домен куда засылался sitemap.xml.gz

[fullsite] - полный адрес куда слали

[http_code] - код ответа по протоколу

[message] - подробный ответ сервера

png

6. Один раз введённые настройки для каждого из модулей сохраняются (раньше нет).

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

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

png





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

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

- имя модуля в переменной $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 18.04.2011 - реализовано добавление адресов вручную

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

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



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

Для простоты добавления новых адресов в карту сайта



Ссылка на закачку
Дата 2011-04-19 15:30:51

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

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

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