Come non farsi copiare il sito

Argomenti: , ,
Pubblicato il: 05-05-2021 17:44 , Ultimo aggiornamento: 05-05-2021 17:45

È possibile trovare un modo per non farsi copiare i contenuti del proprio sito? Sì e no, per così dire: possiamo ridurre la possibilità che avvenga, ma la certezza non possiamo mai averla. Vediamo meglio come fare mediante una breve guida pratica sull’argomento.

Come evitare lo scraping via codice

Per evitare che uno script di scraping venga a copiarci l’intero sito a nostra insaputa, possiamo fare una cosa molto semplice: se siamo su server Apache, con qualsiasi CMS (Joomla!, WordPress, ecc.) andiamo ad inserire il seguente blocco all’interno del file htaccess:

# X-Frame-Options
<IfModule mod_headers.c>
# evita che altri siti possano embeddarmi via iframe
Header set X-Frame-Options "SAMEORIGIN"
</IfModule>

questa è una buona tecnica anche per evitare che il sito possa essere ricopiato o embeddato in altri siti mediante tag HTML come gli <iframe>. Funziona diciamo al 99% ed è un buon modo per scansare i problemi legati agli scraper, che possono comunque (purtroppo) aggirare il problema sfruttando, eventualmente, molte altre scappatoie. Prevenire è meglio che curare, ovviamente, ma già da qui si capisce che il problema di evitare la copia di un sito non si può risolvere al 100%.

Questa direttiva HTACCESS evita l’inclusione “tonta” via iframe ma non può impedire, ad esempio, il copia-incolla manuale.

Come bloccare il copia-incolla su un sito

Ci sono varie tecniche per evitare che il contenuto di una pagina HTML possa essere copia-incollato: in genere si basano su Javascript, il linguaggio di programmazione lato client che in questo caso offre tale possibilità disabilitando gli eventi copy, cut e paste.Molte di queste tecniche si basano sull’inclusione di un file esterno (da un sito che può essere una CDN o un server apposito) all’interno del vostro sito, ma sono in genere sconsigliabili perchè poi, di fatto, il sito potrebbe scomparire o il file potrebbe essere cancellato, un giorno, e rischiate di perdere tutto senza preavviso. Come fare allora? La cosa migliore è usare un file JS locale, sul quale abbiate il controllo e per cui ci sia supporto ad esempio al framework jQuery.

Un esempio è riportato in questo git, ad esempio: nella pratica basta aggiungere lo script all’interno di WordPress sfruttando un plugin come Custom CSS & JS, ed inserendo:

<script type="text/javascript">
jQuery(document).ready(function () {

//disabilita uso del tasto destro
jQuery("body").on("contextmenu",function(e){
return false;
});
});

jQuery(document).ready(function () {
//disabilita copia incolla e taglia su tutta la pagina
jQuery('body').bind('cut copy paste', function (e) {
e.preventDefault();
});
</script>

La stessa cosa può essere fatta su qualsiasi CMS o pagina HTML, purchè si sappia integrare il codice javascript nella stessa (che ricordo, per standard HTML va sempre messo nella parte finale della pagina, prima del tag di chiusura </body>. Per chi conosce jQuery, è a questo punto abbastanza agevole sostituire il selettore body con una singola parte, ad esempio, della pagina web che non volete rendere copiabile (ad esempio il tag <article>). Messa così sembra fin troppo semplice, e quasi meraviglia che non lo facciano tutti i siti del mondo: ma c’è un “pero'” abbastanza grosso, che è dovuto al fatto che il blocco è facilmente aggirabile, sia mediante addon dei browser sia smanettando un minimo con la pagina HTML.

Una possibile alternativa è bloccare il copia-taglia-incolla mediante foglio di stile CSS, e questo significa che potete anche provare con questo frammento di CSS:

body {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}

oppure, seguendo l’esempio di prima:

article {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}

il che permette di rendere non copiabile il contenuto indicato dal selettore body o article. Anche questa volta,  il codice è più snello ma il blocco è comunque aggirabile con qualche accortezza da smanettoni, e serve più che altro ad evitare il copia incolla da parte di newbie o principianti. Il web è stato concepito per il copia-incolla, in effetti, per cui troppe misure preventive possono di fatto arrecare danni al sito: ad esempio, questo avviene se queste misura non sono compatibili con alcuni browser, o se il browser non permette l’uso di Javascript (e possiamo farci poco, purtroppo, un po’ come avviene nel caso degli adblocker che molti usano lo stesso nonostante gli avvisi a non farlo).

Google e contenuti duplicati: come comportarsi?

Fin dai tempi della scuola siamo abituati a dileggiare e disprezzare, alla peggio, i “copioni“: quelli che guardano come fai il compito di matematica e cercano di farlo uguale anche loro. Con risultati spesso discutibili (il prof se ne accorge), a volte più clamorosi (il compito copiato prende un voto più alto di quello originale). Ecco, possiamo dire che Google in qualche modo faccia la stessa cosa con i risultati di ricerca: ed è il caso tipico, attestato più volte, di scraper che si posizionano (ancora oggi, a volte) prima dei siti web originali. Diverso è il caso in cui, ad esempio, il sito stesso ricopia contenuti da altri siti in tutto o in parte, oppure (ancora) ripete più volte lo stesso contenuto o contenuti molto simili nello stesso sito, cambiando magari solo una o due parole per fare prima e cannibalizzare, così, il traffico da Google (ovviamente finchè dura fa verdura, ma poi…).

Nel caso di duplicati esterni (altri siti che ci hanno copiato), possiamo segnalarli a Google da qui:

https://developers.google.com/search/docs/advanced/guidelines/report-spam?hl=it

Nel caso di duplicati interni, dobbiamo intervenire nel sito per modificarlo, togliere di mezzo i duplicati, reindirizzare le vecchie pagine duplicate alle nuove ed eventualmente recuperare il traffico in vari modi: su articoli simili, su articoli corrispondenti o sulla home page mediante, ad esempio, canonicalizzazione HTML o tecniche di redirect 302 o 301, ad esempio.

Esiste anche un caso ulteriore di duplicati “tecnici”, per così dire, dovuti a cattiva strutturazione lato SEO del sito o paginazione errata, che porta Google a confondersi e indicizzare la stessa pagina più volte.

Foto di OpenClipart-Vectors da Pixabay

5/5 (2)

Che te ne pare?

Grazie per aver letto Come non farsi copiare il sito di Salvatore Capolupo su Trovalost.it
Come non farsi copiare il sito (Guide, Assistenza Tecnica, Suggerimenti per gestire il tuo sito, Zona Marketing)

Articoli più letti su questi argomenti:
Trovalost.it è gestito, mantenuto, ideato e (in gran parte) scritto da Salvatore Capolupo - Alcuni contenuti e ads mostrate nel sito potrebbero non rispecchiare il pensiero degli autori.