Ранее на страницах блока была серия статей о написании своего компонента для популярной среди непрофессиональных разработчиков системы Joomla. Времени прошло достаточно, и вот ваш компонент уже оброс данными. Данных много, ведь помимо прочего мы еще подключили к компонентe парсер, для быстрого наполнения сайта. Однако поисковики очень не охотно индексируют ваш контент.
Информации в сети так много и обновляется она так часто, что поисковые системы просто не успевают проверять, обновилась ли ваша главная страница, или того хуже вложенная. В результате информация на сайте есть, но поисковик про нее узнает в последнюю очередь.
Для таких случаев придумали sitemap. Это такая xml в которой описаны все ссылки сайта, которые необходимо проиндексировать, и у каждой есть поле, в котором написано, когда контент по этой ссылке последний раз обновлялся.
Поисковику достаточно раз в день проверять этот файл индексировать лишь измененные страницы.
Среди joomla компонентов, которые создают sitemap, одним из лидеров дефакто является xmap. Сам xmap выводит в sitemap только ссылки размещенные в меню. Это не совсем удобно, когда мы хотим, чтобы в sitemap появились ссылки из нашего компонента. На помощь приходят плагины xmap. У этого компонента в загашнике есть несколько плагинов для популярных компонентов (k2,weblinks и т.д.) есть плагин и для стандартных материалов joomla.
Значит нужно написать плагин для xmap, который будет передавать компоненту все нужные нам ссылки. Вам потребуется всего два файла.
1 2 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?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 или в менеджере плагинов (что на деле одно и тоже).
После этого идем по ссылке созданной карты и видим кучу новых ссылок.
Желаю удачи.