Ранее на страницах блока была серия статей о написании своего компонента для популярной среди непрофессиональных разработчиков системы Joomla. Времени прошло достаточно, и вот ваш компонент уже оброс данными. Данных много, ведь помимо прочего мы еще подключили к компонентe парсер, для быстрого наполнения сайта. Однако поисковики очень не охотно индексируют ваш контент.
Информации в сети так много и обновляется она так часто, что поисковые системы просто не успевают проверять, обновилась ли ваша главная страница, или того хуже вложенная. В результате информация на сайте есть, но поисковик про нее узнает в последнюю очередь.
Для таких случаев придумали sitemap. Это такая xml в которой описаны все ссылки сайта, которые необходимо проиндексировать, и у каждой есть поле, в котором написано, когда контент по этой ссылке последний раз обновлялся.
Поисковику достаточно раз в день проверять этот файл индексировать лишь измененные страницы.
Среди joomla компонентов, которые создают sitemap, одним из лидеров дефакто является xmap. Сам xmap выводит в sitemap только ссылки размещенные в меню. Это не совсем удобно, когда мы хотим, чтобы в sitemap появились ссылки из нашего компонента. На помощь приходят плагины xmap. У этого компонента в загашнике есть несколько плагинов для популярных компонентов (k2,weblinks и т.д.) есть плагин и для стандартных материалов joomla.
Значит нужно написать плагин для xmap, который будет передавать компоненту все нужные нам ссылки. Вам потребуется всего два файла.
com_{component_name}.xml com_{component_name}.php
Содержимое xml файла такое
<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="xmap" version="1.6" method="upgrade"> <name>Xmap - JQuey Plugins</name> <author>Chupurnov Valeriy</author> <creationDate>26/05/2014</creationDate> <copyright>MIT</copyright> <authorEmail>chupurnov@gmail.com</authorEmail> <authorUrl>xdsoft.net</authorUrl> <version>1.0.1</version> <description>com_jquery_plugins</description> <files> <filename plugin="com_jquery_plugins">com_jquery_plugins.php</filename> </files> </extension>
Это чисто декларативный файл и нужен он при установке. Конечно вы можете добавить туда настроек. Но это уже другая история. Вообще, установка Joomla запчастей дело не хитрое, но иногда все может зависеть от настроек хостера. К примеру у некоторых хостеров может быть выключена стандартная библиотека для работы с архивами. Хороший хостинг предлагает bitte.net.ua. У них никаких неприятных сюрпризов с установкой Joomla компонентов не будет.
Файл php
<?php defined( '_JEXEC' ) or die( 'Restricted access' ); class xmap_com_jquery_plugins { static function prepareMenuItem($node, &$params) { $node->expandible = false; } static function getTree($xmap, $parent, &$params) { $params['cat_priority'] = 0.5; $params['cat_changefreq'] = 'weekly'; $params['link_priority'] = 0.5; $params['link_changefreq'] = 'weekly'; $items = array(); // в переменную $items нужно получить все необходимые элементы foreach ($items as $item) { $node = new stdclass; $node->id = $parent->id; $node->uid = $item['id']; $node->name = htmlspecialchars_decode($item['name']); $node->link = 'http://xdsoft.net/jquery-plugins/'.cpu($item['link']); $node->priority = $params['link_priority']; $node->changefreq = $params['link_changefreq']; $node->expandible = false; $node->modified = $item['lastupdate']; $xmap->printNode($node); } } }
Вам нужно будет самостоятельно заполнить переменную $items, массивом элементов.
Для верной sitemap необходимо, чтобы в $node->link был полный путь. Т.е. нужно прописать все, вплоть до домена.
В $node->modified последняя дата редактирования данного элемента в формате UNIXTIME.
Далее архивируем оба файла в zip архив и устанавливаем в joomla. После этого, необходимо активировать плагин в панели xmap или в менеджере плагинов (что на деле одно и тоже).
После этого идем по ссылке созданной карты и видим кучу новых ссылок.
Желаю удачи.