due chiacchiere

Nascondere la sitemap di WordPress

Ogni tanto spulcio tra le statistiche d’accesso fornite dal mio provider, un po’ per la curiosità di vedere quanti visitatori umani leggono questi post che scrivo, un po’ per capire se qualcuno sta cercando una qualche porticina per entrare furtivamente e far danni. Il mese scorso ho notato vari accessi da parte del motore Yandex ad una pagina di cui, sinceramente, ignoravo l’esistenza: /wp-sitemap.xml. Spulciando in rete, ho scoperto che a partire dalla versione 5.5 di WordPress, il sistema genera automaticamente quel file, che contiene non solo l’elenco di tutti i post del blog, ma anche le categorie e, con mio stupore, anche l’elenco degli autori del blog. In tanti hanno criticato questa scelta come un evidente aiuto ai malfattori digitali, visto che fornisce loro su un piatto d’argento, in parole povere, la lista dei nomi utente che hanno accesso al pannello di controllo del blog. Se usi Yoast SEO o plugin simili, il problema può essere aggirato configurando le opportune opzioni. Ma per i minimalisti come me, che usano tre plugin in croce, occorre arrangiarsi da soli.

Ho trovato vari pezzi di codice da aggiungere al functions.php del proprio tema, ma non sembrano dare l’effetto desiderato, probabilmente perché dalla versione 5.5 ne è passata di acqua sotto i ponti, e la maggior parte della gente usa soluzioni di terze parti. Scava che ti ri-scava, alla fine ho trovato questa linea di codice che, aggiunta al functions.php, disattiva completamente la sitemap di WordPress:

add_filter( 'wp_sitemaps_enabled', '__return_false' );

Che per me va più che bene, dato che il mio tema include una funzione che genera la mappa in questione come voglio io, senza fronzoli e soprattutto senza dati che i mascalzoni dell’interweb potrebbero usare per perpetrare i propri subdoli piani. Mentre aggiornavo il mio tema, ho poi scoperto un bug che era lì da un bel po’ di tempo, e che non avevo mai notato. In breve, quando il server eseguiva il wp-cron periodico (invece di farlo fare direttamente a WordPress, ed evitare quindi altri problemi di sicurezza),  una variabile d’ambiente non era definita, e questo faceva si che la sitemap non venisse aggiornata. Per i pochi curiosi, trovi il fix in questa commit sul mio repository.

Lascia un commento

Torna in cima alla pagina