• User Attivo

    Unire i file css e ottimizzare le performance del sito

    Ciao a tutti,
    sto cercando di migliorare le scarse prestazioni del mio sito in joomla (giochigratisonline.eu). Per farlo mi sono orientato con pagespeed. Pur essendo riuscito a portare il punteggio da 69 a 80, ci sono tuttavia dei problemi che mi impediscono di migliorare ulteriormente.
    Ecco le caratteristiche del mio sito:

    • realizzato con Joomla 1.5.18
    • hosting linux su Aruba
    • template JA_Purity

    In particolare volevo unire i file .css in un unico file al fine di ridurre le richieste http. Tuttavia ho provato numerose applicazioni che ho trovato in JED ma tutte mi hanno dato problemi. In particolare

    • Cssjscompress : carica un template parziale tutto bianco e numerosi elementi della pagina non vengono proprio caricati
    • icespeed: il sito scompare del tutto e viene caricata una pagina bianca (nessun contenuto)
    • Jhc optimze: come cssjscompress

    Vi chiedo dunque aiuto per cercare di capire come fare manualmente o il motivo che causa gli errori sopracitati.

    Se qualcuno di voi ha poi altri consigli su come migliorare il punteggio del mio sito, aspetto i vostri suggerimenti. Vi avverto tuttavia che alcune cose non sono migliorabili su hosting aruba come ad esempio il parametro Leverage browser caching in quanto i mod_expire non sono attivi e non è possibile modificare le impostazioni da .htacces, e lo stesso vale per gzip (enable compression).

    Grazie mille dell'aiuto,
    ciao.


  • User

    Riesumo il post di BILL152.
    Anche io stò cercando di migliorare le prestazioni del mio sito.
    Ho provato alcuni plugin per comprimere i css ma mi danno tutti problemi con Explorer..
    In particolare ho testato RokGZipper della rockettheme che sembra faccia il suo dovere su firefox


  • User Attivo

    Ho lanciato anch'io lo stesso appello .. caduto nel vuoto !!
    Fatta la stessa esperienza ma con Aruba sembra che non funzionino correttamente perchè i permessi delle cartelle in fase di installazione non sono 755. Al 10 ticket mi hanno fornito loro le istruzioni per modificare l'httpaccess per comprimere un po' di dati e far cachare al browser parte dei dati, ma ti confermo che la compressione è attivabile via httpaccess .. qui trovi i comandi del deflate

    @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $

    @package Joomla

    @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.

    @license xxxxxxxxxxxxxxx

    Joomla! is Free Software

    ################################################## ###

    READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE

    The line just below this section: 'Options +FollowSymLinks' may cause problems

    with some server configurations. It is required for use of mod_rewrite, but may already

    be set by your server administrator in a way that dissallows changing it in

    your .htaccess file. If using it causes your server to error out, comment it out (add # to

    beginning of line), reload your site in your browser and test your sef url's. If they work,

    it has been set by your server administrator and you do not need it set here.

    ################################################## ###

    Can be commented out if causes errors, see notes above.

    Options +FollowSymLinks

    mod_rewrite in use

    RewriteEngine On

    Start Block Bad bot

    <Limit GET POST>
    order allow,deny
    allow from all
    Deny from env=bad_bot
    </Limit>

    bad bot list

    SetEnvIfNoCase User-Agent "^Black Hole" bad_bot
    SetEnvIfNoCase User-Agent "^Titan" bad_bot
    SetEnvIfNoCase User-Agent "^WebStripper" bad_bot
    SetEnvIfNoCase User-Agent "^NetMechanic" bad_bot
    SetEnvIfNoCase User-Agent "^CherryPicker" bad_bot
    SetEnvIfNoCase User-Agent "^EmailCollector" bad_bot
    SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
    SetEnvIfNoCase User-Agent "^WebBandit" bad_bot
    SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
    SetEnvIfNoCase User-Agent "^ExtractorPro" bad_bot
    SetEnvIfNoCase User-Agent "^CopyRightCheck" bad_bot
    SetEnvIfNoCase User-Agent "^Crescent" bad_bot
    SetEnvIfNoCase User-Agent "^Wget" bad_bot
    SetEnvIfNoCase User-Agent "^SiteSnagger" bad_bot
    SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot
    SetEnvIfNoCase User-Agent "^CheeseBot" bad_bot
    SetEnvIfNoCase User-Agent "^Teleport" bad_bot
    SetEnvIfNoCase User-Agent "^TeleportPro" bad_bot
    SetEnvIfNoCase User-Agent "^MIIxpc" bad_bot
    SetEnvIfNoCase User-Agent "^Telesoft" bad_bot
    SetEnvIfNoCase User-Agent "^Website Quester" bad_bot
    SetEnvIfNoCase User-Agent "^WebZip" bad_bot
    SetEnvIfNoCase User-Agent "^moget/2.1" bad_bot
    SetEnvIfNoCase User-Agent "^WebZip/4.0" bad_bot
    SetEnvIfNoCase User-Agent "^WebSauger" bad_bot
    SetEnvIfNoCase User-Agent "^WebCopier" bad_bot
    SetEnvIfNoCase User-Agent "^NetAnts" bad_bot
    SetEnvIfNoCase User-Agent "^Mister PiX" bad_bot
    SetEnvIfNoCase User-Agent "^WebAuto" bad_bot
    SetEnvIfNoCase User-Agent "^TheNomad" bad_bot
    SetEnvIfNoCase User-Agent "^WWW-Collector-E" bad_bot
    SetEnvIfNoCase User-Agent "^RMA" bad_bot
    SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot
    SetEnvIfNoCase User-Agent "^asterias" bad_bot
    SetEnvIfNoCase User-Agent "^httplib" bad_bot
    SetEnvIfNoCase User-Agent "^turingos" bad_bot
    SetEnvIfNoCase User-Agent "^spanner" bad_bot
    SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot
    SetEnvIfNoCase User-Agent "^Harvest/1.5" bad_bot
    SetEnvIfNoCase User-Agent "^Bullseye/1.0" bad_bot
    SetEnvIfNoCase User-Agent "^Mozilla/4.0 (compatible; BullsEye; Windows 95)" bad_bot
    SetEnvIfNoCase User-Agent "^Crescent Internet ToolPak HTTP OLE Control v.1.0" bad_bot
    SetEnvIfNoCase User-Agent "^CherryPickerSE/1.0" bad_bot
    SetEnvIfNoCase User-Agent "^CherryPicker /1.0" bad_bot
    SetEnvIfNoCase User-Agent "^WebBandit/3.50" bad_bot
    SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot
    SetEnvIfNoCase User-Agent "^Microsoft URL Control - 5.01.4511" bad_bot
    SetEnvIfNoCase User-Agent "^DittoSpyder" bad_bot
    SetEnvIfNoCase User-Agent "^Foobot" bad_bot
    SetEnvIfNoCase User-Agent "^WebmasterWorldForumBot" bad_bot
    SetEnvIfNoCase User-Agent "^SpankBot" bad_bot
    SetEnvIfNoCase User-Agent "^BotALot" bad_bot
    SetEnvIfNoCase User-Agent "^lwp-trivial/1.34" bad_bot
    SetEnvIfNoCase User-Agent "^lwp-trivial" bad_bot
    SetEnvIfNoCase User-Agent "^Wget/1.6" bad_bot
    SetEnvIfNoCase User-Agent "^BunnySlippers" bad_bot
    SetEnvIfNoCase User-Agent "^Microsoft URL Control - 6.00.8169" bad_bot
    SetEnvIfNoCase User-Agent "^URLy Warning" bad_bot
    SetEnvIfNoCase User-Agent "^Wget/1.5.3" bad_bot
    SetEnvIfNoCase User-Agent "^LinkWalker" bad_bot
    SetEnvIfNoCase User-Agent "^cosmos" bad_bot
    SetEnvIfNoCase User-Agent "^moget" bad_bot
    SetEnvIfNoCase User-Agent "^hloader" bad_bot
    SetEnvIfNoCase User-Agent "^humanlinks" bad_bot
    SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot
    SetEnvIfNoCase User-Agent "^Offline Explorer" bad_bot
    SetEnvIfNoCase User-Agent "^Mata Hari" bad_bot
    SetEnvIfNoCase User-Agent "^LexiBot" bad_bot
    SetEnvIfNoCase User-Agent "^Web Image Collector" bad_bot
    SetEnvIfNoCase User-Agent "^The Intraformant" bad_bot
    SetEnvIfNoCase User-Agent "^True_Robot/1.0" bad_bot
    SetEnvIfNoCase User-Agent "^True_Robot" bad_bot
    SetEnvIfNoCase User-Agent "^BlowFish/1.0" bad_bot
    SetEnvIfNoCase User-Agent "^JennyBot" bad_bot
    SetEnvIfNoCase User-Agent "^MIIxpc/4.2" bad_bot
    SetEnvIfNoCase User-Agent "^BuiltBotTough" bad_bot
    SetEnvIfNoCase User-Agent "^ProPowerBot/2.14" bad_bot
    SetEnvIfNoCase User-Agent "^BackDoorBot/1.0" bad_bot
    SetEnvIfNoCase User-Agent "^toCrawl/UrlDispatcher" bad_bot
    SetEnvIfNoCase User-Agent "^WebEnhancer" bad_bot
    SetEnvIfNoCase User-Agent "^TightTwatBot" bad_bot
    SetEnvIfNoCase User-Agent "^suzuran" bad_bot
    SetEnvIfNoCase User-Agent "^VCI WebViewer VCI WebViewer Win32" bad_bot
    SetEnvIfNoCase User-Agent "^VCI" bad_bot
    SetEnvIfNoCase User-Agent "^Szukacz/1.4" bad_bot
    SetEnvIfNoCase User-Agent "^QueryN Metasearch" bad_bot
    SetEnvIfNoCase User-Agent "^Openfind data gathere" bad_bot
    SetEnvIfNoCase User-Agent "^Openfind" bad_bot
    SetEnvIfNoCase User-Agent "^Xenu's Link Sleuth 1.1c" bad_bot
    SetEnvIfNoCase User-Agent "^Xenu's" bad_bot
    SetEnvIfNoCase User-Agent "^Zeus" bad_bot
    SetEnvIfNoCase User-Agent "^RepoMonkey Bait & Tackle/v1.01" bad_bot
    SetEnvIfNoCase User-Agent "^RepoMonkey" bad_bot
    SetEnvIfNoCase User-Agent "^Zeus 32297 Webster Pro V2.9 Win32" bad_bot
    SetEnvIfNoCase User-Agent "^Webster Pro" bad_bot
    SetEnvIfNoCase User-Agent "^EroCrawler" bad_bot
    SetEnvIfNoCase User-Agent "^LinkScan/8.1a Unix" bad_bot
    SetEnvIfNoCase User-Agent "^Keyword Density/0.9" bad_bot
    SetEnvIfNoCase User-Agent "^Kenjin Spider" bad_bot
    SetEnvIfNoCase User-Agent "^Cegbfeieh" bad_bot

    End Block Bad bot

    ########## Begin - Rewrite rules to block out some common exploits

    If you experience problems on your site block out the operations listed below

    This attempts to block the most common type of exploit attempts to Joomla!

    Block out any script trying to set a mosConfig value through the URL

    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D)

    Block out any script trying to base64_encode crap to send via URL

    RewriteCond %{QUERY_STRING} base64_encode.(.)

    Block out any script that includes a <script> tag in URL

    RewriteCond %{QUERY_STRING} (<|%3C).script.(>|%3E) [NC,OR]

    Block out any script trying to set a PHP GLOBALS variable via URL

    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2})

    Block out any script trying to modify a _REQUEST variable via URL

    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})

    Send all blocked request to homepage with 403 Forbidden error!

    RewriteRule ^(.*)$ index.php [F,L]

    ########## End - Rewrite rules to block out some common exploits

    Uncomment following line if your webserver's URL

    is not directly related to physical file paths.

    Update Your Joomla! Directory (just / for root)

    #RewriteBase /

    ########## Begin - Joomla! core SEF Section

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.])$
    RewriteRule (.
    ) index.php
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

    ########## End - Joomla! core SEF Section

    <IfModule mod_deflate.c>
    <FilesMatch ".(js|css)$">
    SetOutputFilter DEFLATE
    </FilesMatch>
    </IfModule>

    ########## Begin - compress section

    SetOutputFilter DEFLATE
    AddOutputFilter DEFLATE text/plain
    AddOutputFilter DEFLATE text/html
    AddOutputFilter DEFLATE text/xml
    AddOutputFilter DEFLATE text/css
    AddOutputFilter DEFLATE application/xml
    AddOutputFilter DEFLATE application/xhtml+xml
    AddOutputFilter DEFLATE application/rss+xml
    AddOutputFilter DEFLATE application/javascript
    AddOutputFilter DEFLATE application/x-javascript
    AddOutputFilter DEFLATE application/x-httpd-php
    AddOutputFilter DEFLATE application/x-httpd-fastphp
    AddOutputFilter DEFLATE image/svg+xml
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4.0[678] no-gzip
    BrowserMatch bMSIE !no-gzip !gzip-only-text/html
    SetEnvIf User-Agent ".MSIE." nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

    Don't compress images

    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    ########## end - compress section

    ########### Start Prevenire Image Hot Linking

    RewriteCond %{REQUEST_FILENAME} .(gif|jpe?g|png)$
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !tuosito.it #inserisci il tuo sito !!
    RewriteCond %{HTTP_REFERER} !bloglines.com
    RewriteCond %{HTTP_REFERER} !google.
    RewriteCond %{HTTP_REFERER} !yahoo.
    RewriteCond %{HTTP_REFERER} !search?q=cache
    RewriteRule (.*) h t t p : / / 127.0.0.1 [R,NC,L]

    Settare gli Expires headers e cache control

    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault A600
    ExpiresByType image/x-icon A2592000
    ExpiresByType application/x-javascript A604800
    ExpiresByType text/css A604800
    ExpiresByType image/gif A2592000
    ExpiresByType image/png A2592000
    ExpiresByType image/x-icon A2592000
    ExpiresByType image/jpeg A2592000
    ExpiresByType image/jpg A2592000
    ExpiresByType image/jpeg A2592000
    ExpiresByType text/plain A86400
    ExpiresByType application/x-shockwave-flash A2592000
    ExpiresByType video/x-flv A2592000
    ExpiresByType application/pdf A2592000
    ExpiresByType text/html A600

    HEADER CACHING

    <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
    Header unset Last-Modified
    </filesMatch>
    <filesMatch "\.(css)$">
    Header set Cache-Control "max-age=604800, public"
    Header unset Last-Modified
    </filesMatch>
    <filesMatch "\.(js)$">
    Header set Cache-Control "max-age=216000, private"
    Header unset Last-Modified
    </filesMatch>
    <filesMatch "\.(xml|txt)$">
    Header set Cache-Control "max-age=216000, public, must-revalidate"
    </filesMatch>
    <filesMatch "\.(html|htm|php)$">
    Header set Cache-Control "max-age=1, private, must-revalidate"
    </filesMatch>

    Disattivare ETags

    Header unset ETag
    </IfModule>

    Disattivare gli ETags

    FileETag none

    ########### end Prevenire Image Hot Linking


  • User

    Puoi fare ben poco per via del tuo hosting, come anche tu hai sottolineato.

    Io visto la situazione potrei suggerirti di spostare in un sottodominio tutti i css, scritps, imgs ecc...

    Questo aiuta un po'.


  • Moderatore

    Secondo la mia esperienza, ottimizzare queste cose ha un'utilità pratica prossima allo zero, se non per rispondere allo strumento pagespeed.
    Tutte queste informazioni vengono caricate in cache dal browser che le carica una volta sola. Se il visitatore naviga il sito non rallentano nulla, se guarda solo una pagina e scappa allora non c'è interesse a velocizzarlo. Piuttosto conviene utilizzare sempre gli stessi css e sempre le stesse immagini, evitando di averne di personalizzati per ogni pagina.
    Ciao