Upload
david-denicolo
View
931
Download
3
Embed Size (px)
DESCRIPTION
Tecniche e suggerimenti per migliorare le performance Front End di siti realizzati con TYPO3.Presentato al T3Camp Italia 2011 da David Denicolò
Citation preview
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Migliorare le performance Front-End con TYPO3
David Denicolograve ltdavidinteraitgt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Bologna 2829 Ottobre 2011
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
About me
David DenicolograveCTO InteRa
TYPO3 dal 2002
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Le performance di un sito web sono uno degli aspetti cruciali
raggiungere le migliori prestazioni porta un vantaggio per gli utenti e benefici per i motori di ricerca
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Il tempo di caricamento delle pagine egrave un elemento che condiziona il ranking
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Da cosa egrave condizionato il tempo di caricamento
bull dalla risposta del server
bull dalle performance di TYPO3
bull dalla dimensione della pagina
bull dal numero di richieste HTTP
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Tecnicariduce
richieste HTTPdiminuiscedimensionidiminuiscedimensioni
CSS3 ombre gradienti angoli V VVCSS Sprite V ==Font-face V X =Distribuzione su piugrave server V ==Merge V ==Minify = VVCompress = VVSource Optimization = VV
Tecniche di ottimizzazione FE
TYPO3
TEMPLATE
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Distribuzione o parallelizzazione
La distribuzione egrave una tecnica mista in cui lo sviluppatore puograve disporre alcune risorse su altro server
Lrsquoestensione ldquoT3 jQueryrdquo permette caricare librerie JavaScript jQuery direttamente da un CDN ad esempio Google MSN o jquerytoolscom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
About me
David DenicolograveCTO InteRa
TYPO3 dal 2002
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Le performance di un sito web sono uno degli aspetti cruciali
raggiungere le migliori prestazioni porta un vantaggio per gli utenti e benefici per i motori di ricerca
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Il tempo di caricamento delle pagine egrave un elemento che condiziona il ranking
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Da cosa egrave condizionato il tempo di caricamento
bull dalla risposta del server
bull dalle performance di TYPO3
bull dalla dimensione della pagina
bull dal numero di richieste HTTP
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Tecnicariduce
richieste HTTPdiminuiscedimensionidiminuiscedimensioni
CSS3 ombre gradienti angoli V VVCSS Sprite V ==Font-face V X =Distribuzione su piugrave server V ==Merge V ==Minify = VVCompress = VVSource Optimization = VV
Tecniche di ottimizzazione FE
TYPO3
TEMPLATE
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Distribuzione o parallelizzazione
La distribuzione egrave una tecnica mista in cui lo sviluppatore puograve disporre alcune risorse su altro server
Lrsquoestensione ldquoT3 jQueryrdquo permette caricare librerie JavaScript jQuery direttamente da un CDN ad esempio Google MSN o jquerytoolscom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Le performance di un sito web sono uno degli aspetti cruciali
raggiungere le migliori prestazioni porta un vantaggio per gli utenti e benefici per i motori di ricerca
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Il tempo di caricamento delle pagine egrave un elemento che condiziona il ranking
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Da cosa egrave condizionato il tempo di caricamento
bull dalla risposta del server
bull dalle performance di TYPO3
bull dalla dimensione della pagina
bull dal numero di richieste HTTP
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Tecnicariduce
richieste HTTPdiminuiscedimensionidiminuiscedimensioni
CSS3 ombre gradienti angoli V VVCSS Sprite V ==Font-face V X =Distribuzione su piugrave server V ==Merge V ==Minify = VVCompress = VVSource Optimization = VV
Tecniche di ottimizzazione FE
TYPO3
TEMPLATE
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Distribuzione o parallelizzazione
La distribuzione egrave una tecnica mista in cui lo sviluppatore puograve disporre alcune risorse su altro server
Lrsquoestensione ldquoT3 jQueryrdquo permette caricare librerie JavaScript jQuery direttamente da un CDN ad esempio Google MSN o jquerytoolscom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Il tempo di caricamento delle pagine egrave un elemento che condiziona il ranking
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Da cosa egrave condizionato il tempo di caricamento
bull dalla risposta del server
bull dalle performance di TYPO3
bull dalla dimensione della pagina
bull dal numero di richieste HTTP
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Tecnicariduce
richieste HTTPdiminuiscedimensionidiminuiscedimensioni
CSS3 ombre gradienti angoli V VVCSS Sprite V ==Font-face V X =Distribuzione su piugrave server V ==Merge V ==Minify = VVCompress = VVSource Optimization = VV
Tecniche di ottimizzazione FE
TYPO3
TEMPLATE
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Distribuzione o parallelizzazione
La distribuzione egrave una tecnica mista in cui lo sviluppatore puograve disporre alcune risorse su altro server
Lrsquoestensione ldquoT3 jQueryrdquo permette caricare librerie JavaScript jQuery direttamente da un CDN ad esempio Google MSN o jquerytoolscom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Da cosa egrave condizionato il tempo di caricamento
bull dalla risposta del server
bull dalle performance di TYPO3
bull dalla dimensione della pagina
bull dal numero di richieste HTTP
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Tecnicariduce
richieste HTTPdiminuiscedimensionidiminuiscedimensioni
CSS3 ombre gradienti angoli V VVCSS Sprite V ==Font-face V X =Distribuzione su piugrave server V ==Merge V ==Minify = VVCompress = VVSource Optimization = VV
Tecniche di ottimizzazione FE
TYPO3
TEMPLATE
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Distribuzione o parallelizzazione
La distribuzione egrave una tecnica mista in cui lo sviluppatore puograve disporre alcune risorse su altro server
Lrsquoestensione ldquoT3 jQueryrdquo permette caricare librerie JavaScript jQuery direttamente da un CDN ad esempio Google MSN o jquerytoolscom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Tecnicariduce
richieste HTTPdiminuiscedimensionidiminuiscedimensioni
CSS3 ombre gradienti angoli V VVCSS Sprite V ==Font-face V X =Distribuzione su piugrave server V ==Merge V ==Minify = VVCompress = VVSource Optimization = VV
Tecniche di ottimizzazione FE
TYPO3
TEMPLATE
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Distribuzione o parallelizzazione
La distribuzione egrave una tecnica mista in cui lo sviluppatore puograve disporre alcune risorse su altro server
Lrsquoestensione ldquoT3 jQueryrdquo permette caricare librerie JavaScript jQuery direttamente da un CDN ad esempio Google MSN o jquerytoolscom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Distribuzione o parallelizzazione
La distribuzione egrave una tecnica mista in cui lo sviluppatore puograve disporre alcune risorse su altro server
Lrsquoestensione ldquoT3 jQueryrdquo permette caricare librerie JavaScript jQuery direttamente da un CDN ad esempio Google MSN o jquerytoolscom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
merge minify compress
le tecniche di Merge Minify Compress su CSS e JS possono essere realizzate tramite lrsquoestensione di TYPO3
bull ldquoCSSJavascript Minificator Compressorrdquo
bull extkey scriptmerger
bull occorre configurare htaccess
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
plugintx_scriptmerger css enable = 1 addContentInDocument = 0
minification minify enable = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = charset uniqueCharset enable = 1 value = charset UTF-8
plugintx_scriptmerger javascript enable = 1 parseBody = 0 addBeforeBody = 0 doNotRemoveInDocInBody = 1 addContentInDocument = 0
minification minify enable = 1 useJSMinPlus = 1 ignore = min
gzip compression compress enable = 1 ignore = gz
merging merge enable = 1 ignore = externalFileCacheLifetime = 3600
Esempio di TypoScript di scriptmerger
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
BEGIN EXTscriptmerger
Removal of ETag (saves some bytes the last modified header is still there)FileETag MTime SizeltIfModule mod_headerscgt FileETag noneltIfModulegt
Client caching of JSCSS files (because they are merged with an applied hash) Note Unsetting of the last modified header causes a permant 200 Ok statusltFilesMatch (merge|min|gz)(gz)(js|css)gt ltIfModule mod_expirescgt ExpiresActive on ExpiresDefault access plus 1 year ltIfModulegt
ltIfModule mod_headerscgt Header append Cache-Control public ltIfModulegtltFilesMatchgt
deliver the uncompressed file if gzip encoding isnt acceptedAddEncoding x-gzip gzRewriteCond HTTPaccept-encoding gzip [NC]RewriteRule ^typo3tempscriptmergercompressed(+)gz(js|css) typo3tempscriptmergeruncompressed$1$2 [LNC]
END EXTscriptmerger
Esempio di htaccess di scriptmerger
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
source optimization
la tecnica di source optimization puograve essere realizzata tramite lrsquoestensione di TYPO3
bull ldquoSourceOptimizationrdquo
bull extkey sourceopt
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
CONSTANTS
sourceopt enabled = 1 enable_utf-8_support = 1 removeGenerator = 0 removeBlurScript = 1 removeComments = 1 removeCommentskeep10 = This website is powered by TYPO3usi removeCommentskeep20 = ^[ifusi formatHtml = 1 formatHtmltabSize = 1 formatHtmldebugComment = 1
Esempio di TypoScript di sourceopt
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
Buone pratiche
CSS su file non inline nel body
JS in header o footer non nel body
verificare CSS e JS delle estensioni
Redirect in htacces non in realurl
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
Migliorare le performance Front-EndDavid Denicolograve - InteRa srl
strumenti di verifica
Page speed
bull httpsdevelopersgooglecompagespeed
Tools Pingdom
bull httpfptpingdomcom
Strumenti per webmaster di Google
bull httpswwwgooglecomwebmasterstools
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom
T3Camp ItaliaLrsquoevento italiano dedicato a TYPO3
TYPO3 CaretakerDavid Denicolograve - InteRa srl
Grazie per lrsquoattenzione
bull wwwinterait
bull twitter davdenic
bull davdenictumblrcom