Risolti i problemi di validazione del codice
Finalmente penso di aver risolto i problemi di validazione del codice (XHTML ed RSS). Nel caso possa servire a qualcuno di voi che utilizza Wordpress e che è interessato ad un codice più pulito cercherò di ricapitolare problemi e soluzioni.
Il file footer.php del tema KubricK di Wordpress
Alla linea 12 del file footer.php del tema Kubrick di Wordpress in italiano (anche nella versione 2.0.4) è presente il seguente commento:
<!-- Lo splendido design del template è di Michael Heilemann - http://binarybonsai.com/kubrick/ -->
La lettera “è” non è conforme alla codifica utf-8 che è quella utilizzata da Wordpress. Questo non permette al validatore di effettuare l’analisi della pagina in quanto si aspetta che tutti i caratteri siano conformi all’utf-8. Non è possibile sostituire “è” con “é” ma si puo ad esempio sostituirla con ” e’ “. Otteniamo il codice (o meglio commento) seguente:
<!-- Lo splendido design del template e' di Michael Heilemann - http://binarybonsai.com/kubrick/ -->
A questo punto è possibile sottoporre le nostre pagine alla validazione XHTML.
Il file wp-rss2.php di Wordpress
Si tratta del file che si occupa di generare i feed RSS 2.0 e si trova nella cartella principale di Wordpress. Se si sottopone il feed alla feed validation (è se non sono stati introdotti altri errori) è molto probabile che venga convalidato ma compaiono dei warning. I warning sono semplicemente dei consigli che vengono proposti per un migliorare il nostro codice. Il classico avviso che compare è il seguente:
"wfw:commentRSS should be wfw:commentRss"
La soluzione è quella di sostituire alla riga 50 del file wp-rss2.php il tag wfw:commentRSS con il tag wfw:commentRss. Infatti solo il secondo è conforme alle specifiche RSS. Non capisco come mai non sia stato ancora corretto. Addirittura in fondo alla pagina dell’help c’e’ un riferimento esplicito agli utilizzatori di Wordpress.
Il secondo warning che compare è il seguente:
"Avoid content:encoded"
Quest’avviso si riferisce al fatto che all’interno del file wp-rss2.php vengono utilizzati due tag ( <description> e <content:encoded>) che hanno la stessa funzione. Questa soluzione è stata introdottà in modo tale che sia possibile all’aggregatore di feed poter visualizzare l’intero post o solo un sommario. Leggendo qua è là non sono riuscito a trovare una soluzione esaustiva. Quella che ho adottato è stata di rinunciare ad avere un sommario dei feed eliminando le righe 41 e 43 e sostituendo il tag <content:encoded> con il tag <description> alle righe 45 e 47. In questo modo ho eliminato ogni warning dalla validazione feed.
Il plugin googleanalytics.php
Se state utilizzando questo plugin per la gestione delle statistiche di Google Analytics e ci tenete alla validazione di XHTML e feed vi consiglio di apportare due piccole modifiche. Questo plugin và a modificare il codice HTML del blog inserendo la funzione onclick nei collegamenti ipertestuali in modo da monitorare i click di uscita e fornire ottime statistiche. Nella versione 0.51v (l’ultima fino ad ora) è presente un piccolo baco che va a sporcare il codice HTML. Se visualizzate il codice HTML di una pagina vedrete che all’interno del tag <a> non viene lasciato alcuno spazio tra i parametri href e title. La soluzione è quella di inserire uno spazio alla riga 219 di googleanalytics.php subito dopo gli apici “.
Inoltre la presenza della funzione onclick non permette di ottenere la validazione del feed senza warning. La soluzione è quella di sostituire nel file wp-rss2.php la funzione the_content con la funzione the_content_rss. In reltà questa funzione dovrebbere essere quella da utilizzare secondo le specifiche.
Cliccando sui due bottoni antipixel appositi della barra laterale potete verificare che è tutto OK!
I bottoni antipixel relativi a css e xhtml sono stati presi da www.antipixel.com mentre il terzo è opera mia.
(UPDATE 23/06/06): Purtroppo la sostituzione di the_content_rss con the_content non permette di visualizzare correttamente le immagini dei post negli aggregatori di feed. Quindi per il momento mi accontenza della validazione rss e di un solo warning relativo all’onclick.