2012-05-18 9 views
6

Sono un novizio in Magento. Sto provando a configurare una mappa del sito Google generata automaticamente. Ho letto dappertutto come impostare cron job per Magento con cPanel, come configurare da backend e così via.Magento e Google Sitemap - Cron

Le mie impostazioni correnti: in Sistema -> Configurazione -> Google Sitemap -> Impostazioni di generazione -> Abilitato = SÌ. Ho creato la Sitemap su Catalogue -> Google Sitemap, ovviamente, che posso generare manualmente senza alcun problema.

Ma se controllo il file /app/code/core/Mage/Sitemap/etc/config.xml sembra essere non aggiornato (contenuti diversi btw config.xml e back-end). Sembra anche che l'ultimo aggiornamento sul filesystem sia stato modificato il 20/04/2012, invece che oggi. (Ho anche eseguito il Fluch Magento e Storage Cache)

<generate> 
    <enabled>0</enabled> 
    <error_email/> 
    <error_email_template>sitemap_generate_error_email_template</error_email_template> 
    <error_email_identity>general</error_email_identity> 
</generate> 

Qualcuno può darmi una mano? Grazie!

+2

Ho paura che qualcosa vada perso nella traduzione: perché generare un aggiornamento della mappa del sito config.xml? –

+0

Bene .. Ho seguito questo post: http://stackoverflow.com/questions/9175563/magento-google-sitemap-and-cron E 'corretto modificare che .xml config, o come ho capito, .xml è appena usato per i valori di default? – Mauro

+0

Mauro, una volta che i valori di configurazione sono nel database, sostituiscono tutti i dati memorizzati nei file XML. Il cron può essere eseguito ogni 10 minuti, ma il trigger actaul per la sitemap viene attivato solo quando è programmato in Magento, ora, minuto, ecc. –

risposta

7

Su Magento e Cron messe a punto, utilizzare cron.sh per fare l'innesco. Inoltre, credo nel Trust ma verifica che significa impostare cron e quindi visualizzare effettivamente la tabella di output del job cron per le esecuzioni corrette.

Accedi alla configurazione di sistema avanzata e imposta Cron Success History Lifetime e Failure Lifetime a 1440 in modo che tu stia monitorando un intervallo di 24 ore.

Ora sarà possibile vedere le operazioni sugli indici, ecc. Nel flusso temporale. Ci saranno circa 300 posti di lavoro elencati nella sezione dei tuoi lavori di successo nell'arco delle 24 ore.

Ora esegui questo cron log monitor per verificare se il cron è in esecuzione. Ho incontrato molte volte quando la persona dice che lo è, ma poi prova a verificarlo e scopre che si spaccone dopo un paio di tentativi.

Il problema successivo è la dichiarazione Ma se controllo il file /app/code/core/Mage/Sitemap/etc/config.xml Sembra essere non aggiornato. Innanzitutto, questo è un modello di configurazione, non verrà aggiornato. L'abilitazione viene eseguita nel database. Lo controlli in Sistema -> Config -> Catalogo -> Google Sitemap -> Impostazioni di generazione -> Abilita = Sì dovrebbe essere l'impostazione e una volta salvato, rimane su Sì. Magento consulta questa impostazione memorizzata nel database, non il config.xml per eseguire effettivamente la generazione della sitemap.

Search Engine Optimization - Enable Autogenerated Sitemap

Ora, se hai la mappa del sito creato correttamente in Catalogo -> Google Sitemap, la data/ora sul vostro file sitemap.xml reale dovrebbe avviare l'aggiornamento.

+0

Modifica da - alla fine è fatta da me, solo per caricare l'immagine di Cron Monitor. Grazie ! – Mauro

+0

Posso anche confermare che ora funziona: | Dopo il passaggio da cron.php a cron.sh ... Grazie mille! – Mauro

2

Non lo vedo menzionato sulla tua domanda ma, affinché i lavori cron funzionino, devi configurare il lavoro cron corrente per l'installazione di Magento. Prova ad aggiungere uno o cron.php cron.sh primo a vostro crontab:

Esempio: cron.sh

*/5 * * * * /bin/sh /absolute/path/to/magento/cron.sh 
+0

Già fatto, ma la pianificazione è attivata su cron.php anziché cron.sh (e Sono sicuro che funziona, ogni 1o minuti). Ma la Sitemap non si aggiorna automaticamente – Mauro

1

Mauro,

XML del genere è solo i dati di default, una volta salvati nella admin, va al database e questa è la fine di tutte le fonti da lì in poi, vedi SELECT * FROM core_config_data WHERE path LIKE "sitemap/generate/time"; per il tempo di esecuzione, o SELECT * FROM core_config_data WHERE path LIKE 'sitemap/%'; per una vista generale di tutte le opzioni che sono state impostate per la generazione di Sitemap in Magento.

Come osservato anche da Seth, avrete bisogno di avere,

*/5 * * * * /bin/sh /absolute/path/to/magento/cron.sh

in crontab tuoi WebUsers'

+0

Il mio crontab è impostato correttamente ... con cPanel! Ho abilitato il cron.php ad essere eseguito ogni 10 minuti (e funziona, dal momento che ho modificato il codice PHP aggiungendo, in basso, alcune righe con l'invio di e-mail, per verificare se il file è pianificato correttamente). .. Ho quindi sostituito con il file cron.php originale. Ad ogni modo ... non sta aggiornando la sitemap. Non so perché :( – Mauro

+0

dovresti usare la versione sh, dato che ha la logica per fermare più esecuzioni di se stesso, quando è programmata la sitemap, il cron viene eseguito ogni 5 o 10 minuti nella tua soluzione e ha appena chiesto a Magento se qualcosa deve essere eseguito dall'ultimo controllo, quindi la mappa del sito dovrebbe essere pianificata ogni 5 minuti, non solo il cron. –