X

Eliminare cod inutil din wp_head

WordPress include o mulțime de elemente prin hook-ul wp_head() inclus în majoritatea temelor. Majoritatea acestor elemente le-aș considera inutile. Câteva rânduri de cod suplimentar în antetul dvs. probabil nu vor încetini prea mult site-ul, dar îmi place să păstrez lucrurile cât mai curate și eficiente posibil.

În acest sfat rapid, voi explica cum să eliminați următoarele elemente din ieșirea prin hook-ul wp_head.

  • Link Really Simple Discovery (RSD)
  • Link Windows Live Writer
  • Notificare generator WordPress
  • Linkuri relaționale postări

Citiți mai departe pentru descrierea fiecăruia dintre acestea pentru a vedea dacă aveți nevoie de ele sau nu și cum să le eliminați.

Descoperire Foarte Simplă

Acesta este codul care afișează următorul cod în antetul dvs.:

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />

Acesta este mecanismul de descoperire utilizat de clienții XML-RPC. Dacă nu aveți idee ce înseamnă acest lucru și/sau nu integrați servicii precum Flickr cu site-ul dvs. WordPress, probabil că este sigur să îl eliminați cu următorul cod din fișierul functions al temei dvs.

remove_action('wp_head', 'rsd_link');

Windows Live Writer

Acesta este motivul pentru care vedeți următorul cod în antetul dvs.

<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />

Dacă nu utilizați Windows Live Writer, atunci acest cod este complet inutil pentru dvs. și ar trebui eliminat.

remove_action('wp_head', 'wlwmanifest_link');

Generator WordPress

Acesta este ceea ce afișează numărul versiunii dvs. de WordPress în antetul dvs.

<meta name="generator" content="WordPress 2.8.4" />

Nimeni nu are cu adevărat nevoie să știe versiunea exactă de WordPress pe care o utilizați, deci este sigur să eliminați această linie de cod.

remove_action('wp_head', 'wp_generator');

Linkuri Relaționale Postări

Linkurile relaționale ale postărilor sunt motivul pentru care aceste elemente sunt afișate pe diverse pagini.

<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/' />

Încă nu am găsit un motiv real pentru a le păstra. Unele browsere pot folosi acest cod pentru a naviga pe site-ul dvs., deși probabil puteți obține același efect dintr-o temă bine concepută. Veți avea nevoie de trei linii pentru a le elimina pe toate.

remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');

Șablon Functions.php

Pentru comoditatea dvs., iată toate combinate pentru copiere și lipire ușoară în fișierul functions.php al temei dvs.

<?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');
?>

De fapt, acesta este întregul fișier functions.php pe care îl folosesc pe noua mea temă arhiva de tweet-uri. Dacă vă uitați la cod, tag-ul <head> conține doar trei linii: declarația meta charset, tag-ul title și link-ul către foaia de stil.

O notă despre temele lansate

Când dezvoltați teme pentru lansare, fiți atenți la eliminarea unora dintre acestea, în special a primelor două: suportul XML-RPC și Windows Live Writer.

Motivul ar trebui să fie destul de evident, deoarece unii dintre utilizatorii dvs. vor folosi probabil ceva de genul Windows Live Writer și se vor întoarce la dvs. cerând suport atunci când nu vor înțelege de ce nu funcționează cu tema dvs.

Celelalte elemente, notificarea generatorului WordPress și linkurile relaționale ale postărilor, pot fi probabil eliminate în siguranță în aproape orice situație.

Concluzie

După cum am spus în introducere, nu este un lucru *foarte* important dacă nu le eliminați și nu aș numi acest lucru un „obligatoriu” pe fiecare site WordPress nou pe care îl dezvoltați. Dacă sunteți ca mine și nu vă plac liniile de cod inutile, probabil că veți dori totuși să le eliminați doar pentru a menține lucrurile să funcționeze cât mai curat posibil.

Vă puteți gândi la alte funcții pe care le folosiți pentru a elimina linii de cod WordPress inutile? Anunțați-mă în comentarii.

Comentarii   Lasă un răspuns

  1. Salut, am nevoie de ajutor cu WordPress, deoarece după ce am creat pagina în WP, am văzut în cod (codul sursă) că la fiecare nume de clasă, page builder-ul și-a adăugat numele, ceea ce mă deranjează, de exemplu, folosesc ELEMENTOR și creez o pagină, am văzut în codul sursă numele clasei „.elementor-column-wrap”… acum problema este că vreau să elimin cuvintele elementor dinaintea numelui clasei. Vreau să păstrez numele clasei cât mai simplu. Nu ar trebui să fie acolo numele page builder-ului… vă rog să mă anunțați.

    1. Nu o poți elimina sau vei strica Elementor

  2. Bună,

    Vă rog să-mi spuneți unde să pun acest cod în functions.php?
    Unele bloguri au spus că ar trebui pus la sfârșit, altele că poate fi pus la început?

    Mulțumesc anticipat

    1. Poziția nu contează deloc. Îl poți adăuga la început sau la sfârșit.

  3. Cum pot elimina din wp_head()

  4. Bună ziua,
    Vă mulțumesc pentru acest post, dar vă rog să adăugați și cod pentru a elimina scriptul emoji.
    Cu stimă

      1. Mulțumesc mult pentru ajutor. Vreau doar să vă spun că site-ul meu a obținut viteza de 99 pe mobil și 98 pe desktop în testul de viteză al paginii Google datorită codului menționat mai sus în postare și codului de eliminare a emoji-urilor.

        1. Mă bucur că a ajutat!

  5. Nu știu de ce dezvoltatorii de teme pun acestea în temele lor ca implicit din primul rând.

    Am folosit o temă foarte simplă și am modificat-o pentru a se potrivi site-ului meu, dar tot acest gunoi era în antetul meu (împreună cu alte gunoaie pe care WordPress le încarcă automat).

    Mulțumesc pentru acest post, l-am găsit foarte util.

  6. Tocmai am găsit acest post bazat pe adjacent_posts_rel_link_wp_head – S-ar putea să funcționeze pentru tine și audiența ta, așa că cred că este relevant… nu încerc să fac spam, dar…
    Am aruncat o mână de funcții și chestii de curățare pe care sper că funcționează pentru instalările tuturor pentru a ajuta la curățarea acestuia și la eliminarea unor mizerii precum chestiile wp_head pe care le-ai postat aici.

    plugin-ul, din lipsă de un nume mai bun, se numește Selfish Fresh Start… egoist pentru că este genul de lucruri pe care cred că ar trebui eliminate din fiecare instalare lol.

    http://wordpress.org/extend/plugins/selfish-fresh-start/

  7. Da, folosea wp_head. Este ceva de ce ar trebui să-mi fac griji?

  8. Nu am niciunul dintre acestea în antetul meu, cu excepția generatorului WordPress – în tema mea, acesta se află într-un comentariu cu „lăsați asta pentru statistici, vă rog”.

    Ce este asta?

    1. Tema ta folosește hook-ul wp_head? Sună ca și cum acea parte „lăsați asta pentru statistici” este hardcodată în fișierul header.php al temei tale.

  9. Lucruri grozave, deși ar trebui să adaug că a existat o mică schimbare în WP 3.0 cu adjacent_posts_rel_link. Acum este adjacent_posts_rel_link_wp_head (nu sunt sigur de ce s-a schimbat).

    Am descoperit asta mergând la /wp-includes/default-filters.php și inversând ceea ce era listat în secțiunea add_action.

    Ai idee de ce s-ar fi schimbat asta?

    1. I-am schimbat numele deoarece am modificat (îmbunătățit) modul în care funcționează într-un mod incompatibil cu versiunile anterioare. Bine pentru nucleu, deoarece este o îmbunătățire, dar dacă un plugin folosea plugin-ul original așa cum o face nucleul, nu vrem să alterăm acea funcționalitate.

      Noua funcție, de fapt, doar apelează vechea funcție — http://core.trac.wordpress.org/ticket/10867

  10. Salut. Știi cum pot elimina apelarea automată a jquery? Evident, trebuie apelat pe site-ul de administrare, dar pe partea clientului, folosesc mootools, așa că nu vreau să fie apelate două biblioteci js.

    Mulțumesc
    Tom

  11. Postare excelentă Leland! Legăturile relaționale m-au deranjat mereu puțin, dar nu am căutat niciodată cum să le elimin.

    Cred că merită menționat și faptul că o mare parte din codul adăugat de plugin-uri poate fi, de asemenea, eliminat: http://wptheming.com/2009/12/optimize-plug-in-script-wordpress/

    1. Salut Devin, mulțumesc pentru comentariu. Este un punct bun despre codul plugin-urilor. Mai ales când plugin-uri precum Contact Form 7 încarcă automat CSS și JS pe fiecare pagină, când de obicei ai nevoie de ele doar pe una (sau pe orice pagină ai un formular de contact).

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!