PrestaShop: Aggiungere la colonna Produttori nell’elenco dei prodotti del Back-End
6 Febbraio 2015
Eclipse Luna a 64 bit non parte sui sistemi operativi MS a 64 bit
23 Aprile 2015
PrestaShop: Aggiungere la colonna Produttori nell’elenco dei prodotti del Back-End
6 Febbraio 2015
Eclipse Luna a 64 bit non parte sui sistemi operativi MS a 64 bit
23 Aprile 2015
Mostra tutto

Normalmente in Joomla, se sono attive le funzioni SEO e non è installato nessun componente specifico per questa funzione, gli articoli hanno un url del tipo

http://www.sito.it/alias-menu-categoria/idaliasarticolo.html

dove per alias-menu-categoria mi riferisco all’alias della voce di menu che visualizza la categoria in cui si trova l’articolo, con aliasarticolo indico l’alias dell’articolo in questione e con id l’identificatore univoco dell’articolo.

joomlaAliasedId

Per i puristi del SEO questo id è fumo negli occhi, anche perchè al momento è pure inutile; in un altro caso, se per qualche ragione creo un nuova versione dell’articolo con un id diverso ma lo stesso alias, l’url dei due articoli sarà differente con il conseguente problema di reindicizzare il nuovo articolo.

Per fortuna l’articolo How to remove ID from URL in Joomla 2.5 & 3.0 da una soluzione elegante a questo problema.

Non parlo della soluzione completa che si può trovare nelle prime righe, che implica modifiche al core di Joomla e quindi la necessità di ricordarsi di rifarle ad ogni aggiornamento della piattaforma, ma della possibilità di attivare un’opzione nascosta della gestione articoli che è sufficiente nella maggior parte dei casi e non necessita della modifica del router.php (uno dei files più delicati del core di Joomla).

Questa modifica di router.php è infatti necessaria per evitare malfunzionamenti in un caso particolare, ovvero quando si richiama una categoria a cui non è associata nessuna voce di menu.

Negli altri casi è sufficiente modificare il file:

administrator\components\com_content\config.xml

aggiungendo le seguenti righe alla sezione fieldset

[sourcecode]
<field name="sef_advanced_link"
type="radio"
default="0"
label="Sef Advanced Mode"
description="Remove ItemID from Content URL?">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
[/sourcecode]

A quel punto si aggiunge un parametro in più nella schermata dei parametri degli articoli: se si imposta il parametro a Si il codice articolo scomparirà dall’url.

sefAdvancedMode

Vi rimando all’articolo in questione per ulteriori dettagli

7 Comments

  1. admin ha detto:

    Ho aggiunto nell’articolo alcuni particolari tratti dall’articolo originale in inglese

  2. Anwar ha detto:

    Grazie mi è stato molto utile
    Anwar

  3. Stefano ha detto:

    Ma che cosa succede se si elimina l’ID dall’url degli articoli che sono già indicizzati? non si andrebbero a creare contenuti duplicati per URL diversi con e senza ID? Come si comporta joomla?

  4. diego ha detto:

    Grazie molto utile!

  5. Paco ha detto:

    “Questa modifica di router.php è infatti necessaria per evitare malfunzionamenti in un caso particolare, ovvero quando si richiama una categoria a cui non è associata nessuna voce di menu”

    credo sia la ragione per la quale la modifica funziona solo in alcuni dei miei articoli nella mia pagina blog. Speso invece che reindirizzare all’articolo viene visualizzata la pagina 404.

    • Giorgio Mancuso ha detto:

      Io di solito in questi casi uso il trucco di creare un menu di servizio, non visualizzato in nessun modulo, in cui richiamo quello che mi interessa (in particolare una categoria di articoli in formato blog)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *