Последние темы


Авто генератор большой карты сайта напрямую из базы СРОЧНО

  • ЧТО ЕСТЬ: Стоит Modx Revo + Shopkeeper
    Каждый ресурс это товар. На данный момент всего 51198 ресурсов. 70% архивные товары, но они должны все равно висеть, так как в любой момент что то может появится в наличии и поэтому они не удаляются и не отключается их публикация. Просто меняется статус на странице товара и он не показывается в общем каталоге, но его можно найти в архиве товаров.

    ПРОБЛЕМА: В общем нужно защититься от ботов яндекса и гугла, так как они валят всю нагрузку на сайт в 4-5 раза в течение длительного времени, пока они бегают по всему сайту. Стандартные приложения modx или сторонние сервисы не позволяют сгенерировать карту сайта, так как не все страницы генерируется и создается большая нагрузка.

    ЧТО НУЖНО: Нужна обычная карта сайта в xml, скорее всего разделенная на части, например по 40 тыс единиц в каждом, и запускать автоматически ее генерирование например раз в неделю. Соответственно нужно создать sitemap.xml со ссылкой на две основных карты сайта где все и содержится.
    Не включать только в список не опубликованные ресурсы.

    Делов то на пару часов.

  • Участник @medvedgoff написал в Авто генератор большой карты сайта напрямую из базы СРОЧНО:

    ЧТО НУЖНО: Нужна обычная карта сайта в xml, скорее всего разделенная на части, например по 40 тыс единиц в каждом, и запускать автоматически ее

    В чем проблема сделать несколько карт и указать границы выгрузки?
    Не знаю есть ли в getProducts limit и offset, но у pdoSitemap точно есть.

    Дальше в robots укажите:
    Sitemap: https://site/map.xml
    Sitemap: https://site/map2.xml

    или одну карту, но через протокол

    https://www.sitemaps.org/ru/protocol.html#index

  • @slaad pdositemap и прочие пробовал, просто виснет при генерации sitemap или вообще не грузит. Нужно генерировать отдельно от modx напрямую из базы. Так как сами понимаете разом открыть 50 тыс ресурсов в modx жесть.
    А тут нужно что бы был скрипт который сгенерировал и сохранил в независимый файл xml карту сайта, что бы при открытии уже открывалась сохраненная версия. По крону хорошо бы раз в неделю обновлять его.

  • @medvedgoff
    Сразу видно не читатель))

    Я ведь не предлагаю все 50 к тащить в один заход. Вам нужно разбить это на 10 карт по 5 тыс задав limit и offset.

  • Есть решение, который генерирует xml карты сайта + родительскую. В виде файлов. Делалось для сайта у которого 20 000 товаров. Могу допилить сделать что бы работало по cron.

    Стукните в ПМ.

  • @slaad Я прочитал. Но не допер до вашей идеи. По сути все просто 😃

    Сейчас запили 7 доков по 8 тыс в каждом. Будем ждать, как отреагирует яндекс и гугл на это.

  • Вчера нормально открывал доки и по 8 тыс. Сегодня уже 502 при открытии и 4 тыс. Только по 3 тыс. Хост видимо снижает возможные ресурсы. Из за перегрузов. Или хз почему так. Хост timeweb

  • Нужно смотреть что за ошибка. И смотреть как ресурсы расходуются.
    Сделайте запрос хостеру.
    Возможно вас плавно к другому тарифу подталкивают))

  • Я укзал страницы https://mstrok.ru/api/sitemap.xml

 

Последние комментарии

  • K

    Участник @Andchir написал в Название товара в теме письма:

    $_SESSION['shk_order']

    да, спасибо - все получилось

    Читать далее
  • Можете написать сниппет, который будет выводить название товара, и использовать его в параметре сниппета FormIt так же как сейчас используется плейсхолдер [[++site_name]].
    Товары находятся в сессии $_SESSION['shk_order'].

    Читать далее
  • K

    Shopkeeper3

    Можно ли как-то в теме письма (которое приходит администратору) указать Fullname и Название купленного продукта?
    Т.е. вместо этого: В интернет-магазине "[[++site_name]]" сделан новый заказ
    Получить, например: Иванов Иван купил Чайник

    На сайте нет корзины (которая отображается пользователю) и пользователь может купить только один товар за один заказ.

    Моя фантазия пока не может придумать, как это сделать (может какой-то плагин написать?)..

    Читать далее
  • J

    @Andchir все работает!
    Спасибо!

    Читать далее