Чем сделать карту сайта в XML для Joomshopping?

Тема в разделе "JoomShopping", создана пользователем OlegM, 03.10.2013.

  1. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Вопрос - чем сгенерировать карту сайта XML для Joomshopping 3.15.x (Joomla 2.5)?

    Т.к. в магазине несколько тысяч товаров, то плагин Xmap не подходит - Xmap генерирует XML на лету и получается слишком долго - Яндекс не принимает карту по таймауту. Хоть сам магазин работает быстро и хостинг вроде не тормозной, но слишком долго генерируется карта.

    Идеальный вариант - генерация карты по расписанию с записью в файл, возможно даже создание сжатого файла. B)

    Кто что использует в Joomla для генерации больших карт?
     
  2.  
  3. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 037
    Симпатии:
    518
    Пол:
    Мужской
    С Виртом 1.9 сработал Xenu для Яндекса.
    п.с.
    А вообще ссылка открывается , созданная в Xmap ? option=com_xmap&view=xml&tmpl=component&id=1
     
    Последнее редактирование: 04.10.2013
  4. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Конечно, только долго - 7 секунд генерируется XML с 2300 URL. Яндекс такую не принимает - говорит "недоступна".
     
  5. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 037
    Симпатии:
    518
    Пол:
    Мужской
    Ну у клиента и в браузере не открывалась. Потом нашел хак,и открылась в браузере.
    Заменил index2.php на index.php
     
  6. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    Решил с помощью добрых людей и Cron:
    В корне сайта сделал файл generatesitemap.php с содержимым:
    Код (PHP):
    1. <?php
    2. $url="http://".$_SERVER['HTTP_HOST']."/index.php?option=com_xmap&id=1&view=xml&format=html";
    3. $xml_code = file_get_contents($url);
    4.  
    5. if (file_put_contents($_SERVER['DOCUMENT_ROOT'].'/sitemap.xml', $xml_code))
    6.    {
    7.       echo "<h1>XML sitemap successfully updated</h1>";
    8.       $xml_code = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/sitemap.xml');
    9.       $xml_code = str_replace ("</url>", "</url><br>", $xml_code);
    10.       echo $xml_code;
    11.    }
    12.       else echo "<h1>Error!</h1>";
    13. ?>

    index.php?option=com_xmap&id=1&view=xml&format=html можно заменить на свой URL из настроек Xmap.

    В cron добавил задачу с ежедневным выполнением
    Код (CODE):
    1. wget http://мой_домен/generatesitemap.php


    Фактически карта генерируется тем же Xmap, но записывается в файл sitemap.xml. Т.е. сейчас Яндекс будет запрашивать заранее сгенерированный и физически сущестующий файл sitemap.xml

    P.S.: по идее можно сделать задание на запрос URL с записью в XML-файл без участия php-файла.
     

Поделиться этой страницей

Загрузка...