WordPress include molte cose tramite il hook wp_head() incluso nella maggior parte dei temi. La maggior parte di queste cose le considererei non necessarie. Poche righe di codice extra nel tuo header probabilmente non rallenteranno molto il tuo sito, ma mi piace mantenere le cose il più pulite ed efficienti possibile.
In questo rapido post, spiegherò come rimuovere quanto segue dall'output tramite il hook wp_head.
- Link Really Simple Discovery (RSD)
- Link Windows Live Writer
- Notifica generatore WordPress
- Link relazionali dei post
Continua a leggere per la descrizione di ciascuno di questi per vedere se ne hai bisogno o meno, e come rimuoverli.
Really Simple Discovery
Questo è il codice che visualizza il seguente codice nel tuo header:
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />
Questo è il meccanismo di scoperta utilizzato dai client XML-RPC. Se non hai idea di cosa significhi e/o non integri servizi come Flickr con il tuo sito WordPress, è probabilmente sicuro rimuoverlo con il seguente codice nel file functions del tuo tema.
remove_action('wp_head', 'rsd_link');
Windows Live Writer
Questo è il motivo per cui vedi il seguente codice nel tuo header.
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />
Se non usi Windows Live Writer, allora questo codice è completamente inutile per te e dovrebbe essere rimosso.
remove_action('wp_head', 'wlwmanifest_link');
Generatore WordPress
Questo è ciò che visualizza il numero della tua versione di WordPress nel tuo header.
<meta name="generator" content="WordPress 2.8.4" />
Nessuno ha davvero bisogno di conoscere la versione esatta di WordPress che stai usando, quindi è sicuro rimuovere questa riga di codice.
remove_action('wp_head', 'wp_generator');
Link Relazionali dei Post
I link relazionali dei post sono il motivo per cui queste cose vengono visualizzate su varie pagine.
<link rel='index' title='Main Page' href='http://www.themelab.com' />
<link rel='start' title='Article in the distant past' href='http://www.themelab.com/hello-world/' />
<link rel='prev' title='The Post Before This One' href='http://www.themelab.com/post-before/' />
<link rel='next' title='The Post After This One' href='http://www.themelab.com/post-after/' />
Non ho ancora trovato un motivo valido per tenerli. Alcuni browser potrebbero usare questo codice per navigare il tuo sito, anche se probabilmente puoi ottenere lo stesso effetto da un tema ben progettato. Avrai bisogno di tre righe per eliminarli tutti.
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
Template functions.php
Per tua comodità, ecco tutti combinati per copiare e incollare facilmente nel file functions.php del tuo tema.
<?php
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
?>
Infatti, questo è l'intero file functions.php che sto usando sul mio nuovo tema archivio tweet. Se dai un'occhiata al codice, il tag <head> contiene solo tre righe: la dichiarazione meta charset, il tag title e il link allo stylesheet.
Una nota sui temi rilasciati
Quando sviluppi temi per il rilascio, fai attenzione nel rimuovere alcuni di questi, specialmente i primi due: supporto XML-RPC e Windows Live Writer.
Il motivo dovrebbe essere abbastanza ovvio, perché alcuni dei tuoi utenti probabilmente useranno qualcosa come Windows Live Writer, e torneranno da te chiedendo supporto quando non riusciranno a capire perché non funziona con il tuo tema.
Gli altri elementi, la notifica del generatore WordPress e i link relazionali dei post, possono probabilmente essere rimossi in sicurezza in quasi tutte le situazioni.
Conclusione
Come ho detto nell'introduzione, non è un *enorme* problema se non li rimuovi e non lo definirei un "must" su ogni nuovo sito WordPress che sviluppi. Se sei come me e non ti piacciono le righe di codice inutili, probabilmente vorrai comunque farlo solo per mantenere le cose in esecuzione nel modo più pulito possibile.
Puoi pensare ad altre funzioni che usi per rimuovere righe di codice WordPress non necessarie? Fammi sapere nei commenti.
Ciao, ho bisogno di aiuto con WordPress, dopo aver creato la pagina in WP l'ho vista nel codice (codice sorgente) che con ogni nome di classe il page builder ha aggiunto il suo nome, il che mi confonde. Ad esempio, sto usando ELEMENTOR e creando una pagina ho visto nel codice sorgente il nome della classe ".elementor-column-wrap" ... ora il problema è che voglio rimuovere le parole elementor prima del nome della classe. Voglio mantenere il nome della classe il più semplice possibile. nessun nome di page builder dovrebbe esserci... per favore fammelo sapere.
Non puoi rimuoverlo o romperai Elementor
Salve,
Per favore, dimmi dove mettere questo codice in functions.php? Alcuni blog hanno detto che dovrebbe essere messo alla fine, altri blog che può essere messo all'inizio?
Grazie in anticipo
La posizione non ha alcuna importanza. Puoi aggiungerlo all'inizio o alla fine.
Come posso rimuovere da wp_head()?
Ciao, Grazie per questo post, ma per favore aggiungi anche il codice per rimuovere lo script delle emoji. Saluti
Puoi trovarlo qui, Ali! https://www.isitwp.com/remove-emoji-scripts-wordpress-head/
Grazie mille per l'aiuto. Voglio solo dirti che il mio sito ha ottenuto una velocità di 99 su mobile e 98 su desktop nel test di velocità di Google PageSpeed grazie al codice menzionato sopra nel post e al codice di rimozione delle emoji.
Sono contento che abbia aiutato!
Non capisco perché gli sviluppatori di temi inseriscano queste cose nei loro temi come impostazione predefinita in primo luogo.
Ho usato un tema molto basilare e l'ho modificato per adattarlo al mio sito web, ma tutta questa spazzatura era ancora nella mia intestazione (insieme ad altra spazzatura che WordPress carica automaticamente).
Grazie per questo post, l'ho trovato molto utile.
Ho appena trovato questo post basato su adjacent_posts_rel_link_wp_head – Potrebbe funzionare per te e il tuo pubblico, quindi penso che sia pertinente… non sto cercando di fare spam ma…
Ho inserito una manciata di funzioni e cose di pulizia che spero funzionino per le installazioni di tutti per aiutare a pulirle e liberarsi di alcune schifezze come le cose di wp_head che hai pubblicato qui.
il plugin, per mancanza di un nome migliore, è Selfish Fresh Start… egoista perché sono le cose che ritengo debbano essere rimosse da ogni installazione lol.
http://wordpress.org/extend/plugins/selfish-fresh-start/
Sì, usava wp_head. C'è qualcosa di cui dovrei preoccuparmi?
Non ho nessuno di questi nel mio header tranne il generatore di WordPress – nel mio tema questo è in un commento con "lascia questo per le statistiche per favore"
Di cosa si tratta?
Il tuo tema utilizza l'hook
wp_head? Sembra che quel "lascia questo per le statistiche" sia codificato nel file header.php del tuo tema.Ottimo materiale, anche se dovrei aggiungere che c'è stato un piccolo cambiamento in WP 3.0 con adjacent_posts_rel_link. Ora è adjacent_posts_rel_link_wp_head (non sono sicuro del perché sia cambiato).
L'ho capito andando su /wp-includes/default-filters.php e invertendo ciò che era elencato nella sezione add_action.
Hai idea del perché sia cambiato?
Abbiamo cambiato il suo nome perché abbiamo modificato (migliorato) il suo funzionamento in modo non retrocompatibile. Va bene per il core, essendo un miglioramento, ma se un plugin utilizzava il plugin originale nel modo in cui lo fa il core, non vogliamo alterare quella funzionalità.
La nuova funzione in realtà chiama solo la vecchia funzione — http://core.trac.wordpress.org/ticket/10867
Ciao. Sai come posso rimuovere jquery che viene chiamato automaticamente? Ovviamente deve essere chiamato nel sito di amministrazione, ma lato client, uso mootools, quindi non voglio che vengano chiamate due librerie js.
Grazie
Tom
Ottimo post Leland! I link relazionali mi hanno sempre infastidito un po' ma non ho mai indagato su come rimuoverli.
Penso che valga anche la pena menzionare che molto del codice aggiunto dai plugin può anche essere rimosso: http://wptheming.com/2009/12/optimize-plug-in-script-wordpress/
Ehi Devin, grazie per il commento. È un buon punto quello sul codice dei plugin. Soprattutto quando plugin come Contact Form 7 caricano automaticamente CSS e JS su ogni pagina, quando di solito ne hai bisogno solo su una (o su qualsiasi pagina in cui hai effettivamente un modulo di contatto).