Modifiche al tag < !--more--> per evitare i contenuti duplicati

Scritto il 18 gen 2009 in Wordpress3 commenti letto 826 volte.

Molti webmaster preferiscono spezzare i post mostrati nella home-page o nelle pagine degli archivi (categorie, tag e mensili), utilizzando la funzione the_content abbinata al tag < !–more–> apposta manualmente all’interno di un articolo.

Sebbene questa soluzione sia molto efficace presenta un bug davvero molto importante se lasciata così com’è, infatti crea dei contenuti duplicati per ogni post in cui è inserito, con conseguenti effetti devastanti per il posizionamento del sito stesso.

Ovviamente esiste un sistema semplice e rapido di risolvere questo problema, modificando tale tag, evitando così di intaccare la qualità del proprio blog agli occhi di Google. Andiamo a vederlo.

Correggiamo il tag < !–more–> per dare l’addio ai contenuti duplicati.

Quando si utilizza il tag < !–more–> per spezzare un articolo nel punto di interruzione appare un link che consente all’utente di leggere la parte restante del post. Ebbene tale link è identico al permalink del post stesso, con l’aggiunta del suffisso #more-$id. Facciamo un esempio per capire meglio.

Supponiamo che abbiate un post il cui link è:

miosito.it/url-del-post.html

il link che il tag < !–more–> genererà sarà così:

miosito.it/url-del-post.html#more-1

In pratica avete due url diverse che puntano alla stessa pagina, che agli occhi di Google appariranno come due distinte pagine con gli stessi identici contenuti, che quindi risultano duplicati con tutti gli effetti devastanti generati dal filtro anti-duplicazione. Ma tramite una semplice correzione è possibile ovviare a questo grande inconveniente.

Andate nella cartella di WordPress wp-includes e cercate il file post-template.php, individuate la riga numero 221 dove dovreste trovare questo pezzo di codice:

$output .= ‘ <a href=”‘. get_permalink() . “#more-$id\” class=\”more-link\”>$more_link_text</a>”;

modificatelo in questo modo:

$output .= ‘ <a href=”‘. get_permalink() . “\” class=\”more-link\”>$more_link_text</a>”;

In questo modo avete corretto il bug del tag < !–more–> ed eviterete di ritrovare il vostro blog pieno di contenuti duplicati. Ricordo che tale modifica è testata e funzionante con la versione 2.7 di WordPress, ma ritengo che non crei nessun problema anche con le altre versioni del CMS.

Tags:

Articoli che potrebbero interessarti

3 comments

» Comments RSS Feed
  1. Grazie a questo ottimo suggerimento ho risolto il problema dei maledetti contenuti duplicati anche sulla mia installazione fresca fresca di WordPress 2.8, quindi confermo il suo perfetto funzionamento anche su questa versione. Grazie mille. :)

  2. Dimenticavo di aggiungere che su WP 2.8 la riga in questione non è più la 221 bensì la 226. ;)

    Ciao.

  3. Grazie a te Enrico per la tua utile segnalazione. :)

Scrivi un commento

- Torna alla Home Page di IoWebMaster