<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="ARTICLE @ XOOPS powered by FeedCreator" -->
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.xoopsitalia.org//modules/article/xml.php">
        <title>Xoops Italia :: Articolo</title>
        <description>Articolo XML</description>
        <link>http://www.xoopsitalia.org/modules/article/view.article.php/60/c17</link>
        <image rdf:resource="http://www.xoopsitalia.org/modules/article/images/logo.png" />
       <dc:date>2008-07-06T07:12:49+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.xoopsitalia.org/modules/article/view.article.php/60/c17"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.xoopsitalia.org/modules/article/images/logo.png">
        <title>Xoops Italia :: Articolo</title>
        <link>http://www.xoopsitalia.org/modules/article/</link>
        <url>http://www.xoopsitalia.org/modules/article/images/logo.png</url>
    </image>
    <item rdf:about="http://www.xoopsitalia.org/modules/article/view.article.php/60/c17">
        <dc:format>text/html</dc:format>
        <dc:date>2008-01-01T22:57:25+02:00</dc:date>
        <dc:source>http://www.xoopsitalia.org/modules/article/</dc:source>
        <dc:creator>Defkon1</dc:creator>
        <title>Ottimizzare XOOPS in 5 mosse</title>
        <link>http://www.xoopsitalia.org/modules/article/view.article.php/60/c17</link>
        <description>Categoria: Risorse per Webmaster Xoops&lt;br /&gt;Sommario: In questo ottimo articolo di Hervé (InstantZero) vediamo come migliorare le performance del vostro sito Xoops.Traduzione e adattamento di &lt;a href=&quot;http://www.xoops.org/modules/news/article.php?storyid=4063&quot; target=&quot;_blank&quot;&gt;questo articolo&lt;/a&gt; di Hervé Thouzard della &lt;a href=&quot;http://www.instant-zero.com/&quot; target=&quot;_blank&quot;&gt;InstantZero&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A volte, le persone dicono che Xoops sembra essere lento. Può essere vero, ma ci sono ampi margini di migliorabilità.&lt;br /&gt;&lt;br /&gt;La Instant Zero ha tra i suoi compiti il mantenimento di alcuni siti xoopsati e hanno deciso di condividere con la comunità le loro utilissime conoscenze.&lt;br /&gt;&lt;br /&gt;In questo articolo, in 5 semplici punti, vediamo cosa potete fare per ottimizzare il vostro sito.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Il server&lt;/strong&gt;&lt;br /&gt;La prima questione che andiamo ad analizzare è relativa al server, e a cosa è possibile fare con esso.&lt;br /&gt;In base al tipo di server e di contratto che avete, si consiglia di attivare la compressione gzip.&lt;br /&gt;Se avete un server Apache2 è anche necessario attivare il modulo di deflate (setacciate la rete per scoprire come installarlo ed utilizzarlo).&lt;br /&gt;&lt;br /&gt;I browser odierni possono richiedere al web server le pagine in formato compresso; va da sé che trasferire una minore mole di dati abbassa il consumo di banda e i tempi di trasferimento. Il rovescio della medaglia risiede però in un maggior carico di lavoro per il server. Esattamente come comprimere una pagina HTML in un file ZIP e poi spedirlo.&lt;br /&gt;Contattate preventivamente il vostro hosting provider per sapere se è possibile attivare tutti i moduli per l'utilizzo di questa tecnica.&lt;br /&gt;&lt;br /&gt;Inoltre se possibile, si consiglia di installare lo Zend Optimizer o l'estensione eAccelerator.&lt;br /&gt;Il PHP6 dovrebbe essere rilasciato con dei nuovi opcode per il caching, ma finché non sarà qui si dovranno utilizzare altri metodi per ottenere gli stessi vantaggi.&lt;br /&gt;Con lo Zend Optimizer (o qualsiasi altro metodo di caching), lo script più utilizzato rimane precompilato in memoria, in modo da poter essere inviato nuovamente senza la necessità di interpretarlo ogni volta che viene chiamato.&lt;br /&gt;Con le estesioni tipo l'eAccelerator, TUTTI gli script PHP chiamati dal vostro sito possono essere salvati in uno stato &quot;compilato&quot; nel vostro hard disk, senza doverlo richiedere ogni volta tramite web.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Xoops&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Il problema dei CMS è che tutto è dinamico, e il database viene spesso utilizzato. Xoops non fa eccezione a questa regola.&lt;br /&gt;Xoops però utilizza un sistema di template chiamato &quot;Smarty&quot; che permette di utilizzare un sistema di caching nativo.&lt;br /&gt;Tale sistema può dare problemi se utilizzato globalmente su uno o più moduli, ma può essere molto utile se utilizzato su singoli blocchi. E sicuramente, la vostra homepage avrà parecchi blocchi.&lt;br /&gt;&lt;br /&gt;Non dimenticate dunque di attivare la cache su alcuni blocchi (tramite la relativa impostazione del singolo blocco sul pannello System &amp;gt; Blocchi).&lt;br /&gt;&lt;br /&gt;Un ultima raccomandazione: molte persone dimenticano di disattivare l'opzione di controllo delle modifiche sui templates (System &amp;gt; Preferenze &amp;gt; Generale). Ricordatevi che tale opzione va attivata solo temporaneamente per effettuare modifiche ai template o al tema, e va disattivata appena terminato.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Database&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Il vostro database viene interpellato in ogni pagina. E' chiamato da Xoops e dai vostri moduli.&lt;br /&gt;Con il passare del tempo e delle chiamate, il vostro database può diventare non ottimizzato; la prima raccomandazione è dunque quella di installare e configurare XoopsCare. Con questo modulo, è possibile pianificare regolarmente i processi di ottimizzazione del vostro database.&lt;br /&gt;&lt;br /&gt;Ricordate inoltre che un database ottimizzato è facilmente e velocemente esportabile e reimportabile (in caso di disaster recovery, ad esempio).&lt;br /&gt;&lt;br /&gt;[&lt;i&gt;XoopsCare&lt;/i&gt;] In base al traffico che il vostro sito ha, potete selezionare un valore più grande o più piccolo per l'opzione &quot;Mantieni il database ogni ...&quot;. Si raccomanda inoltre di utilizzare le opzioni &quot;Cache e templates&quot; e &quot;Svuota sessioni&quot;.&lt;br /&gt;&lt;br /&gt;In tema di sessioni, ricordate che più è grande la sessione che impostate, più la relativa tabella del database crescerà. E ricordate anche che i robot tipo Google utilizzano le sessioni...&lt;br /&gt;&lt;br /&gt;Concludiamo questa disquisizione sul database parlando di alcune ottimizzazioni che potete portare alle tabelle MySQL utilizzate da Xoops e dai suoi moduli.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Prima di fare qualsiasi modifica al vostro database, effettuate un backup completo (struttura e contenuto).&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Come probabilmente saprete, Xoops utilizza il database per mantenere i suoi contenuti, e analogamente fanno i moduli. Ogni modulo ha le proprie tabelle MySQL, costituite dalla struttura (nome e campi) e dai dati contenutivi.&lt;br /&gt;&lt;br /&gt;Ogni tabella può avere quanti indici volete.&lt;br /&gt;Gli indici sono utilizzati per rendere le ricerche più veloci, ma rallentano le operazioni di inserimento di nuovi record (a causa della necessità di aggiornare l'indice ogni volta).&lt;br /&gt;Il vostro sito però è molto probabilmente più utilizzato in lettura che in scrittura, per cui in caso rilevaste problemi di velocità potreste ragionare sull'inserimento di opportuni indici laddove possano essere più utili.&lt;br /&gt;&lt;br /&gt;Per fare ciò, dopo aver fatto una copia di sicurezza del backup, si raccomanda di utilizzare uno script come phpMyAdmin. Dopo aver cliccato (sulla sinistra) sul nome della tabella, troverete sulla destra la sua struttura completa; a questo punto sarà sufficiente cliccare sul link o sull'icona per aggiungere un indice sul campo desiderato.&lt;br /&gt;&lt;br /&gt;Vediamo ad esempio alcuni indici inseribili sulle tabelle Xoops.&lt;br /&gt;&lt;br /&gt;a) &lt;strong&gt;xoops_modules&lt;/strong&gt;: questa tabella contiene l'elenco di tutti i moduli installati nel vostro sito. E' possibile inserire indici su 3 campi di questa tabella, &lt;i&gt;isactive&lt;/i&gt;, &lt;i&gt;weight&lt;/i&gt; e &lt;i&gt;hascomments&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;b) &lt;strong&gt;xoops_users&lt;/strong&gt;: questa tabella contiene la lista di tutti gli utenti registrati al sito. E' possibile aggiungere un indice al campo &lt;i&gt;level&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;c) &lt;strong&gt;xoops_online&lt;/strong&gt;: questa tabella viene utilizzata per controllare gli utenti online, e mostrarli nel blocco &quot;Chi c'è online?&quot;. E' possibile indicizzare i campi &lt;i&gt;online_updated&lt;/i&gt; e &lt;i&gt;online_uid&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;d) &lt;strong&gt;xoops_config&lt;/strong&gt;: in questa tabella vengono salvate tutte le configurazioni di Xoops e dei sui moduli. E' possibile aggiungere un indice al campo &lt;i&gt;conf_order&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;e) &lt;strong&gt;xoops_comments&lt;/strong&gt;: come il nome suggerisce, questa tabella contiene i commenti di tutti i moduli. E' possibile indicizzare il campo&lt;i&gt;com_status&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;f) &lt;strong&gt;modulo multiMenu&lt;/strong&gt;: questo popolare modulo permette la creazione di diversi menù con contenuti liberi. Nelle tabelle di questo modulo è possibile indicizzare i campi &lt;i&gt;weight&lt;/i&gt;, &lt;i&gt;hide&lt;/i&gt; e &lt;i&gt;submenu&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;g) &lt;strong&gt;modulo News&lt;/strong&gt;: il modulo News è uno dei più diffusi motori articoli. Aggiungere un indice al campo &lt;i&gt;published&lt;/i&gt; della tabella &lt;i&gt;xoops_stories&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;h) &lt;strong&gt;modulo extCal&lt;/strong&gt;: In questa ottima agenda è possibile aggiungere nella tabella &lt;i&gt;xoops_extcal_event&lt;/i&gt; gli indici ai campi &lt;i&gt;event_start&lt;/i&gt;, &lt;i&gt;event_end&lt;/i&gt;, e modificare il campo &lt;i&gt;event_approved&lt;/i&gt; da &lt;i&gt;int(11)&lt;/i&gt; a &lt;i&gt;tinyit(1)&lt;/i&gt; (e aggiungergli un indice). E' anche possibile aggiungere un indice al campo &lt;i&gt;cat_id&lt;/i&gt;. Se volete è possibile anche aggiungere un ulteriore indice multicampo composta da &lt;i&gt;event_start + event_end + event_approved&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;i) &lt;strong&gt;modulo Smartsection&lt;/strong&gt;: questo modulo è utilizzato per la creazione di contenuti e pagine. Nella tabella &lt;i&gt;xoops_smartsection_items&lt;/i&gt;, è possibile indicizzare i campi &lt;i&gt;status&lt;/i&gt; e &lt;i&gt;datesub&lt;/i&gt;. Nella tabella &lt;i&gt;xoops_smartsection_categories[i], è inoltre possibile indicizzare i campi [i]parentid&lt;/i&gt; and &lt;i&gt;weight&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;j) &lt;strong&gt;modulo XoopsPoll&lt;/strong&gt;: questo modulo è utilizzato per la creazioni di sondaggi e votazioni. Nella tabella &lt;i&gt;xoops_xoopspoll_desc&lt;/i&gt;, è possibile indicizzare il campo &lt;i&gt;weight&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;k) &lt;strong&gt;modulo Newbb/CBB&lt;/strong&gt;: questo è il forum di Xoops. Nella tabella &lt;i&gt;xoops_bb_online&lt;/i&gt;, è possibile aggiungere un indice al campo &lt;i&gt;online_uid&lt;/i&gt; e nella tabella &lt;i&gt;xoops_bb_topics&lt;/i&gt; è possibile aggiungere uno al campo &lt;i&gt;approved&lt;/i&gt;. Nella tabella &lt;i&gt;xoops_bb_posts&lt;/i&gt;, è possibile indicizzare il campo &lt;i&gt;approved&lt;/i&gt;. Infine, nella tabella &lt;i&gt;xoops_bb_forums&lt;/i&gt;, è possibile aggiungere un indice al campo &lt;i&gt;parent_forum&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;l) &lt;strong&gt;modulo Catads&lt;/strong&gt;: questo è un ottimo modulo per annunci. Nella tabella &lt;i&gt;xoops_catads_ads&lt;/i&gt;, è possibile indicizzare i campi &lt;i&gt;waiting&lt;/i&gt;, &lt;i&gt;published&lt;/i&gt;, &lt;i&gt;expired&lt;/i&gt;, &lt;i&gt;uid&lt;/i&gt; e &lt;i&gt;cat_id&lt;/i&gt;. Nella tabella &lt;i&gt;xoops_catads_cat&lt;/i&gt;, è possibile aggiungere un indice ai campi &lt;i&gt;weight&lt;/i&gt; e &lt;i&gt;pid&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;m) &lt;strong&gt;modulo SmartFAQ&lt;/strong&gt;: come il nome indica, questo è un modulo FAQ. Nella tabella &lt;i&gt;xoops_smartfaq_categories&lt;/i&gt;, è possibile indicizzare il campo &lt;i&gt;parentid&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Questa lista non è ovviamente completa. Troverete sicuramente tabelle che necessitano di altri indici e anche tabelle senza.&lt;br /&gt;Se siete sviluppatori o utenti esperti potete attivare il &lt;i&gt;Log query lente&lt;/i&gt; di MySQL per controllare eventuali colli di bottiglia.&lt;br /&gt;Se non siete sviluppatori o utenti esperti, potete sempre vedere, via phpMyAdmin, se le tabelle usate dal vostro sito hanno o meno degli indici.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. File utilizzati&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Alcuni file sono utilizzati in ogni pagina, come ad esempio il file &lt;i&gt;xoops.js&lt;/i&gt; (cartella /include del vostro sito).&lt;br /&gt;Se utilizzate un tema standard, questo file viene chiamato sicuramente ad ogni pagina del vostro sito.&lt;br /&gt;&lt;br /&gt;Con un programma come &lt;i&gt;jsmin&lt;/i&gt; potete minimizzare la sua dimensione.&lt;br /&gt;Può sembrare ridicolo, ma su siti ad alto traffico la differenza in termini di velocità si nota.&lt;br /&gt;&lt;br /&gt;E' possibile utilizzare jsmin su qualsiasi altro Javascript utilizziate, ad esempio &lt;i&gt;jQuery&lt;/i&gt; o &lt;i&gt;Prototype&lt;/i&gt;.&lt;br /&gt;Come regola generale per i file Javascript, inseriteli più in basso possibile nel codice del vostro tema.&lt;br /&gt;&lt;br /&gt;Questa regola è applicabile anche al codice Google Analytics e Google Ads (se li usate).&lt;br /&gt;&lt;br /&gt;Un altro tipo di file utilizzato dal vostro sito web, sono le immagini.&lt;br /&gt;Provate a ridurre le dimensioni delle vostre immagini il più possibile. &lt;br /&gt;Se lavorate con Photoshop, utilizzate la funzione &quot;Salva per il web&quot; e provate a comprimerli in modo ottimale. &lt;br /&gt;Se non utilizzate Photoshop, si consiglia di usare &lt;i&gt;XnView&lt;/i&gt; (disponibile sia sotto Windows che Linux).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. CSS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Il vostro sito sicuramente utilizzano CSS chiamati dal vostro tema. Verificate che il foglio di stile non contenga troppi commenti e rimuoveteli se necessario.&lt;br /&gt;Inoltre posizionate la chiamata al file CSS nel punto più alto possibile del vostro theme.html.&lt;br /&gt;</description>
    </item>
</rdf:RDF>
