• Admin

    Ho proprio ieri realizzato un plugin wp che permette di comporre htaccess così come segue.

    Ovviamente molte di queste istruzioni possono essere usate su qualsiasi sito anche non WP.

    Protect the htaccess file - wpsecuno

    <files .htaccess>
    order allow,deny
    deny from all
    </files>

    Protect wpconfig.php - wpsecdue

    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

    Disable directory browsing - wpsectre

    Options All -Indexes

    Protect from spam comments - wpsecquattro

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-comments-post.php*
    RewriteCond %{HTTP_REFERER} !.www.sito.com.
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
    </IfModule>

    Protect bandwidth - wpseccinque

    <IfModule mod_rewrite.c>
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(.+.)?www.sito.com/
    RewriteRule .(jpg|jpeg|png|gif)$ http://www.altrosito.com/nohotlinking.jpg [NC,R,L]
    </IfModule>

    Caching -- mod_headers - wpsecnove

    <IfModule mod_headers.c>

    1 Year = 29030400s = Never Expires

    <filesMatch ".(ico)$">
    Header set Cache-Control "max-age=29030400, public"
    </filesMatch>

    1 Month = 2419200s

    <filesMatch ".(css|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2419200, public"
    </filesMatch>

    2.5 Days = 216000s

    <filesMatch ".(js)$">
    Header set Cache-Control "max-age=216000, private"
    </filesMatch>
    <filesMatch ".(xml|txt)$">
    Header set Cache-Control "max-age=216000, public, must-revalidate"
    </filesMatch>

    5 minutes = 300s

    <filesMatch ".(html|htm)$">
    Header set Cache-Control "max-age=300, private, must-revalidate"
    </filesMatch>

    Disable caching for scripts and other dynamic files

    <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
    Header unset Cache-Control
    </FilesMatch>
    </IfModule>

    Caching -- mod_expires

    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault A604800
    ExpiresByType image/x-icon A29030400
    ExpiresByType application/pdf A2419200
    ExpiresByType image/gif A2419200
    ExpiresByType image/png A2419200
    ExpiresByType image/jpg A2419200
    ExpiresByType image/jpeg A2419200
    ExpiresByType text/css A2419200
    ExpiresByType application/x-javascript A216000
    ExpiresByType text/javascript A216000
    ExpiresByType text/plain A216000
    ExpiresByType text/html A300
    <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
    ExpiresActive Off
    </FilesMatch>
    </IfModule>

    BEGIN GZIP - wpsecsei

    mod_gzip compression (legacy, Apache 1.3)

    <IfModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file .(html?|xml|txt|css|js)$
    mod_gzip_item_include handler ^cgi-script$
    mod_gzip_item_include mime ^text/.*
    mod_gzip_item_include mime ^application/x-javascript.*
    mod_gzip_item_exclude mime ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.gzip.
    </IfModule>

    END GZIP

    DEFLATE compression - wpsecsette

    <IfModule mod_deflate.c>

    Set compression for: html,txt,xml,js,css

    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript

    Deactivate compression for buggy browsers

    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4.0[678] no-gzip
    BrowserMatch bMSIE !no-gzip !gzip-only-text/html

    Set header information for proxies

    Header append Vary User-Agent
    </IfModule>

    END DEFLATE

    No ETags - wpsecotto

    Header unset ETag
    FileETag none


  • User Attivo

    Io aggiungerei:

    • visualizza in formato solo testo le pagine per capire come le vedranno i crawler (a volte sfuggono delle cose)

    • chiedi un opinione mostrando la beta a tuoi colleghi e amici (a volte sfuggono errori macroscopici) 😄


  • Moderatore

    @Juanin said:

    Ho proprio ieri realizzato un plugin wp che permette di comporre htaccess così come segue.

    Dove si può trovare questo plugin?
    Grazie.


  • User Attivo

    Aggiungo: verifica dell'accessibilità.
    Come tool sto provando Wave Toolbar (Add-on per firefox prodotta da webaim) e si sta comportando molto bene.
    La verifica dell'accessibilità deve essere comunque sempre fatta a manina, ma il tool mi sta sveltendo molto il lavoro...
    wave[dot]webaim[dot]org/toolbar


  • Moderatore

    Per i siti dinamici, oltre al canonical si può usare la "Gestione dei parametri" negli strumenti per webmaster.


  • User Attivo

    @Juanin said:

    BEGIN GZIP - wpsecsei

    mod_gzip compression (legacy, Apache 1.3)

    <IfModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file .(html?|xml|txt|css|js)$
    mod_gzip_item_include handler ^cgi-script$
    mod_gzip_item_include mime ^text/.*
    mod_gzip_item_include mime ^application/x-javascript.*
    mod_gzip_item_exclude mime ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.gzip.
    </IfModule>

    END GZIP

    DEFLATE compression - wpsecsette

    <IfModule mod_deflate.c>

    Set compression for: html,txt,xml,js,css

    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript

    Deactivate compression for buggy browsers

    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4.0[678] no-gzip
    BrowserMatch bMSIE !no-gzip !gzip-only-text/html

    Set header information for proxies

    Header append Vary User-Agent
    </IfModule>

    END DEFLATE

    No ETags - wpsecotto

    Header unset ETag
    FileETag none

    Ho provato a mettere nel mio file .htaccess questi comandi che ho quotato. Ma una volta caricato sul server ho un errore 500 al sito.
    Come mai?

    grazie


  • Admin

    Prova a mettere
    <IfModule mod_headers.c>

    No ETags - wpsecotto

    Header unset ETag
    FileETag none
    </IfModule>

    forse vai in internal server error perché non hai attivo il modulo header nella tua configurazione di apache.

    Se invece vuoi utilizzarli fatti abilitare il modulo lato server.


  • User Attivo

    In ogni caso ho installato wordpress super cache, penso che lavori ugualmente su quello che riporti tu e che volevo includere nel mio file .htaccess. Giusto?

    Grazie


  • Admin

    Non credo che wp super cache setti anche quei parametri ma per testare basta che installi google page speed + firebug su firefox.


  • User Attivo

    Ciao Juanin,
    grazie per la correzzione. In effetti adesso va senza problemi.
    Ho provato ad installare google page speed più firebug su firefox. E analizzato i dati.
    Per capire se adesso funziona la gzip compression, che parametro devo controllare?
    Leggendo i report che mi segnala google page speed su firefox, ho una voce che si chiama: Enable Compressor - con un triangolino arancione vicino e sotto la frase: Compressing the following resources with gzip could reduce their transfer size by 115.7KiB (73% reduction).

    Quindi il gzip compressor che ho attivato nel file .htaccess non funziona?

    Mi vengono segnalati questi elementi:

    • Compressing - url Pagina analizzata - could save 50.7KiB (79% reduction).
    • Compressing /wp-content/themes/tema/style.css could save 19.4KiB (84% reduction).
    • Compressing /wp-content/plugins/featured-content-gallery/scripts/jd.gallery.js.php could save 19.1KiB (76% reduction).
    • Compressing /wp-content/plugins/featured-content-gallery/scripts/mootools.v1.11.js could save 18.5KiB (54% reduction).
    • Compressing /wp-content/plugins/featured-content-gallery/css/jd.gallery.css.php could save 2.7KiB (76% reduction).
    • Compressing /wp-content/plugins/featured-content-gallery/css/jd.gallery.css could save 2.0KiB (72% reduction).
    • Compressing /wp-content/plugins/featured-content-gallery/scripts/jd.gallery.transiti... could save 1.7KiB (77% reduction).
    • Compressing wp-content/themes/tema/js/subnav.js?ver=1.0 could save 544B (60% reduction).
    • Compressing wp-content/plugins/sociable/sociable.css?ver=2.9.2 could save 480B (56% reduction).
    • Compressing stats/php-stats.js.php could save 313B (43% reduction).
    • Compressing /banner_ext.asp?User=249&Tipo=0 could save 180B (38% reduction).
    • Compressing widgets.amung.us/small.js could save 153B (29% reduction).

    Cosa mi consigli di fare?
    Grazie mille


  • Admin

    E' probabile che gzip non consideri i file che usano parametri nella url (?) e quelli con doppio .
    Oppure anche application/x-javascript potrebbe non essere riconosciuto.
    Controlla la specifiche per il riconoscimento di tali file.

    L'alternativa è che non hai il mdulo abilitato su apache.