Magento FPC Cache Warm с группами пользователей, wget, Lesti FPC

Я использую Lesti FPC на сайте Magento с 10 группами клиентов и множеством категорий / продуктов.

Я создал сценарий оболочки, который читает sitemap.xml и wget каждый URL-адрес в течение ночи для создания кеша сайта. Это отлично подходит для гостей, но когда пользователь группы клиентов входит в систему, они сами создают кеш (если они первые в день).

Кто-нибудь знает, как создать сценарий оболочки, который мог бы имитировать сам журнал, а затем тралить сайт? Возможно ли даже, что сценарий оболочки содержит свою собственную информацию о сеансе / cookie, чтобы оставаться включенным? а если нет, то другие идеи?

Большое спасибо

Таким образом, благодаря некоторым Googling и множеству проб и ошибок, я нашел решение, которое, как я думал, я бы поделился.

Вы можете использовать WGET для хранения информации о сеансе / cookie, сохраняя и загружая файлы cookie. У Magento есть свои ограничения, так как вам нужно установить cookie сеанса перед входом в систему или сценарий будет перенаправлен на страницу «enable-cookies», а не на вход в систему, так что вот сценарий;

#!/bin/bash # Establish a session and nab the cookie wget --save-cookies cookies.txt \ http://www.yourmagentourl.co.uk/ # Post your user credentials to login and update the cookie wget --save-cookies cookies.txt \ --load-cookies cookies.txt \ --post-data 'login[username]=USERNAME&login[password]=PASSWORD' \ http://www.yourmagentourl.co.uk/customer/account/loginPost/ # Load the cookie for each page you want to WGET to maintain the session wget --load-cookies cookies.txt \ -p http://www.yourmagentourl.co.uk/some-category.html 

Это основа, поэтому очень легко загрузить все URL-адреса из файла sitemap.xml и построить зарегистрированные в кэше версии.

Поддержки к Grafista для руля по сохранению информации о файлах cookie.

Счастливое кэширование!

РЕДАКТИРОВАТЬ – КАК ЗАПРОСИТЬ ПОКАЗАТЬ ОРИГИНАЛЬНЫЙ КОД

Вот код для циклического перемещения по карте сайта и загрузки каждой страницы для создания кеша для гостей. Сохраните это как cachewarm.sh и создайте cronjob, чтобы запускать его каждую ночь (не забудьте сначала удалить или истечь ваш pagecache)

 #!/bin/bash # Pixie Media https://www.pixiemedia.co.uk # Use the sitemap and reload the Page Cache by accessing each page once # wget --quiet http://YOUR-URL.co.uk/sitemap.xml --output-document - | egrep -o "http://YOUR-URL.co.uk/[^<]+" | wget -q --delete-after -i -