Salve… quest’oggi vorrei parlarti di un argomento che, a volte, viene sottovalutato nella realizzazione dei siti: si tratta dei due file .htaccess e robots.txt.
Ritengo importante, prima di darti degli esempi, chiarirti a cosa servano questi due file.
Vanno messi entrambi nella root del tuo hosting e ti aiuteranno con il SEO on-site.
Il file robots.txt
Iniziamo con il robots.txt: è un file che elenca allo spider di turno cosa può o non può scansionare; è importante ricordare che il rispetto di questo file è su base volontaria da parte di ogni singolo crawler.
Ti mostro un esempio del file robots.txt del sito ingegnerealbano.com:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://ingegnerealbano.com/sitemap_index.xml
Va da se che è possibile “complicare” il file robots.txt… qui potete leggere la pagina Wikipedia al riguardo.
Un dettaglio importante è la direttiva Sitemap che permette a Google (ed altri come Bing) di conoscere l’URL della tua Sitemap (se non sai cos’è una Sitemap ti invito a leggerne qui su Wikipedia).
Vorrei ricordarti che il rispetto del file in oggetto è volontario da parte dello spider di turno: vuol dire che, indicando tutti i percorsi che non vuoi vengano indicizzati, potresti stare anche dando informazioni preziose ad un eventuale attaccante.
È importante, dopo avere posizionato il robots.txt, andarlo a testare con questo ottimo strumento, questo per accertarsi che non abbia errori che impediscano una corretta scansione.
Vorrei anche lasciarti con questa ottima risorsa di Google che spiega altri dettagli di questo importante (e spesso trascurato) file.
Il file .htaccess
Il file .htaccess contiene delle direttive necessarie ad Apache… è un file delicato ed una sua completa trattazione va oltre gli scopi di questo articolo.
Ti mostro un esempio del file .htaccess:
## Reindirizzamento forzato su www e https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
## Abilita la compressione gzip
<IfModule mod_deflate.c>
# Comprimi HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
## Abilita il caching del browser
<IfModule mod_expires.c>
ExpiresActive On
# Immagini
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
# Video
ExpiresByType video/mp4 "access plus 1 year"
ExpiresByType video/mpeg "access plus 1 year"
# CSS, JavaScript
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
# Varie
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>
Ed adesso andiamo a spiegarlo 😉
- La prima direttiva forza la redirezione su www e forza il protocollo https (accertati di avere un certificato ssl installato sul tuo server)
- La seconda direttiva attiva la compressione gzip delle risorse servite
- La terza direttiva abilita il caching del browser
Con un file .htaccess di questo tipo velocizzerai il tuo sito (cosa che ai fini SEO è particolarmente importante).
Può essere che le tue necessità siano leggermente diverse dalle mie (ad esempio vuoi forzare la connessione senza il www iniziale o altro)… in questo caso vorrei lasciarti alcuni link di generatori di .htaccess che potrebbero aiutarti:
- https://www.htaccessredirect.net/
- http://beamusup.com/generate-htaccess/
- https://www.aleydasolis.com/htaccess-redirects-generator/
Questi sono alcuni ma si trovano altri generatori online.
I “Famosi” Redirect 301 (ma anche i 302)
È notorio che, nel caso si dovesse modificare permanentemente l’URL di una pagina, andrebbe fatto un Redirect 301 dalla vecchia pagina alla nuova pagina… ma in soldoni?
In pratica va creata una regola dentro .htaccess che forzi Apache a servire una data URL anche quando ne viene richiesta un’altra.
Aspettate… abbiamo detto spostata permamentemente… e se la dovessi spostare solo temporaneamente? In quel caso andrebbe impostato un redirect con un altro codice di stato HTTP (in particolare si utilizza un Redirect 302; qui il link alla pagina Wikipedia relativa).
Per generare la regola opportuna per il .htaccess puoi usare anche i generatori sopraindicati.
Vorrei anche aggiungere questa ottima risorsa di Google che tratta proprio di come modificare gli URL delle pagine con reindirizzamenti 301.
Conclusioni
Detto questo ti invito a modificare il tuo sito con queste istruzioni: sono semplici da seguire ed aumenteranno sia la velocità che la sicurezza del tuo sito (entrambi fattori da tenere in considerazione quando si parla di SEO).
Grazie per il tempo speso nella lettura 🙂
Rispondi a Aldo Annulla risposta