Al giorno d’oggi, è difficile immaginare un sito web senza JavaScript che lo rende dinamico. Sebbene non succeda quotidianamente, il browser usato dai tuoi lettori potrebbe non supportare JS o la funzionalità potrebbe essere disabilitata. In questo caso, è fondamentale fornire ai visitatori una versione alternativa del sito web con tag noscript.
L’elemento HTML <noscript> definisce una sezione di HTML da inserire se un tipo di script nella pagina non è supportato o se lo script è attualmente disattivato nel browser.
Il tag <noscript> fornisce quindi un contenuto alternativo da visualizzare agli utenti che hanno gli script disabilitati nel browser o hanno un browser che non supporta gli script.
L’elemento <noscript> può essere usato sia nell'<head> HTML che nel <body>. Se utilizzato nell'<head>, l’elemento <noscript> può contenere solo elementi: <link>, <style> e <meta>.
Se lo scripting è abilitato nel browser, il contenuto presente nel tag <noscript> non verrà visualizzato.
In una guida precedente avevo parlato delle metodologie SEO friendly per nascondere testo. Ecco, il tag noscript non serve a nascondere testo. In un documento ufficiale di Google relativo al testo nascosto afferma quanto segue:
Tuttavia, non tutto il testo nascosto è considerato ingannevole. Ad esempio, se il tuo sito include tecnologie a cui i motori di ricerca accedono con difficoltà, come JavaScript o immagini, l’utilizzo di testo descrittivo per tali elementi può migliorare l’accessibilità del tuo sito…
Javascript: inserisci gli stessi contenuti di JavaScript in un tag noscript. Se utilizzi questo metodo, accertati che i contenuti siano identici a quelli presenti in JavaScript e che vengano visualizzati anche dai visitatori che non hanno attivato JavaScript nel proprio browser.
https://developers.google.com/search/docs/advanced/guidelines/hidden-text-links?hl=en
Sintassi
In HTML, la sintassi per il tag <noscript> è la seguente:
<script>
document.write("Hello World!")
</script>
<noscript>Your browser does not support JavaScript!</noscript>
Esempio
<noscript>
<!-- anchor linking to external file -->
<a href="https://www.mozilla.com/">Link esterno</a>
</noscript>
<p>Grazie!</p>
Risultato con script abilitato:
Grazie!
Risultato con script disabilitato:
Link esterno
Grazie!
Compatibilità
Alla data in cui scrivo il tag <noscript> viene supportato dai seguenti browser:
- Chrome
- Android
- Firefox (Gecko)
- Firefox Mobile (Gecko)
- Internet Explorer (IE)
- Edge Mobile
- Opera
- Opera Mobile
- Safari (WebKit)
- Safari Mobile
noscript ed implicazioni SEO
I tag Noscript possono essere utili per la tua SEO in diverse circostanze. Sfortunatamente, quando vengono utilizzati in modo errato, i tag noscript possono anche essere problematici.
Google indicizza i contenuti del tag noscript e segue i link contenuti in esso (fonte).
Quindi, se stai usando Javascript, dovresti sempre inserire contenuti alternativi nei tag noscript per assicurarti che il contenuto venga indicizzato, giusto? Non necessariamente.
In alcune circostanze potrebbe capitare che Google visualizzi il tuo contenuto noscript negli snippet di ricerca o anche al posto di una meta descrizione. Questo può danneggiare il tuo CTR e di conseguenza peggiorare il posizionamento nei motori di ricerca.
inoltre, se Google dovesse pensare che tutte le pagine del tuo sito dicano la stessa cosa perché hanno tag noscript identici, Google potrebbe visualizzare solo una di quelle pagine nei risultati di ricerca, rifiutandosi di visualizzare le altre. Questo problema è particolarmente risentito da framework in JavaScript dove Google fatica a renderizzare le pagine e quindi vedrebbe prevalentemente solo il testo del tag noscript.
Utilizzando i tag noscript per visualizzare messaggi sulla falsariga di “Javascript dovrebbe essere abilitato nel tuo browser” su ogni pagina del tuo sito che utilizza quel linguaggio di programmazione, potresti anche dare ai motori di ricerca un’impressione sbagliata sui contenuti del tuo sito. Pensala in questo modo: la parola “Javascript” apparirà almeno una volta su ogni pagina come parte di questo messaggio automatico. Di conseguenza, è importante utilizzare contenuti univoci su ogni pagina per non rischiare di essere penalizzati per contenuti duplicati.
Quindi, ecco alcune cose da tenere a mente:
- Evita di pubblicare contenuti noscript molto lunghi ed identici su tutte o molte delle tue pagine.
- Se ritieni che un messaggio identico sia importante per gli utenti, pubblica il tuo messaggio come immagine all’interno di un tag noscript o semplicemente come immagine statica sotto un elemento javascript, anziché come testo normale. In questo modo, Google non indicizzerà il testo.
- Assicurati che il contenuto di noscript rifletta accuratamente il contenuto dello script.
- Idealmente, ogni pagina di un sito basato su JS dovrebbe utilizzare almeno un contenuto HTML statico univoco. Un tag title e un tag h1 sono particolarmente importanti, ma anche un certo grado di testo in paragrafi sarebbe l’ideale se può essere reso utile per i visitatori.