Rimuovere il meta tag generator in Joomla!

Solitamente, cercando di interpretare la domanda, non si vorrebbe mostrare il software con cui un sito è stato realizzato. Va anche detto che un sito fatto con Joomla! è riconoscibilissimo anche senza il suddetto "tag generator".

Chi conosce i percorsi dei files css o javascript, si accorge subito se è un sito che si avvale di tale CMS. Un' altra "prova del nove" potrebbe essere quella di raggiungere l' area amministrativa, aggiungendo all' url del sito, "administrator" (www.nome-sito.tld/administrator). Se c'è "risposta", cioè se appare la pagina in cui l' amministratore deve loggarsi, dovrebbe apparire la classica pagina di backend di Joomla, personalizzabile anch' essa, ovviamente.

Tornando al tema dell' articolo, il codice in oggetto dovrebbe essere simile al seguente:

<meta name="Generator" content="Joomla! - Copyright (C) 2005 - 2006 Open Source Matters. Tutti i diritti riservati." />

La risposta è si. E' possibile eliminare il meta tag generator di Joomla!.

L' eliminazione dell' elemento meta "generator" dal codice html, non influisce minimamente sulla licenza di Joomla! A suffragio della rimozione in oggetto, va detto che c'è distinzione tra codice sorgente PHP e output prodotto dal codice html.

La maggior parte di coloro i quali utilizzano Joomla!, sanno che esso è distribuito sotto Licenza GPL Versione 2. In essa c'è una dichiarazione esplicita circa il mantenimento del copyright nel codice sorgente. Nella root in cui è installato Joomla!, è presente un file denominato "COPYRIGHT.php". Un estratto del citato file è simile al seguente:

/**
 * @version $Id: index.php 1135 2005-11-20 21:00:27Z stingrey $
 * @package Joomla
 * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 */

Qualsiasi codice html, o parte di esso, inserito nel sorgente oppure generato dagli script PHP non è considerato "codice sorgente", bensì output del sito realizzato con Joomla! Per tale motivo, quindi, non rientra tra quegli elementi che costituiscono il copyright.

Come eliminare il tag generator

Stabilito quanto appena scritto, passiamo adesso alla parte "pratica". I metodi possono essere 2:

  1. intervenire direttamente sul file "head.php" del core di Joomla!;
  2. aggiungere un piccolissimo script php nella header del file index.php del template

Primo metodo

Collegandosi con un programma FTP alla cartella in cui è installato Joomla!, puntare al seguente file:

/libraries/joomla/document/html/renderer/head.php

Si trasferisca tale file sul desktop e lo si apra con un editor preferito. Alla riga 59, circa, è presente una stringa di codice:

$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;

Non si deve fare altro che commentare tale riga affinchè non appaia nel sito di produzione. Vediamo infatti, dopo la modifica, come diventerà il codice:

// $strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;

Salvare il file "head.php" e riportarlo sul server remoto. Aggiornare il sito e la stringa non apparirà più.

Secondo metodo

Aprire il file "index.php" del proprio template con qualsiasi editor. Solitamente, nella parte iniziale di tale file e prima del !DOCTYPE, è presente un blocco di codice PHP contrassegnato dai simboli <?php  e ?>. Se non dovesse esserci, scrivere i simboli di apertura e chiusura del PHP. Tra di essi inserire il seguente snippet di codice:

// Rimuove il meta tag generator 
$this->setGenerator(null);

Con questa semplicissima istruzione è stato "annullato" il valore del tag meta generator. $this si riferisce al template;  setGenerator(null)... si spiega da sè. Salvare il file ed uplodarlo nella cartella del template. Aggiornare il sito e visualizzare la pagina in vista codice. Dovrebbe essere presente un rigo uguale al seguente:

<meta name="generator" content="" />

Come si può vedere, il tag meta è ancora presente ma il suo contenuto è vuoto. Nulla lascia supporre che il sito sia stato realizzato con Joomla! o con qualsiasi altro CMS.