Il tuo sito web potrebbe essere caduto dopo aver fatto alcune modifiche al tuo file .htaccess. Ma non c’è niente di cui preoccuparsi!
Questo succede con molti SEO che cercano di fare il passo più lungo della gamba facendo correzioni tecniche.
Di solito, le modifiche fatte attraverso la dashboard di WordPress danno un mini attacco di panico perché si è bloccati dalla dashboard una volta che si aggiorna il file .htaccess errato.
I file .htaccess sono sia una manna che una rovina per i SEO in quanto ti aiuta a personalizzare le funzioni del tuo sito web.
A partire dalla protezione dei file con una password, facendo un reindirizzamento 301 o impostando una pagina di errore speciale, .htaccess è utile se il tuo sito web gira su Apache Web Server.
Se sei qualcuno che sta cercando una soluzione rapida per far tornare il tuo sito web dal vivo dopo un errore di aggiornamento .htaccess o se vuoi saperne di più su come ottimizzare il .htaccess del tuo sito web, questa è la risorsa che pensavi non esistesse.
Vi daremo alcune correzioni .htaccess molto veloci e consigli in modo che voi, come SEO, possiate ora fare con fiducia le modifiche al sito web senza preoccuparvi delle conseguenze.
Sapete già cos’è .htaccess e quanto sia utile per un webmaster che gestisce un web server Apache.
Tuttavia, spiegherò alcune basi di .htaccess per i principianti per aiutarli a capirlo prima di implementarlo.
Sentitevi liberi di passare al capitolo di vostra scelta utilizzando la tabella dei contenuti.
- Cos’è .htaccess?
- Per cosa sta .htaccess?
- A cosa serve .htaccess?
- Dove puoi trovare il file .htaccess?
- E se il tuo sito web non ha un file .htaccess?
- Passi per creare un file .htaccess personalizzato
- Cosa fare se vieni bloccato fuori dalla dashboard di WordPress dopo aver aggiornato il file .htaccess?
- Perché vedi un errore dopo aver aggiornato il file .htaccess?
- Quali sono i messaggi di errore comuni che si ottengono dopo aver aggiornato il file .htaccess?
- Ecco l’elenco dei codici di errore che i server web visualizzano quando non riescono a recuperare i dati richiesti.
- Erori di richiesta del cliente
- Erori del server
- A cosa serve .htaccess?
- Redirects
- Urls amichevoli per SEO
- Abilitare la compressione Gzip
- Abilitare l’opzione Deflate
- Utilizzare .htaccess per migliorare la scansione e l’indicizzazione
- Conclusione
- Svantaggi del file .htaccess
- Svantaggi di .htaccess file
Cos’è .htaccess?
.htaccess è un file di configurazione che può essere letto ed eseguito dal software Apache Web Server per abilitare/disabilitare funzionalità e caratteristiche aggiuntive. Poiché il file .htaccess esiste in un ambiente basato su Unix e rende a livello di directory, sovrascrive le impostazioni globali del server web permettendo una configurazione personalizzata dell’accesso al sito web.
Per cosa sta .htaccess?
.htaccess è un acronimo di “hypertext access”. Il nome è stato derivato dopo che il file è diventato popolare tra gli sviluppatori che lo usavano per modificare le funzioni di accessibilità dell’utente su una base per directory.
.htaccess utilizza le direttive http.config del server Apache per consentire e limitare l’accesso alle directory per gli individui che utilizzano nomi utente e password. Tuttavia, quando si tratta di SEO, .htaccess ha un ruolo ancora più grande da giocare.
A cosa serve .htaccess?
Se avete un sito web che si presenta con diversi requisiti su una base costante, considerate .htaccess come una manna.
Come SEO, .htaccess è utile perché puoi usarlo per dare direttive al server web per 301 reindirizzamenti, abilitare il caching, aggiornare le intestazioni HTTP, controllare il crawling, rendere gli URL SEO friendly e molto altro!
Dove puoi trovare il file .htaccess?
Siccome .htaccess è una configurazione a livello di directory, puoi trovarlo in quasi tutte le cartelle della tua directory web. Se hai una singola directory web con più sottodirectory (sito web), il file .htaccess può essere trovato nella directory principale e in ogni sottodirectory.
Se sei un utente di WordPress, il modo migliore per accedere al file .htaccess è attraverso l’opzione Yoast Plugin.
Attenzione: Poiché .htaccess non è qualcosa con cui i principianti dovrebbero giocare, vi consiglio di testarlo sul sito demo. Inoltre, è necessario avere ampie conoscenze sull’uso di Filezilla per accedere alla cartella principale se si viene bloccati fuori dall’amministrazione di WordPress.
Se state gestendo un sito WordPress, ci sono una manciata di plugin che supportano la modifica del file .htaccess. Poiché la maggior parte degli utenti di WordPress scelgono Yoast come plugin SEO predefinito, lasciatemi spiegare come è possibile modificare il file .htaccess nella Dashboard di Yoast all’interno di WordPress.
Passo 1: Accedi al tuo cruscotto amministrativo di WordPress
Passo 2: Apri le impostazioni di Yoast
Passo 3: Apri gli strumenti
Passo 4: All’interno degli strumenti, seleziona “File Editor”
Passo 5: Modifica il file .htaccess e salva
Nella maggior parte dei siti WordPress, .htaccess viene fornito con questa configurazione predefinita:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
# END WordPress
E se il tuo sito web non ha un file .htaccess?
Siccome .htaccess è un file di configurazione generato automaticamente, nel 99% dei casi, sarà presente. Tuttavia, di solito è un file nascosto nelle directory e i webmaster pensano che manchi. Basta abilitare “mostra i file nascosti” e dovresti essere in grado di trovarlo.
Se non riesci a trovare il file .htaccess anche dopo aver fatto questo, potresti doverne scrivere uno manualmente e caricarlo sul tuo server web.
Passi per creare un file .htaccess personalizzato
Passo 1: Aprire il blocco note
Passo 2: Digitare la configurazione (per testare utilizzare la configurazione predefinita fornita sopra)
Passo 3: Salvare il file in ASCII con nome .htaccess
Passo 4: Assicurarsi che il file non venga salvato in formato .txt
Passo 5: Usa Filezilla per caricare il file .htaccess nella tua directory web
Nota: Se sei un utente di WordPress e hai un campo vuoto per il file .htaccess, basta aggiungere la configurazione e salvare.
Cosa fare se vieni bloccato fuori dalla dashboard di WordPress dopo aver aggiornato il file .htaccess?
Potresti aver aggiornato il file .htaccess usando Yoast o usando WP File Manager e sei rimasto bloccato fuori dalla dashboard. Niente panico. Questo può essere facilmente risolto.
Se sei un SEO, ottieni l’accesso FTP del tuo sito web dallo sviluppatore che gestisce il server. Se hai bisogno dell’aiuto di un esperto, il tuo sviluppatore potrebbe essere il miglior aiuto.
Step 1: Accedi alla tua directory web usando FileZilla
Step 2: Scarica il file .htaccess dalla directory
Step 3: Aggiorna il file .htaccess con la configurazione predefinita e salvarla
Step 4: Sostituisci il vecchio file .htaccess nella directory con quello nuovo
Nota: Se la tua priorità è quella di riportare il sito online il prima possibile, usa il codice predefinito. Tuttavia, se avete fatto molte modifiche al file .htaccess, cercate di trovare il codice che si è ritorto. Rimuovilo prima di caricarlo di nuovo sul server.
Perché vedi un errore dopo aver aggiornato il file .htaccess?
Se sei un SEO che cerca di imparare .htaccess in profondità, è probabile che tu finisca per fare qualche errore all’inizio. Questo va perfettamente bene finché non capisci perché il server web ha segnalato un errore.
Ci sono alcuni problemi comuni che i SEO incontrano quando si tratta di aggiornare il file .htaccess. Ecco la lista dei problemi .htaccess più comuni.
- Override disabilitato: Affinché il vostro file .htaccess funzioni, dovete prima abilitare l’opzione AllowOverride. Se l’opzione AllowOverride è impostata su None, tutte le configurazioni impostate in .htaccess saranno disabilitate. Per assicurarti che l’opzione Override sia abilitata, segui questo passo:
Passo 1: Apri il file di configurazione di Apache (http.conf)
Passo 2: Imposta la direttiva Allow OverRide come : AllowOverride All
Step 3: Salvare il file Apache Config e riavviare il server Apache
- Nome del file scritto male: Questo è il secondo errore più comune che i SEO fanno. Poiché .htaccess è un file di configurazione basato su Unix salvato in ASCII, un errore di ortografia si tradurrà in un errore. Se il file non inizia con un “.” o viene caricato in un formato diverso come .txt, il server Apache ignorerà il file e la configurazione che avete impostato.
- Gerarchia di .htaccess Importa: i file .htaccess vengono eseguiti in base alla loro gerarchia. Alcune regole impostate all’inizio dei file .htaccess potrebbero annullare le regole che vengono nella fase successiva della configurazione. Se pensate che queste siano critiche, provate a spostare la configurazione particolare verso l’alto.
- File .htaccess multipli: Poiché i file .htaccess possono essere utilizzati per directory, c’è la possibilità che il tuo sito web stia utilizzando più file .htaccess. In questi casi, un file può contraddire la configurazione impostata in un altro, causando errori. Puoi risolvere questo problema disabilitando i singoli file .htaccess.
- Errore di sintassi: Il file .htaccess funziona completamente in base alla sintassi che viene utilizzata per configurare il tuo sito web. Un errore di sintassi sul file può portare il tuo sito offline e causare un attacco di panico. Quindi è imperativo capire la sintassi prima di aggiornare i vostri file .htaccess.
Quali sono i messaggi di errore comuni che si ottengono dopo aver aggiornato il file .htaccess?
Ogni volta che un utente visita il tuo sito web, sta interagendo con il server web direttamente o indirettamente. Le pagine che ottengono cliccando, le immagini e le altre risorse che vedono sono recuperate dal server web, il che significa che tu come webmaster puoi limitarlo.
Alcuni siti web usano .htaccess per impostare l’autenticazione per accedere ai siti web. Quando si tratta di SEO, lo usano per garantire che gli utenti e i bot dei motori di ricerca abbiano facile accesso alle pagine che contano di più. Se il sito web non riesce a fornire le informazioni richieste, un codice di errore viene generato dal server web in base alle configurazioni impostate nel file .htaccess.
Ecco l’elenco dei codici di errore che i server web visualizzano quando non riescono a recuperare i dati richiesti.
Erori di richiesta del cliente
- 400 – Richiesta errata: Struttura URL non valida. Il server non è in grado di capire la richiesta sollevata dall’utente.
- 401 – Autorizzazione richiesta: Questi messaggi vengono visualizzati quando l’accesso alla pagina è stato limitato dai webmaster.
- 402 – Pagamento richiesto (non ancora usato): Se l’avvio del pagamento non avviene, generalmente viene dato questo codice.
- 403 – Forbidden – La semplice ragione per cui si ottiene un errore 403 è perché si sta cercando di accedere a una risorsa che ha un permesso limitato. Un sito web visualizza errori 403 forbidden quando gli utenti cercano di accedere a una pagina che richiede l’autenticazione.
- 404 – Non trovato: 404 è una chiara indicazione agli utenti che l’URL richiesto non è disponibile sul sito web. Può essere a causa di un errore di battitura nell’URL o quando la pagina è stata rimossa dal sito.
- 405 – Method Not Allowed: Questo codice di stato di risposta HTTP indica che il server ha rifiutato di accettare il metodo di richiesta nonostante la comprensione dello scopo della richiesta.
- 406 – Non accettabile (codifica): Questo di solito accade quando il server non può rispondere con la richiesta accept-header.
- 407 – Proxy Authentication Required: Questo errore indica che la richiesta non può essere soddisfatta a causa della mancanza di autenticazione del server proxy tra il browser e il server.
- 408 – Request Timed Out: Questo è uno dei comuni errori HTTP che i webmaster incontrano quando il server non riesce a ricevere una richiesta completa dal lato client entro il periodo di timeout assegnato.
- 409 – Conflicting Request: Questo errore si verifica quando lo stato della risorsa di destinazione è in conflitto con lo stato attuale. Per risolvere l’errore, identificate il conflitto e inviate di nuovo.
- 410 – Gone: Questo codice di errore rappresenta che l’accesso alla risorsa richiesta è stato permanentemente rimosso dal server e rimarrà tale per tutto il tempo.
- 411 – Content Length Required: L’errore rappresenta l’incapacità del server di accettare la richiesta del client a causa della mancata definizione dell’intestazione content-length.
- 412 – Precondition Failed: L’errore è causato da uno scontro di sicurezza con una o molte delle configurazioni di sicurezza che sono state implementate sul vostro server.
- 413 – Request Entity Too Long: Quando la risorsa richiesta è troppo grande per essere caricata dal server, l’utente può sperimentare l’errore 413.
- 414 – Richiesta URI troppo lunga: Basta pensare a una struttura di URL superiore a 2048 caratteri. Il server non può decifrare l’errore 414 risultante.
- 415 – Unsupported Media Type: Questo errore si presenta quando il server rifiuta di caricare una risorsa che è in un formato media non supportato.
Erori del server
- 500 – Errore interno del server
- 501 – Non implementato
- 502 – Bad Gateway
- 503 – Servizio non disponibile
- 504 – Timeout del gateway
- 505 – HTTP Version Not Supported.
A cosa serve .htaccess?
Redirects
Hai appena cambiato il nome del dominio del tuo sito web?
Come SEO, sicuramente non vuoi che i tuoi utenti vedano una pagina 404, né vuoi che tutta l’autorità duramente guadagnata svanisca.
Considera il tuo .htaccess come la panacea per entrambe queste preoccupazioni. Aggiungere la direttiva di reindirizzamento al vostro file .htaccess vi aiuterà a reindirizzare il vostro traffico e l’autorità del sito al nuovo dominio.
La cosa interessante è che potete fare lo stesso quando si tratta degli URL all’interno del vostro sito web. Creando una direttiva di reindirizzamento 301, spingi i tuoi utenti e i bot dei motori di ricerca che cercano di accedere a un vecchio URL a leggere una nuova pagina all’interno del tuo sito.
Esempio di reindirizzamento a livello di dominio con .htaccess:
# This allows you to redirect your entire website to any other domain
Redirect 301 / http://example.com/
Esempio di reindirizzamento a livello di URL con .htaccess:
RedirectMatch 301 ^/old-url.html$ /new-url.html
Urls amichevoli per SEO
La tua struttura di URL è incasinata? Gli utenti e i bot dei motori di ricerca non riescono a capire cosa c’è all’interno della pagina? Questo succede a molti webmaster.
L’incapacità di prestare attenzione alla struttura dell’URL inizialmente diventa un grande dolore dopo che il sito web guadagna autorità.
Utilizzando gli .htacces, è possibile impostare la struttura dell’URL corretta per il tuo sito web.
In aggiunta a questo, qualsiasi estensione che viene insieme al vostro URL, per esempio, .html o .php può essere facilmente rimosso aggiungendo direttive al .htaccess.
Esempio 1: Usare .htaccess per rimuovere le estensioni nell’URL
Rimuovere .php come estensione
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ .php
Rimuovere .html come estensione
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ .html
Esempio 2: Usare .htaccess per rendere gli URL minuscoli
Metodo 1
RewriteCond %{REQUEST_URI}
RewriteRule . ${lc:%{REQUEST_URI}}
Il codice di cui sopra avrà un impatto su tutte le strutture URL, incluso il nome di dominio.
Metodo 2
RewriteCond %{REQUEST_URI}
RewriteRule ^.+.html$ ${lc:%{REQUEST_URI}}
Il precedente avrà un impatto solo sui nomi dei file html.
Esempio 2: Utilizzo di .htaccess per la riscrittura dinamica degli URL
RewriteEngine On
RewriteRule /(.*)/(.*)/$ page.php?category=&product=
Bad URL: site.com/page.php?category=2&product=54
Good URL: site.com/sandwiches/rueben-sandwich/
- Using .htaccess per migliorare la velocità del sito
La velocità della pagina è il nuovo hoo-ha tra i webmaster.
Hanno tutte le ragioni per creare l’agitazione poiché Google ora la considera come uno dei fattori principali mentre classifica le pagine sulla SERP.
Google non vuole che gli utenti abbiano una cattiva esperienza dalle prime pagine elencate.
Inoltre, un sito web a caricamento lento consuma un sacco di budget di crawl.
Uno dei modi più semplici e sicuri per migliorare la velocità del sito web è configurando il tuo .htaccess.
- Abilitando la funzione cache
Abilitando la funzione cache nel file .htaccess, le risorse del sito web vengono memorizzate sul browser del visitatore permettendo un caricamento veloce.
È possibile abilitare la cache utilizzando due metodi diversi
ExperiesByType – Utilizzando questo metodo in .htaccess, è possibile impostare un intervallo di tempo di cache, ovvero la scadenza per ogni risorsa all’interno del vostro sito web.
Esempio:
<ifModule mod_headers.c>
# YEAR
<FilesMatch ".(ico|gif|jpg|jpeg|png|flv|pdf)$">
Header set Cache-Control "max-age=29030400"
</FilesMatch>
# WEEK
<FilesMatch ".(js|css|swf)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# 45 MIN
<FilesMatch ".(html|htm|txt)$">
Header set Cache-Control "max-age=2700"
</FilesMatch>
</ifModule>
Cache-Control Header – L’intestazione Cache-control utilizza l’età massima per le risorse prima della scadenza.
Esempio:
# One month for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>
Abilitare la compressione Gzip
L’unica ragione che deteriora la velocità di un sito web è la dimensione delle sue risorse. Abilitando gzip nel vostro file .htaccess, potete ridurre la dimensione delle immagini, la dimensione dei file e la quantità dei file durante l’invio dei dati al browser lato client.
Abilitare gzip è una delle direttive .htaccess più semplici.
Ecco un esempio:
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
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>
Abilitare l’opzione Deflate
Alcuni server web non supportano gzip, quindi il sito potrebbe incorrere in errori. In questi casi, si consiglia di utilizzare l’opzione deflate nel file .htaccess.
Ecco un esempio:
<IfModule mod_deflate.c>
# Compress text, HTML, JavaScript, CSS, XML
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
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/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/plain
AddOutputFilterByType DEFLATE text/xml
# The following lines are to avoid bugs with some browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI !no-gzip !gzip-only-text/html
# Do not cache if these files are already cached
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip
# Proxies must give the right content
# Header append Vary User-Agent env=!dont-vary
Header append Vary User-Agent
</IfModule>
Utilizzare .htaccess per migliorare la scansione e l’indicizzazione
Potresti già usare il file robot.txt per permettere e non permettere ai motori di ricerca di scansionare e indicizzare il tuo sito. Tuttavia, è possibile che tu abbia risorse diverse da una pagina web sul tuo sito. In questi casi, il rbot.txt potrebbe non funzionare.
Se vuoi che alcune risorse, come un PFD o un documento Word, non siano indicizzate, il modo migliore per farlo è impostare un tag X-robots nel tuo file .htaccess.
L’intestazione personalizzata del file .htaccess può funzionare con tutte le direttive indexer.
Esempio:
<FilesMatch ".(docx|pdf)$">
Header add X-robots-tag "noindex, noarchive, nosnippet"
</FilesMatch>
In questo caso, qualsiasi file con estensione .doc e .pdf sarà considerato come noindex, noarchive, nosnippet.
Conclusione
Quasi tutti i server Apache hanno un file di configurazione preimpostato. Tuttavia, questo si applica all’intero sito e quindi è difficile impostare la configurazione a livello di directory.
Ecco dove .htaccess è una benedizione. È possibile impostare la configurazione a livello di directory e sottodirectory utilizzando .htaccess per sovrascrivere le impostazioni di configurazione di Apache.
In aggiunta a questo, è possibile utilizzare semplici codici di configurazione per impostare l’autenticazione. Questo è più utile se hai un hosting condiviso con più siti web.
Svantaggi del file .htaccess
- Legge tutte le richieste
- Modifica immediata senza riavviare il server
- Gestisce efficacemente l’accesso degli utenti in base alle preferenze
- Imposta la configurazione a livello di directory
- Una vera manna per i SEO
Svantaggi di .htaccess file
- .htaccess file può aumentare i rischi di sicurezza nell’esecuzione di un sito
- Per quanto riguarda la configurazione a livello di server, il file .htaccess viene cercato e letto ogni volta che una pagina viene caricata
- Ha un impatto sulla velocità di un sito web, che guida il traffico in milioni.
I file .htaccess non sono raccomandati come metodo di configurazione del server a causa di problemi di sicurezza e prestazioni.