La validazione di un sito in WordPress è resa ardua sia dalla marcatura generata dalle funzioni del CMS sia dall'interazione con widget e plugin di terze parti. Uno degli errori di validazione più comuni è quello relativo ai valori dell'attributo rel per gli elementi a usati da WordPress. In questo articolo cercheremo di fare chiarezza su questo argomento.
Valori registrati e validi dell'attributo rel
I seguenti valori sono considerati validi dal validatore:
| Valore | Descrizione |
|---|---|
| alternate | Una versione alternativa del documento. |
| stylesheet | Un foglio di stile esterno. |
| start | Il primo documento in una selezione. |
| next | Il documento successivo in una selezione. |
| prev | Il documento precedente in una selezione. |
| contents | Riassunto dei contenuti del documento. |
| index | Indice del documento. |
| glossary | Un glossario di parole usate nel documento. |
| copyright | Un documento contenente informazioni sul copyright. |
| chapter | Un capitolo del documento. |
| section | Una sezione del documento. |
| subsection | Una sottosezione del documento. |
| appendix | Un'appendice del documento. |
| help | Un documento d'aiuto. |
| bookmark | Un documento correlato. |
| nofollow | Usato da Google per non indicizzare una risorsa collegata. |
| license | Un link alle informazioni sul copyright del documento. |
| tag | Un tag per il documento corrente. |
| friend | Sito o risorsa "amica". |
Tutti gli altri valori non sono registrati e dunque non sono validi.
Esempio non valido
Un tipico esempio di marcatura non valida generata da WordPress è quello relativo alla funzione the_category(), che genera una struttura simile a questa:
<a href="https://gabrieleromanato.com/articoli/wordpress/" title="Visualizza tutti gli articoli in Wordpress" rel="category tag">Wordpress</a>
category non è un valore valido, mentre tag lo è.
Soluzione
Possiamo usare un filtro di WordPress:
function no_rel_category($thelist) {
return str_replace('category', '', $thelist);
}
add_filter( 'the_category', 'no_rel_category' );