Ок. Спасибо за предложения. Правда думаю, мне не совсем это нужно. Создал новый источник файлов. Создал конфигурацию MIGX руководствуясь мануалом с rtfm.modx.com… ( Теперь при загрузке изображений на сервер в определенную папку, они появляются в виде migx ресурсов только после нажатия на кномку Load From Media Source (подтягиваются изображения через настроеный мной источник файлов) . Теперь не могу понять, как написать плагин, каторый бы загружал таблицу с migx ресурсами автоматически, при открытии ресурса modx (OnDocFormPrerender) а не по нажатию на кнопку. Может поможете, с чего начинать то? Не могу понять, какой сервис/процессор/класс загружается при нажатии на кнопку... Может можно както простым способом «эмитировать» нажатие на кнопку?

А что мешает при генерации страницы учитывать $smarty.get.page? Например, первое, что приходит в голову — <h1>{$modx->resource->pagetitle}{if $smarty.get.page}, страница {$smarty.get.page}{/if}</h1> или можно и дальше пойти — менять ВСЕ, вплоть до контента. Просто создать MIGX-переменную, и нужные поля брать оттуда. Я так делал на одном сайте

  1. Спасает мета-тег canonical. Поставьте сниппет MetaX и не заморачивайтесь.
  2. Запретите в robots.txt индексацию страниц с параметрами. Disallow: ?

Да, хорошо! Одно плохо поисковики ругаются на одинаковое содержание полей title,description,keywords. И фиксируют их как дубли с понижением рейтинга. И как я понял способа бороься с этим не существует. Если кто не согласен конкретно — опровегните ):

автоматическую подгрузку фото из папки с сервера (средствами xPDO), а не по нажатию кнопки (Load From Media Source) Не совсем понятно что имеется ввиду. Если автоматическое сканирование содержимого папки сервера с последующим занесением всех найденных в этой папке изображений в TV-поля(migx), то прежде всего Вам понадобятся соответствующие знания и:

  1. пишите плагин в котором обрабатываются запросы из front-end(пример плагин Site в сборке shopModxBox), при получении запроса на обновление данных Вашей галереи — дергается соответствующий процессор, в котором и происходит сканирование заданной папки и занесение всех фото.
  2. на CRON с необходимым интервалом вешается задача посылающая запрос на сайт, например: /usr/bin/wget -O - -q -t 1 http://урл-сайта/?service=g_update

Да, xPDO такого нет. Но я буду смотреть вариант запулить пуллреквест Джейсону. Если примет, то механизм будет.

Впрочем, если использовать процессоры, то никто не мешает перед выполнением запроса регуляркой вставить USE INDEX куда нужно. У себя я так и сделал на проблемных запросах.

А в xpdo вроде как указание индексов вообще не предусмотрено. Если только собственную обёртку писать над xpdo… Да и вообще, это не решение проблемы. Поскольку большинство пользователей не будет указывать явно индексы (на то они и пользователи). В этом случае при наличии дополнительных индексов в таблицах (как вы говорите, в ваших пакетах они присутствуют) некоторые запросы станут сильно тормозить.