WordPress: Tweaking pentru posturi conexe

WordPress

Dacă utilizați WordPress, unul dintre pluginurile necesare ar trebui să fie În legătură cu o postare conecteaza. Acestea fiind spuse, am observat că volumul de cuvinte cheie care au fost postate cu citirile mele zilnice a fost într-adevăr înclinat rezultatele postării corelate.

De asemenea, am fost cu adevărat surprins că pluginul Postări corelate a furnizat doar o listă de postări corelate înainte postarea pe care o citești! Ce se întâmplă dacă v-ați răzgândit (așa cum o fac de multe ori!) ... nu ar trebui să furnizați și postări care au fost lansate după original, dar care sunt încă legate?

Drept urmare, am făcut câteva modificări minore la plugin. În primul rând, pentru a face referire la posturi atât înainte, cât și după postarea curentă, am modificat linia 91 din:

. "AND post_date> = '$ now'" până la (ACTUALIZAT: 11):. "AND post_date! = '$ Now'". „ȘI post_date <= CURDATE ()”

În al doilea rând, Citirile zilnice de pe blogul meu sunt postate automat de Del.icio.us sub un anumit autor (astfel încât să nu schimb niciodată parola și să întrerup postarea automată). Pentru a face acest lucru, tocmai am adăugat un alt parametru de interogare pentru a omite autorul respectiv din postările care au fost căutate, inserând următoarea linie după cea anterioară:

. „ȘI post_autor! = 4”

Am găsit numărul autorului căutându-l pur și simplu în Utilizatorii mei. Aș prefera să nu complic lucrurile prin conectarea la un alt tabel - ar putea reduce viteza cu care sunt afișate aceste rezultate și ar putea încetini timpul de încărcare. Acest lucru va duce la frustrarea și plecarea oamenilor.

Avantajele afișării postărilor corelate

Postările corelate sunt un instrument fantastic pentru orice blog. Postările conexe întăresc rezultatele motorului de căutare prin mărirea cuvintelor cheie prin linkuri, un element important al algoritmilor motorului de căutare.

Postările conexe nu sunt doar un SEM instrument, totuși. Postările conexe sunt un instrument de păstrare care va menține utilizatorii pe site-ul dvs. Este posibil să nu găsească ceea ce căutau unde au aterizat - dar dacă le oferiți referințe suplimentare, s-ar putea să rămână!

4 Comentarii

  1. 1

    Super truc. Nu mi-am dat seama că Postările corelate selectează doar intrările anterioare de pe blog ... Va trebui să editez pluginul. Vă mulțumim pentru capete și instrucțiuni 🙂
    …si un an Nou fericit!

  2. 2
  3. 3

    wow .. acesta este un truc ingrijit. Chiar dacă nu am plug-in-uri legate de wasabi, am plugin-uri Simple Tags pentru postări conexe și cred că trebuie să folosească aceeași condiție postdate <. Vă mulțumim pentru sfat, permiteți-mi să verific codul meu de plug-in și să văd dacă îl pot modifica pentru a da rezultate mai bune.

  4. 4

    Chandoo, Simple Tags nu folosește o condiție postdate - cred că creează postările aferente live, cu fiecare vizualizare a paginii (cu excepția cazului în care cache-ul este activat). Acesta nu este cel mai eficient lucru pentru server, dar înseamnă că va obține cele mai bune potriviri, indiferent dacă au fost postate înainte sau după ce postarea a fost vizualizată.

    Doug - îmi pare rău că ai ieșit puțin din subiect ...

  5. 6

    Post mare! Dar vreau să aleg câteva nits.

    Justificarea dvs. pentru „(nu) aderarea la o altă masă" deoarece:

    ar putea reduce viteza cu care sunt afișate aceste rezultate și poate încetini timpul de încărcare

    este offbase și un exemplu de optimizare prematură care inhibă mentenabilitatea și este păcat să vezi oameni cu un public considerabil recomandând astfel de lucruri, deoarece răspândește dezinformarea.

    Alăturarea SQL despre care vorbiți, presupunând că aveți indici rezonabili, va crește cel mult timpul de răspuns microsecunde. Trebuie să aveți tone și tone de trafic înainte ca cineva să observe chiar și o diferență de jumătate de secundă. Acum da, dacă te forțezi, poți scrie un cod SQL atât de îndrăzneț, care să funcționeze teribil, dar o îmbinare suplimentară pe datele cu cheie nu este un exemplu în acest sens.

    De asemenea, mai degrabă decât să pledez pentru piratarea pluginului publicat de cineva, aș vrea să vă văd pledând pentru îmbunătățirea acestuia și apoi să lucrez pentru ca accesoriile dvs. să fie incluse în pluginul propriu-zis. Într-adevăr, s-ar putea să obțineți unii codificatori amatori care să vă aplice modificările și apoi să faceți upgrade la noua versiune a pluginului și pierde modificările, dar nu își dau seama ce a mers prost. Schimbarea dvs. este benignă, doar o pierdere a funcționalității, dar unele hacks pot provoca ruperea unui site dacă se folosește o viitoare revizuire a pluginului de bază peste cea piratată.

    JMTCW. Păstrați lucrurile bune altfel. 🙂

    • 7

      Salut Mike!

      Vă mulțumim că ați răspuns - totuși nu sunt sigur că sunt de acord. Nu am optimizat prematur ... de fapt, am găsit cel mai bun mod de a obține toate funcționalitățile de care aveam nevoie, fără să mai fac modificări suplimentare. În cartea mea, aceasta ar trebui să fie fiecare țintă a dezvoltatorilor.

      Am mai spus că asta ar putea afectează performanța. Nu m-am deranjat să testez sau să încerc, deoarece nu era necesar, având în vedere modul în care am optimizat pluginul. Încă o dată - am obținut 100% din funcționalitatea de care aveam nevoie fără să fac un join sau să adaug indexuri etc. Aceasta este soluția potrivită în cartea mea.

      Cu toate acestea, sunt de acord cu tine asupra celorlalte note. Îmi pare rău de republicarea pluginurilor, simt că am obținut expunerea la munca altcuiva. Am făcut referire la blogul autorului pe această temă - așa că poate îi va lua în considerare ca caracteristici pentru lansarea viitoare.

      PS: S-a remediat editarea! 🙂

      • 8

        @Douglas: Totuși, nu sunt sigur că sunt de acord. Nu am optimizat prematur? Încă o dată - am obținut 100% din funcționalitatea de care aveam nevoie fără să fac un join sau să adaug indexuri etc.

        Ei bine, cred că asta este diferența dintre cineva care vizionează programarea de la perfecțiunea profesiei și o meserie față de cineva care practică doar încercarea de a face ceva (și nu mă refer la asta în mod speriorativ; pe unele liste de corespondență joc rol scrisoare împotriva primului. 🙂

        Este similar cu modul în care un contabil sau un avocat îi spune proprietarului unei companii „Nu aș face asta”Și proprietarul afacerii, nebăgându-se în toate ramificațiile pe care profesioniștii le conștientizează ca fiind„ potențiale * ”, le ignoră sfaturile, deoarece pare prea mult efort și ară înainte. Dumnezeu știe că am fost acel proprietar al afacerii în trecut și am arătat înainte împotriva tuturor sfaturilor, deși mai mult în favoarea mea mai târziu. 🙂

        @Douglas: Îmi pare rău de republicarea pluginurilor, ...

        Nu, nu exact asta spuneam. Ceea ce spuneam este că, din moment ce este open-source, puteți contribui la modificările dvs. către autorul original pe care îl vor accepta și îl puteți face proactiv contactând și oferind. În prezent lucrez ca consultant de marketing și implementator de site-uri web pentru editori de imprimare de nișă și utilizare Drupal pentru tehnologia web, iar comunitatea Drupal contactează întotdeauna autorii de pluginuri (Drupal îi numește „module”) și se oferă pentru a ajuta la îmbunătățirea modulelor celorlalți.

        Doar un gând.

        PS Vă mulțumim pentru corecția de editare.

        • 9

          Puncte bune, Mike!

          S-ar putea să joc cu pluginul pentru a adăuga opțiunea „Afișați numai postările înainte de postarea afișată”. Cred că a doua opțiune este puțin mai proprietară pentru blogul meu, dar voi verifica și o voi vedea că poate fi de interes pentru autor.

  6. 11
  7. 13

    Doug - Poate că îmi lipsește ceva aici. Se pare ca

    AND post_date <= '$now'

    nu împiedică includerea postărilor făcute după postarea respectivă, atât cât împiedică includerea postărilor pe care este posibil să le fi stabilit publicat în viitor.

    Sper că are sens și mulțumesc pentru blogul grozav.

  8. 15

    @Mike: Ei bine, cred că asta este diferența dintre cineva care vizionează programarea de la perfecțiunea profesiei și o meserie față de cineva care este practicant care încearcă doar să facă ceva.

    Distincție interesantă. Deși ar fi frumos ca totul să funcționeze la cel mai bun nivel posibil, în multe cazuri acest lucru pare impracticabil. Mă străduiesc să găsesc un echilibru în programarea mea între modul în care aș vrea să ruleze ceva și cât de mulți dolari sau timp va dura pentru a ajunge acolo.

    Mă străduiesc să fac minimul necesar pentru a îndeplini scopul pe care încerc să-l ating. A petrece mai mult timp nu ar fi rentabil.

    Pe scurt, cu excepția cazului în care această pierdere de eficiență a fost vizibilă pe blogul meu, nu aș petrece timpul suplimentar, dacă este vizibil decât aș decide dacă timpul suplimentar ar merita rezultatul. Perfecțiunea nu este întotdeauna cea mai bună soluție.

    • 16

      @Dwayne: Mă străduiesc să fac minimul necesar pentru a îndeplini scopul pe care încerc să-l ating. A petrece mai mult timp nu ar fi rentabil.

      Desigur, dacă întotdeauna să faci minimul înseamnă că nu înveți tehnici mai bune, determinându-te să repeti minimul de mai multe ori în viitor, decât să îți permiți să îl eviți, atunci ai realizat o realizare falsă. Da, multe sarcini nu au nevoie de eforturi suplimentare, dar am fost martor la multe persoane care au accesat astfel de comenzi rapide în trecut și au fost unele dintre cele mai puțin productive și / sau cele mai puțin create persoane pe care le-am cunoscut (unele dintre ele au fost, din păcate, angajații mei) , de aceea am observat cu adevărat lipsa lor de productivitate.)

      @Dwayne: Pe scurt, cu excepția cazului în care pierderea de eficiență a fost vizibilă pe blogul meu, nu aș petrece timpul suplimentar, dacă este vizibil decât aș decide dacă timpul suplimentar ar merita rezultatul. Perfecțiunea nu este întotdeauna cea mai bună soluție.

      Cred că mi-ai pierdut punctele. Mai întâi spuneam că Doug optimizează pentru eficiențe neobservabile, nu eu, dar, mai important, dacă intenționați să implementați un hack care poate provoca probleme viitoare de întreținere pentru bunătate, nu-l publicați pentru utilizarea altora, fără cel puțin să le spuneți despre un fel de probleme de întreținere pe care le-ar putea provoca ulterior.

      Ironia comentariului dvs. este că luarea unui traseu rapid și ușor ajunge adesea să vă coste mult mai mult timp în viitor, când instalați o actualizare de securitate pentru WordPress, vă pierdeți funcționalitatea piratată și o doriți înapoi. Acum aveți un fân cu un ac care lipsește și acum trebuie să vă dați seama unde era acul.

      Petreceți timp suplimentar pentru performanță? Bah, în general nu este nevoie. Petreceți timp suplimentar pentru mentenanță? Da, de multe ori se plătește singură pe termen lung.

      Încheiat, da, este firea umană să respingă avertismentele pentru lucruri care nu și-au provocat niciodată dureri. Simțiți durerea o dată și veți avea mult mai multe șanse să ascultați avertismentele celorlalți care au simțit deja acea durere.

  9. 17

    Un lucru ar trebui să spun; Cred că hack-ul lui Doug ar fi un bun plus pentru WordPress, cel puțin ca opțiune de utilizator. Pare destul de o prostie să limitezi postările aferente doar la cele care au apărut înainte.

    ȘI aș dori să-l rog pe Doug să posteze despre cum sunt postate zilnic mesajele sale de pe del.icio.us; ar fi un subiect interesant.

    • 18
      • 19

        Heh. Buna asta! Bănuiesc că ar fi trebuit să caut pe Google mai întâi.

        BTW, v-am trimis un e-mail personal despre faptul că sunt în Indy în perioada 16-19 februarie în urmă cu aproximativ o săptămână, dar nu am mai auzit. Ai primit? (nu ezitați să ștergeți această parte a comentariului meu.)

  10. 20

Ce părere ai?

Acest site folosește Akismet pentru a reduce spamul. Aflați cum sunt procesate datele despre comentarii.