Jednostavan sustav komentiranja koji koristi AJAX. Kako pravilno implementirati CRM sustav: algoritam radnji i uobičajene pogreške Widgeti društvenih mreža

Pozdrav, prijatelji i gosti bloga! Danas ću vam reći kako koristite PHP i MySQL. A također ćemo razgovarati o sustavi komentiranja za stranicu a mi ćemo od onih koje nudim izabrati najbolje za vašu stranicu.

Pitanje jedno: pomoću PHP i MySQL?

Da bismo to učinili, ti i ja prvo trebamo stvoriti tablicu u bazi podataka vaše stranice koja će se zvati - komentari. Ova stvorena tablica pohranit će komentare u polja sa sljedećim oznakama:

iskaznica je jedinstveni identifikator.
page_id— ovo polje će pohraniti identifikator stranice stranice na kojoj se ovaj komentar nalazi.
Ime- ovo je ime komentatora koji je ostavio ovaj komentar.
tekstualni_komentar— sukladno tome, ovo je tekst aktualnog komentara.

Sljedeći korak, nakon kreiranja tablice za komentare u bazi podataka, moramo implementirati poseban kod za naše buduće komentare na stranici. Ovaj kod na stranici omogućit će našim komentatorima da dodaju svoje komentare našim člancima. Evo koda:


Jednostavno je HTML obrazac komentari za stranicu. Postavite ga na svoju web stranicu na mjesto gdje je zgodno za ostavljanje komentara na objavu – naravno, ispod same objave.

query("INSERT INTO `comments` (`name`, `page_id`, `text_comment`) VALUES ("$name", "$page_id", "$text_comment")");// Dodaj komentar u zaglavlje tablice (" Lokacija: ".$_SERVER["HTTP_REFERER"]);// Preusmjeravamo li natrag?>

Posljednji korak u stvaranju obrasca za komentare za stranicu u PHP-u i MySQL-u je prikaz naših komentara na stranici stranice. Evo koda za ovo:

query("SELECT * FROM `comments` WHERE `page_id`="$page_id""); //Dohvati sve komentare za ovu stranicu dok ($row = $result_set->fetch_assoc()) ( print_r($row); //Izlaz komentara echo "
"; } ?>

To je sve! Naš jednostavan obrazac za komentare za stranicu je kreiran i može raditi na stranici.

Ali ovo sigurno nije za početnika koji se neće zamarati sa svim ovim HTML, PHP i MySQL kodom. Niti će naučiti kako napraviti bazu podataka. Treba mu sve odjednom, brzo i bez glavobolje. Ja sam u pravu? Naravno da si u pravu!

Zatim prijeđimo na sljedeći odjeljak mog materijala i saznajmo sve o gotovim sustavima komentara za web mjesto i odaberemo najprikladniji, funkcionalniji i prihvatljiviji za vaše web mjesto...

Sustavi komentara za stranicu. Koju izabrati?

Kako ostaviti komentare na stranici- ovo je važno pitanje jer komentari na stranici igraju važnu ulogu ne samo za komunikaciju između vlasnika stranice i posjetitelja, već su komentari važni i za SEO promocija i promicanje.

Uz pomoć komentara na stranici povećava se pozicija stranice u rezultatima pretraživanja, poboljšavaju se čimbenici ponašanja, povećava promet na stranici, a samim time i vaša zarada. Vidite koliko su komentari važni za stranicu!

Pa pogledajmo kako ostavljati komentare na stranici a koji sustav komentiranja izabrati najviše najbolja opcija?

Općenito, komentari na web stranicama prikazuju se na mnogo načina. Ovo su posebni dodaci za wordpress motore i komentare iz društvene mreže svašta, kao npr U kontaktu s, Facebook, Disqus. Postoje i neovisne usluge koje nude vlastite sustave komentara za web mjesto, na primjer.

Sada ću vam dati jednu tabletu koja će odmah sve staviti na svoje mjesto i neće se pojaviti nikakva pitanja o odabiru sustava komentara za web mjesto:

Ovdje možete jasno i jasno vidjeti koji je sustav komentara najbolji i nekoliko predstavljenih, koje webmasteri najčešće koriste na svojim resursima. Mislim da su tu objašnjenja nepotrebna i izbor je na vama!

Vrijeme čitanja: 55 min

Dobar dan svima.

Sada je došlo vrijeme za dugo očekivani materijal o mikro markupu.

Odmah ću reći da će ovaj članak u početku biti prilično teško razumjeti, posebno za početnike, budući da postoji mnogo opcija za mikro označavanje i teško je sve odjednom dobiti u glavi. Ali pokušat ću opisati cjelokupnu sliku i istovremeno se usredotočiti na najvažnije i najčešće stvari.

Materijal je prilično opsežan, ali nadam se da će vam pomoći u stvaranju mikrooznaka na web mjestu.

U posljednje vrijeme primijetio sam da je mnogo ljudi opsjednuto mikropodacima. To se dogodilo nakon što su razni SEO blogeri počeli žustro raspravljati o tome. Ali hajde da shvatimo zašto se uopće koristi i je li potrebno posvetiti toliko pažnje tome. Je li igra vrijedna svijeće?

Što je mikro markup i zašto je potreban?

Ako čujete mikrooznačavanje ili semantičko označavanje stranice (mjesta), znajte da to znači označavanje stranice pomoću dodatnih atributa (tagova), koji tražilicama daju ideju o pojedinim elementima stranice, ukazujući na njihov sadržaj.

Morate razumjeti da je obična stranica već označena, ali se koriste uobičajene općeprihvaćene oznake i atributi. To je sasvim dovoljno za tražilice i mnoge stranice još uvijek postoje na ovaj način i prilično uspješno napreduju.

No, ako želimo pomoći tražilicama da razumiju našu stranicu, uputiti ih na bitna područja stranice, razumjeti njenu strukturu, ukazati na sadržaj onih područja na koja prije svega treba obratiti pozornost, tada je potrebno implementirati mikro- markup, odnosno dodati određene oznake i atribute koji će označavati sve.

Time nećemo pomoći samo tražilicama, već i našoj web stranici, budući da se mikro označavanje koristi ne samo za razumijevanje strukture i sadržaja web stranice, već i za izradu rezultata pretraživanja, formiranje funkcionalnih i atraktivnih isječaka, što utječe na klik- prolazna stopa (CTR) stranice u izdanju. A to je povećanje ukupnog prometa na stranici.

Dolje možete vidjeti upečatljiv primjer takvih isječaka.

Na ova slika možete vidjeti, što ga nadopunjuje i čini uočljivijim među sivom masom drugih stranica u rezultatima pretraživanja. Također sam upotrijebio strelice za isticanje putanje kroz put, koja pokazuje jasnu strukturiranu stazu do materijala na stranici, umjesto jednostavnog nejasnog URL-a.

Ovaj navigacijski lanac je prilično jednostavan. Sve što trebate učiniti je instalirati ih na stranicu.

Evo još jedne opcije za bogate isječke.

Ista opcija omogućuje posjetitelju da odmah shvati o čemu se stranica radi i što mu ona može dati. Ako je isječak ispravno sastavljen u ovom slučaju, tada korisnik može odmah poduzeti radnju koja vam je potrebna, a kao što znamo, svaka stranica mora obavljati svoje vlastite zadatke (pretplata, kupnja itd.).

Složite se da će takav isječak biti uočljiviji u rezultatima pretraživanja od običnog opisa stranice, budući da ima mnogo više veće veličine. Da, i izgleda čvršće.

Odgovorimo sada na pitanje koje bi moglo zabrinjavati one koji misle da mikro označavanje pomaže u povećanju pozicija i da je jedan od faktora rangiranja.

Utječe li mikro markup na rangiranje? Treba li očekivati ​​povećanje pozicija nakon njegove provedbe?

Kako ne bismo pisali svoje obrazloženje, okrenimo se pomoći tražilice Yandex. Dakle, što nam sam Yandex govori o tome? citiram:

Hoće li moje web mjesto bolje rangirati ako koristim označavanje?

Odgovor: Markup može vašu web-lokaciju učiniti vidljivijom u Yandex pretraživanju i tako privući više posjetitelja koji pripadaju ciljanu publiku. Yandex je zainteresiran za korisnike koji svoje probleme rješavaju pomoću Pretraživanja. Jedan od pokazatelja kvalitete pretraživanja naziva se "zadovoljstvo korisnika". Web stranice koje povećavaju "sreću" rangirane su više.

Možemo zaključiti da označavanje ne utječe izravno na pozicije, već samo neizravno, budući da možemo napraviti atraktivniji isječak, što će samo po sebi dovesti više posjetitelja na resurs. Onda je stvar tehnike. Više posjetitelja znači više akumuliranih dobrih pokazatelja o stranicama (ako je sadržaj kvalitetan) i pozicije će postupno rasti.

Također je vrijedno napomenuti da pomažući tražilicama da razumiju prirodu sadržaja, njegovu vrstu (informacija, sastanak, proizvod itd.), činimo sadržaj relevantnijim upit za pretraživanje a on bi trebao zauzimati više položaje. Možda ne izravno, ali neizravno - to je sigurno. Yandex nam je to potvrdio (vidi gore).

Dakle, napravimo kratak popis prednosti posjedovanja mikro oznaka na web mjestu. To su one točke koje neizravno ili izravno ukazuju na kvalitetu stranice, povećavaju njenu poziciju i pomažu tražilicama.

  1. Prvo, možemo zaključiti da se povjerenje tražilica u stranicu povećava jer robota za pretraživanje usmjeravamo na glavne elemente stranice, bez straha da s nama nešto nije u redu i bez pokušaja sakriti nešto od robota za pretraživanje. Zbog toga je logično da tražilice misle da im pomažemo i otkrivamo „dušu stranice“, što će svakako utjecati na kvalitetu indeksiranja stranice, au konačnici i na njezinu poziciju;
  2. Drugo, uz odgovarajuće postavke, možemo istaknuti naš isječak u rezultatima pretraživanja, što će dovesti do trenutnog povećanja prometa na stranicama resursa bez mijenjanja položaja. U konačnici, povećanje prometa dovest će do povećanja pojedinačne stranice u rezultatima pretraživanja i na web mjestu u cjelini;
  3. Treće, povećavamo čimbenik ponašanja - CTR u rezultatima pretraživanja (click-through rate). Ova je točka vrlo blisko povezana s prethodnom. Budući da više ljudi klika na našu web stranicu, to znači da smo točnije pomogli posjetitelju da shvati da je naša stranica kvalitetnija nego na drugim stranicama. To znači da se stranica mora malo podići u rezultatima pretraživanja.

Dakle, mislim da je odgovor na pitanje dat.

Je li markup uopće potreban? - Da, treba mi.

Naravno, ako postoji izbor između bolne implementacije označavanja na web mjestu i rada na drugim aspektima, onda se, naravno, ne biste trebali usredotočiti samo na semantičko označavanje. Bolje je raditi na sadržaju, koji je puno važniji od nekih tehničkih detalja među stotinama ili tisućama drugih stvari. Štoviše, sada možete istaknuti svoj isječak u rezultatima pretraživanja bez uvođenja oznaka u predložak, već samo instaliranjem , koji već nudi oznake ocjena.

Nakon što saznamo glavne prednosti, možemo prijeći na razmatranje glavnih vrsta semantičkog označavanja.

Glavne vrste mikro označavanja

Ovdje je sve prilično komplicirano. Prvo, morate razumjeti da postoje rječnici mikro označavanja i njihove sintakse.

Rječnik se može shvatiti kao mikrooznačni jezik koji uključuje skup klasa i svojstava koja ukazuju na bit sadržaja stranice. U svakom rječniku, svaki element na web mjestu identificiran je pomoću različitih oznaka. Na primjer, u rječniku Schema.org, naziv dokumenta naznačen je pomoću oznake "name", ali mikroformati koriste CSS klasu unutar bloka elementa koji vrijedi označiti ( Kamilica, gdje je fn org naslovna oznaka u ovom slučaju).

Svaki rječnik i sintaksa imaju svoje oznake i atribute, što formate mikro označavanja čini takozvanim vinaigrette-om. Stvarno je teško sve shvatiti.

Sintaksa se shvaća kao način korištenja određenog jezika (rječnika) semantičkog označavanja. Sintaksa određuje koje će se oznake koristiti za označavanje suštine objekata i njihovih svojstava na stranici.

Iz prethodne definicije sintakse uveden je pojam suštine. Što to znači primjenjivo na predmetno pitanje?

Suština – jednostavno rečeno, to je vrsta informacije (jedinica sadržaja, informacija) koju upućujemo na tražilice. Na primjer, trebamo ukazati na najave na glavnoj stranici bloga, odnosno istaknuti suštinu ovog područja nekim tagom, definirajući ga kao područje najava. Isto je potrebno učiniti i sa post page-om, gdje je potrebno naznačiti suštinu područja gdje se sadržaj (članak) nalazi, odnosno istaknuti tekst kao sadržajno područje.

Za gotovo svaki element stranice možete definirati suštinu, odnosno naznačiti što je to: sadržaj ili ocjena, ili općenito komentari. Stoga se entiteti mogu specificirati na takvim stranicama (kao primjer uzet ću jednostavan predložak bloga poput mog):

  • Početna - popis najava;
  • Stranica postova - komentari, sadržaj, ocjena (ako je dostupna), putevi;
  • Obična statična stranica - sadržaj, komentari (ako postoje).

Osim toga, na svakoj vrsti stranice možete odrediti isti element - zaglavlje stranice, podnožje (podnožje), bočna traka (bočni stupac), glavni izbornik.

Svaki entitet ima svoja svojstva, na primjer:

  • Područje sadržaja na stranici s objavama - naslov članka, tekst članka, opis, ime autora članka, datum objave, kategorija, slike, video i ostalo;
  • Područje za popis najava na glavnoj stranici, rubrike i arhive je isto;
  • Područje komentara - ime komentatora, datum, tekst komentara;
  • Područje sadržaja na običnoj statičnoj stranici u osnovi je isto kao u postovima;
  • Područje zaglavlja stranice - naslov, opis;
  • Područje ocjenjivanja na stranicama - maksimalna ocjena, trenutna ocjena, broj ocjena.
  • Područje podnožja (podnožje stranice) - godina autorskog prava;
  • Područje bočne trake (bočni stupac) - naziv widgeta;
  • Područje glavnog izbornika - veze.

Postoje i druga područja sa svojstvima, ali ih neću razmatrati, budući da ih u svakom rječniku označavanja ima nekoliko desetaka, au označavanju sa schema.org njihov je broj općenito u stotinama.

Pogledat ćemo koje oznake i atribute koristiti za označavanje entiteta i svojstava svakog od njih u praktičnom dijelu ovog članka.

Sada prijeđimo na glavnu ideju odlomka i razmotrimo glavne formate semantičkog označavanja. Kratak popis osnovnih vokabulara i sintaksi može se vidjeti na donjoj mentalnoj mapi.

Nećemo razmatrati sve rječnike i sintakse jer je to besmisleno. Neće vam trebati. Razmotrimo samo ukratko glavne formate označavanja:

  • Schema.org;
  • Open Graph;
  • Mikroformati.

Dotaknut ćemo se nekih od ostalih prilično malo.


Posljednji korak vrijedi spomenuti još jedan rječnik, odnosno Data Vocabulary, koji je razvio Google, a sada je njegov razvoj obustavljen. Sva pažnja usmjerena je na Schema.org. Možemo reći da su sva svojstva i entiteti koji su bili u ovom jeziku za označavanje postali prototipovi za označavanje sa schema.org.

Koliko ja razumijem, rječnik Data Vocabulary može raditi sa sintaksama: mikropodacima i RDF jezikom, što se može vrlo jasno vidjeti u Google pomoći o materijalu za mikrooznačavanje putanje. Postoje 2 opcije označavanja:

  1. Označavanje rječnika podataka mikropodacima;
  2. Označavanje rječnika podataka s RDFa.

Ja ću malo preduhitriti. Na prvoj slici možete vidjeti da se uz Rječnik podataka koriste mikropodaci sa Schema.org. Činjenica je da putevi sa shemom još nisu podržani. Stoga se koristi kombinirana opcija.

Koji je format označavanja najbolje koristiti?

Mislim da već znate odgovor na ovo pitanje, budući da sam u opisu svake vrste markupa dao neosporan argument da tražilice Oni sami preporučuju Schema.org markup dictionary. To je upravo ono što trebate koristiti. Ali može postojati puno opcija za implementaciju ovog mikro označavanja, kako od dodataka tako i od uvođenja entiteta i svojstava u predloške dizajna.

Posljednja opcija je najoptimalnija, jer je ovo jednokratni posao i mikro označavanje će biti na apsolutno svakoj stranici. Sve tražilice će ga vidjeti jer će biti ugrađen u predložak. Ali početnici bi mogli imati problema s implementacijom, budući da trebaju razumjeti kod svog predloška barem na minimalnoj osnovnoj razini i vidjeti koja oznaka prikazuje naslov članka, gdje je kod za prikaz teksta i tako dalje. Svi ovi trenuci morat će se omotati mikro oznakama.

Ova točka također pokreće pitanje kombiniranja različitih rječnika na jednom mjestu. To je prihvatljivo iu nekim slučajevima se ne može izbjeći. To se jasno vidi na primjeru označavanja putanje, kada se kombiniraju varijanta označavanja Data Vocabulary i označavanja mikropodataka sa Schema.org. Nema ništa loše u tome. Sam Yandex govori o tome.

Na vašoj je diskreciji. Ako vam je lakše koristiti mikroformate, krenite. Ja osobno ću pokazati cijeli proces na Schema.org mikro označavanju, budući da sam ga sam implementirao i sve radi s praskom bez ijedne greške.

Kako provjeriti prisutnost oznaka na web stranici

Naš je zadatak u ovoj fazi saznati ima li naš predložak neki format označavanja. To je sasvim moguće jer su većina korištenih predložaka prevedene teme na engleskom jeziku koje već sadrže neku vrstu formata semantičkog označavanja. U pravilu je to označavanje u mikroformatima koje nam uopće ne koristi. Bolje je da ga u početku nema, jer ćemo se tako spasiti od glavobolje kada ga skinemo.

Za provjeru prisutnosti oznaka, možete koristiti i validator mikro oznaka iz Yandexa i Google alat za provjeru strukturiranih podataka. Radije i toplo preporučujem da koristite Yandex validator jer je mnogo jednostavniji.

Nakon odlaska na Yandex validator, unosimo adresu stranice i kliknemo "Provjeri".

Ako piše "Mikro označavanje nije otkriveno", to znači da u predlošku nema označavanja treće strane. Ovo je jako dobro jer ne morate gubiti trud na njegovo uklanjanje. Ali budite oprezni, jer na jednoj vrsti stranice možda neće biti oznake, ali na drugoj će biti prisutna (na primjer, na stranici članka).

Dakle, analiziram stranicu objave i ispada da su komentari predloška označeni mikroformatima (vcard je prisutan). O tome svjedoče različiti kodovi u rezultatima skeniranja.

Mikroformati nam ne trebaju, pa bismo ih trebali izbrisati. Može se dogoditi da vaš predložak bude označen u drugim formatima označavanja. Tada ih također treba ukloniti. Moguće je da će označavanje sa Schema.org biti odmah implementirano. To se također događa, ali vrlo rijetko, budući da praktički nema besplatnih predložaka koji bi vrijedili. Ali loši su sitniš.

Sada pogledajmo postupak uklanjanja oznaka treće strane.

Uklanjanje oznaka treće strane

Budući da se u mom slučaju pokazalo da se radi o označavanju treće strane pomoću mikroformata, upotrijebit ću njegov primjer da pokažem ovaj proces. Ako imate neku drugu oznaku, tada će princip brisanja biti sličan.

Sve se svodi na uklanjanje oznaka i njihovih atributa iz oznake koju imate. Jedina razlika između mikroformata i drugih vrsta mikro označavanja bit će da sve vrste osim mikroformata dodaju nove oznake i atribute. Mikroformati ne dodaju ništa, ali su zapisani unutar specifičnog atributa klase html element predložak (na primjer, naslov članka), kao što sam napisao u odlomku o glavnim vrstama.

Usput, u točki br. 6 ovog članka dajem kod za označavanje komentara koji je potrebno umetnuti u predložak funkcijske datoteke functions.php. Ovaj kod trebao bi ispraviti ove pogreške iz oznake mikroformata treće strane. Stoga, ako imate ovaj problem, prvo preporučujem da provjerite taj kod na svom predlošku. Trebao bi pomoći. To će vas uštedjeti nepotrebnog rada ručnog odlaganja. Ako ništa ne uspije, onda sve radimo ručno, kao što opisujem u nastavku.

Sada prijeđimo na sam proces. Dakle, ranije je postalo jasno da imam dodatne oznake od mikroformata. Prilikom provjere u validatoru dobili smo oznaku vcard koja stvara greške.

Sada moramo otvoriti mapu s predloškom da bismo vidjeli sve njegove datoteke, a zatim se okrećemo onim datotekama koje su odgovorne za prikaz tih elemenata u kojima se nalaze mikroformati. Kako to učiniti, pogledajte popis u nastavku:

Nadam se da sam to sasvim jednostavno objasnio. Iako, početnik može imati veću zbrku u glavi.

Ovako je ovaj dio koda s vcard izvorno izgledao u mojoj datoteci predloška.

Nakon promjene postalo je ovako.

Također sam napravio promjene u stilovima.

Sada nema mikroformata i dizajn je sačuvan u izvornom stanju.

Dakle, kada smo uklonili standardnu ​​oznaku (ako je bila prisutna), možemo ugraditi novu sa Schema.org. DO ovaj proces počinjemo.

Implementacija mikro označavanja Schema.org

Počnimo s malim objašnjenjem i teorijom, budući da se uvijek trebate pripremiti prije prakse.

Prvo, vrijedno je otkriti koje datoteke trebamo usmjeriti na potrebne entitete i njihova svojstva. Sada govorim o datotekama za WordPress motor. O drugim motorima neću ništa, jer ne radim s njima. Princip označavanja ostaje isti. Vi samo trebate odrediti datoteke u kojima se nalaze potrebna područja za označavanje.

  • Single.php datoteka (datoteka zapisa): entitet - područje sadržaja (članak), svojstva - datum objave, autor, kategorija, naslov članka, slike;
  • Datoteka Functions.php (u mom slučaju - oznaka koda komentara): entitet - komentar, svojstva - tekst komentara, datum i ime komentatora;
  • Datoteke s popisom najava index.php, category.php, archive.php (glavni, kategorije i arhive, redom): entitet - popis najava, svojstva - datum objave, autor, kategorija, naslov članka;
  • Stranica datoteke.php (obična statična stranica - izborno): entitet - područje sadržaja, svojstva - naslov teksta i, ako je dostupno, datum, autor i ostalo;
  • U datoteci header.php također označite zaglavlje - entitet će biti zaglavlje, a svojstva će biti naslov stranice + opis;
  • Datoteka sidebar.php (bočni stupac): entitet - cijela bočna traka, svojstvo - naslov svakog widgeta;
  • Datoteka footer.php (podnožje stranice): entitet - cijelo podnožje, svojstvo - datum autorskog prava + naziv stranice (nisam označio ime);
  • Zaglavlje datoteke.php ( gornji dio resurs): entitet - glavni navigacijski izbornik, svojstvo - veze + njihova sidra.

Sada o oznakama i atributima koji odgovaraju svakoj vrsti entiteta i njihovim odgovarajućim svojstvima. Prvo o entitetima.

/***Popis najava***/ itemscope itemtype="http://schema.org/BlogPosting" /***Objavi sadržaj stranice***/ itemscope itemtype="http://schema.org/Article" / ***Komentari***/ itemprop="komentar" itemscope itemtype="http://schema.org/Comment" /***Uobičajena statična stranica***/ itemscope itemtype="http://schema.org / Članak" /***Bočna traka (bočna traka)***/ itemscope itemtype="http://schema.org/WPSideBar"> /***Podnožje (podnožje stranice)***/ itemscope itemtype="http:/ /schema.org/WPFooter"> /***Navigacija web mjestom (glavni izbornik)***/ itemscope itemtype="http://schema.org/SiteNavigationElement"> /***Slike***/ itemscope="" itemtype="https://schema.org/ImageObject" /***Trajni link na stranicu***/ itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" /***Organizacija * **/ itemscope itemtype="https://schema.org/Organization" /***Adresa***/ itemscope itemtype="http://schema.org/PostalAddress"

Sada oznake imovine.

  • Naslov stranice (tekst) - itemprop="headline"
  • Tekst unosa - itemprop="articleBody" (može se koristiti i za opis ako je formiran kao dio cjelovitog teksta)
  • Datum objave - itemprop="datePublished"
  • Autor - itemprop="autor"
  • Kategorija članka - itemprop="articleSection"
  • Slika - itemprop="slika"
  • Tekst komentara - itemprop="tekst"
  • Ime komentatora - itemprop="kreator"
  • Datum komentara - itemprop="datePublished"
  • Link (odnosi se na glavni izbornik i sliku) - itemprop="url"
  • Godina autorskog prava u podnožju - itemprop="copyrightYear"
  • Datum zadnje izmjene stranice - itemprop="dateModified"
  • Adresa - itemprop="adresa"
  • Ulica - itemprop="adresa ulice"
  • Indeks - itemprop="postalCode"
  • Lokacija adrese - itemprop="addressLocality"
  • Telefon - itemprop="telefon"
  • Duljina slike - itemprop="width"
  • Širina slike - itemprop="height"
  • Logotip - itemprop="logotip"

Ovo su glavna svojstva koja ćemo sada koristiti.

Daljnji koraci za označavanje predloška prilično su jednostavni.

Svako područje koje treba definirati entitet i svojstvo korištenjem gore navedenih oznaka umotano je u neku vrstu zajedničke oznake. To može biti oznaka bloka div, oznaka članka, oznaka raspona, H1 zaglavlje i drugi. Radi lakšeg razumijevanja, naslov je gotovo uvijek omotan H1 oznakom, što i treba biti. Bit će 2 oznake: otvarajuća i zatvarajuća. I tako sa svakim elementom stranice, a ne samo sa zaglavljima.

Ideja je da će svakom potrebnom elementu trebati dodijeliti oznaku entiteta (odredite vrstu sadržaja: članak ili komentar, ili popis najava, itd.) i svojstva unutar njegove uvodne oznake.

Sada vježbajte. Na primjer, postoji datoteka jednog posta (članka) single.php. Počnimo s njegovim označavanjem.

Mikro označavanje posta (članka)

Počnimo s definiranjem entiteta. Predložak ima zajedničku oznaku koja obavija cijelo područje sadržaja objave (i tekst članka i naslov i komentare) i za svakoga je drugačiji. Neki ljudi bi ga mogli imati div blok. Imam ovaj članak. Naravno, ovaj tag se otvara na samom početku, gdje počinje sav sadržaj, a završava negdje kada sadržaj završi.

I na samom početku, unutar uvodne oznake članka, trebam umetnuti oznaku entiteta područja sadržaja na stranici objave (dao sam kodove malo više). Dat ću vam sliku (na klik) konačnog markupa single.php datoteke snimanja, a onda ću objasniti što se dogodilo i što se dogodilo na kraju, ako nekome nije jasno. Slika je velika, ali se može kliknuti, pa možete kliknuti na nju i pogledati je u većoj veličini ili je otvoriti u novoj kartici i pogledati u punoj veličini.

U početku se cijelo područje sadržaja objave otvara pomoću oznake članka. Bilo je ovako:

I postalo je ovako:

Kao što vidite, oznaka entiteta objave uključena je unutar oznake uvodnog članka. Sada će robot za pretraživanje shvatiti da je to područje koje sadrži sadržaj. Percipirat će ovo područje kao objekt. Vrlo je važno.

Usput. Mnogi ljudi postavljaju ocjene članaka bez dodatka, a nakon provjere stranice u Yandex ili Google validatoru, rečeno im je da predmet pregleda nije naveden. To je zbog činjenice da se ocjena objavljuje sama. Morate ga smjestiti unutar ovog područja, koje zauzvrat mora biti definirano oznakom za označavanje kao područje sadržaja (ili objekt pregleda). Tada će ocjena pripasti objektu, odnosno artiklu. Nakon ovoga neće biti grešaka.

Vratimo se procesu. Prvo smo postavili suštinu objekta (cijelo glavno područje smo omotali zajedničkom oznakom), a zatim smo označili njegova svojstva, odnosno sekundarne podatke: datum objave, autora, tijelo članka (sam tekst) , podaci o izdavaču (adresa, organizacija, logo), datum zadnje promjene stranice, adresa početne stranice i tako dalje. Sve je potpuno isto - unutar svake početne oznake potrebnog elementa označavamo odgovarajuće parametre. U nastavku dajem objašnjenje što se dogodilo prije unošenja promjena i što se dogodilo nakon.

U početku kopiramo 2 retka koda odmah nakon uvodne oznake koja obavija cijelo područje sadržaja. Za mene je ovo oznaka članka s entitetom unutar njega koji je postavljen ranije u tekstu.

"/>

  • Prvi redak je odgovoran za izlaz retka koji pokazuje na adresu stranice i govori da je ova stranica glavna.
  • 2. red - datum zadnje izmjene stranice.

Zatim u sljedećem redu dajemo podatke o izdavaču, tj. o tome tko objavljuje materijale. To uključuje nekoliko entiteta odjednom (Organizacija - adresa unutar nje, slika - logo). Ja vam dam kod, vi samo zamijenite savjete u njemu svojim podacima. Hoćete li stavljati stvarne ili ne na vama je, ali ako Google to ipak radi kako bi poboljšao rezultate i prikazao vaše podatke kako bi vam povećao vjerodostojnost, onda bih označio prave. Općenito, ovo je svačiji posao. Evo koda.

ime ulice indeks država, regija, grad telefon

Ako primijetite, u gornjim kodovima postoji display:none style tag, koji govori da ti podaci ne moraju biti prikazani na stranici, već samo u izvornom kodu, kako bi ih tražilica mogla vidjeti. Zapravo ovo je ono što mi treba. Ova oznaka se nalazi u redovima 2 i 9 i skriva prikaz logotipa i adrese. Ako želite prikazati, uklonite ove stilove. Ubuduće ću to raditi, kada blog radikalno redizajniram, dizajnirat ću ga u kompaktan, lijep blog koji će se dobro uklopiti u dizajn i dati informacije o meni.

Što se tiče loga, mnogi ga jednostavno nemaju. Predlažem da učinite sljedeće - ili napravite malu sliku i na nju napišite naziv stranice s adresom (najjednostavnija opcija logotipa) ili postavite svoju fotografiju (najljenija opcija). Imam logo, pa sam ga registrirao.

Dakle, sada označavamo sljedeće informacije. Ovdje će biti lakše. Vi samo trebate pronaći sve druge potrebne kodove koji prikazuju ove ili one informacije (naslov, kategorija, datum objave, autor) i umetnuti potrebne oznake svojstva schema.org markup unutar njihovih početnih oznaka u kojima su zatvoreni.

Naslov objave. Bio je:

Datum objave. Bio je:

Konstantin Hmeljov

".$current_category_name."

".$current_category_name."

Tekst članka. Bio je:

ovdje je kod treće strane

ovdje je kod treće strane

I sami biste trebali učiniti gotovo istu stvar. Jedina razlika bit će u oznakama, unutar kojih trebate postaviti oznake entiteta i svojstva. Njihov poredak također može biti drugačiji. Ili se može dogoditi da nešto uopće neće biti, na primjer, neće biti datuma objave ili poveznice na kategoriju. Zatim ćete te podatke morati dodati u predložak.

U pretposljednjem paragrafu članka dat ću vam kodove koje možete koristiti ako vam odjednom nešto nedostaje.

Dakle, sada moramo provjeriti našu stranicu u Yandex i Google validatorima.

U Googleovom validatoru bit će gotovo isto. U ovim podacima ne bi trebalo biti grešaka. Jedina nijansa odnosi se na mikrooznačavanje slika, na što prelazimo.

Svaku sliku možete označiti ručno, umotavši je u suštinu slika i navodeći potrebna svojstva, ali to je prilično nezgodno kada u svakoj objavi postoji nekoliko desetaka slika. Upotrijebimo sljedeći kod.

Funkcija micro_images_captions ($a, $attr, $content = null)( extract(shortcode_atts(array("id" => "", "align" => "alignnone", "width" => "", "caption" = > ""), $attr)); if (1 > (int) $width || empty($caption)) return $content; $caption = html_entity_decode($caption); if ($id) $id = "id ="" . esc_attr($id). "" "; return "

" . do_shortcode($content) . "

" . $natpis . "

";) funkcija micro_image($content) ( $ar_mk = "! !si"; $br_mk = " "; $content = preg_replace($ar_mk, $br_mk, $content); return $content; ) add_filter("the_content", "micro_image"); add_filter("img_caption_shortcode", "micro_images_captions", 10, 3);

Sada ne morate svakom članku dodavati oznaku za označavanje slike. Idemo na validator, provjerimo stranicu s barem jednom slikom i vidimo sljedeću sliku.

Ne bi trebalo biti nikakvih grešaka. Sve je jasno. Svaka slika treba biti omotana oznakom, baš kao na gornjoj snimci zaslona.

Mikro označavanje glavne stranice

Ovdje trebate omotati kod koji prikazuje popis najava s oznakom entiteta popisa najava. To se radi na potpuno isti način. Unutar opće oznake koja obavija sav kod u predlošku, postavljamo željenu oznaku (suština popisa blogova je blogposting, ili to možete učiniti po analogiji sa post page -article). Pogledajte sliku (može se kliknuti).

Kao što vidite, moj popis objava se prikazuje pomoću oznake li list, odnosno svaka objava je ograđena njime. Unutar popisa gotovo je isto kao i unutar samog unosa - tu su datumi, ime autora, naziv rubrike, adresa, logo, izdavač i tako dalje. To možete jasno vidjeti na stranicama bloga. Struktura je slična, samo tekst članka nije potpun. Općenito, označavanje je potpuno isto kao i za stranicu s objavom, s izuzetkom oznake entiteta objave objave na blogu.

Također je potrebno upotrijebiti nešto drugačiji kod za označavanje slike za stranicu s najavama, budući da prikazuje ne samo slike, već i minijature. Mikrooznačavanje sličica bit će provedeno korištenjem gotovo sličnog koda. Ako su se prije morali označavati rukom, sada to više nema smisla. Ovdje je kod (također ga stavljamo u datoteku functions.php).

Funkcija micro_thumbnail($content) ( $ar = "!!si"; $br = ""; $content = preg_replace($ar, $br, $content); return $content; ) add_filter("post_thumbnail_html", "micro_thumbnail ");

Kontaktiramo validatora i provjeravamo početna stranica. Pokazao sam vam samo 2 najave, jer... cijeli zaslon će biti vrlo velik.

Bit će onoliko takvih unosa za blogove koliko ima najava na ovoj stranici. Ako ste koristili članak umjesto blogpostinga, tada ćete imati nekoliko članaka ovisno o broju najava.

Budući da je glavna stranica po strukturi slična stranicama odjeljaka i arhiva, njihova je mikrooznaka identična. Popisi najava prikazani su na svim vrstama stranica.

Dakle, sve što preostaje je analizirati oznake komentara, što je prilično kompliciran proces za početnika. Ostale su i obične statične stranice. Princip njihovog označavanja sličan je zapisima, pa ga neću pokazati.

Dakle, komentari. Pojednostavimo zadatak na umetanje jednog koda u datoteku functions.php i modificiranje funkcije koja prikazuje komentare na stranicama stranice. Prvo uzmite sljedeći kod i smjestite ga u datoteku functions.php na samom početku, neposredno prije uvodne oznake< ?php. Если будет выдавать ошибку, можно попробовать его разместить после закрывающего тега?>na samom kraju datoteke.

Postoji i opcija postavljanja kada trebate ukloniti otvaranje php koda u ovom kodu na samom početku (ukloni< ?php) и в самом конце его закрытие (удалить?>). Tada trebate postaviti kod ne prije ili iza otvarajuće (zatvarajuće) php oznake, već unutar ovih oznaka pored svih ostalih funkcija. Ponekad sam nailazio na problem kada ova određena opcija postavljanja radi.

Kod ne radi na svim predlošcima!

< id="komentar-">

%s:
"), get_comment_author_link()); ?>comment_approved) : ?>
$add_below, "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>
$add_below, "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>

Sljedeći korak je otvoriti datoteku comments.php i u njoj potražiti funkciju izlaza komentara. Ovako izgleda:

< ?php wp_list_comments(); ?>

Ovo je njegova pojednostavljena verzija i bit će dobro ako tako i napravite. Zatim ga jednostavno zamijenimo potpuno istim kodom, samo s nekoliko izmjena s pozivom funkcije koju smo ranije smjestili u datoteku funkcija.

< ?php wp_list_comments("callback=schema_comment"); ?>

Može doći do situacije kada će umjesto samo varijante koda postojati malo modificirana verzija s već unesenim parametrima, na primjer:

< ?php wp_list_comments("type=comment&avatar_size=48"); ?>

U ovom slučaju koristimo znak & za dodavanje poziva našoj funkciji označavanja komentara callback=schema_comment. Ispast će ovako:

< ?php wp_list_comments("type=comment&avatar_size=48&callback=schema_comment"); ?>

U mom primjeru sve je još puno kompliciranije. Unutar ove funkcije postoje parametri, kao u prethodnom retku koda. Ali oni su prikazani malo drugačije.

< ?php wp_list_comments(array("style" =>"ol", "short_ping" => true, "avatar_size" => 74,)); ?>

Ako imate ovu opciju, onda unutar zagrada pored svih parametara uvodimo novi. Završit ćemo sa sljedećim kodom.

< ?php wp_list_comments(array("style" =>"ol", "short_ping" => true, "avatar_size" => 74, "callback" => schema_comment,)); ?>

Kada smo kod funkcije smjestili u datoteku functions.php, te malo promijenili kod za prikaz komentara na stranici u datoteci comments.php, možemo provjeriti rad oznake komentara.

Znak ispravnog označavanja komentara je njihovo ugniježđivanje u tijelu članka bez ikakvih uvlaka i razmaka. Svaki komentar mora biti prikazan unutar članka i prikazan u Yandex validatoru.

Kao što vidite, komentari se nalaze unutar tijela članka. Tako bi i vama trebalo biti.

Također možete reći tražilicama broj komentara na svakom postu. Postoji i oznaka za ovo - itemprop="commentCount". Slično prethodnim koracima, treba ga postaviti unutar početne oznake koja obavija funkciju za prikaz broja komentara. Ova funkcija se zove:

< ?php comments_number ?>

Potpuna izlazna linija ove funkcije može biti drugačija, ali njezina suština je ista. Unutra bi trebao biti comments_number.

Za mene ova funkcija ima sljedeći potpuni oblik zajedno s oznakom za omatanje.

< ?php comments_number("Комментариев пока нет. Будьте первым!","1 Комментарий","Комментариев: %") ?>

Ovisno o predlošku, trebate pronaći mjesto funkcije. Obično je sve u istoj datoteci comments.php. U mom se predlošku ova funkcija nalazila u datoteci s jednim unosom single.php prije prikazivanja obrasca za komentare. Budući da je moja funkcija bila omotana u tekstualnu oznaku raspona, unutar nje umećem svojstvo commentCount.

Kontaktiramo validatora.

Važno. Trebate samo omotati broj komentara bez ikakvih natpisa ili riječi. Oznaka prihvaća samo brojeve!

Pažnja: nisam autor funkcija. Funkcije za automatsko označavanje komentara i slika preuzete su sa stranice http://seo-mayak.com/. Samo sam malo promijenio imena + negdje malo ispravio nešto.

Mikro označavanje zaglavlja stranice

Otvorite datoteku header.php predloška dizajna i potražite početnu oznaku zaglavlja. U njega lijepimo:

Itemscope itemtype="http://schema.org/WPHeader"

  • Naslov - itemprop="headline"
  • Opis - itemprop="opis"

Evo gotove verzije na slici.

Ovako će se prikazati u validatoru.

Mikro označavanje bočne trake (bočnog stupca).

I ovdje je sve jednostavno. Otvaramo datoteku koja je odgovorna za izlaz bočnog stupca, u pravilu, to je sidebar.php. Nalazimo blok ili oznaku koja obavija cijeli sadržaj cijelog bočnog stupca i unutar njega postavljamo oznaku entiteta koji odgovara bočnoj traci.

Register_sidebar(array("name" => __("Područje za umetanje widgeta u bočnu traku", "xmarkup"), "id" => "primary-widget-area", "description" => __("", " xmarkup "), "before_widget" => "", "after_widget" => "", "before_title" => "", "after_title" => "",));

Od interesa su posljednja 2 retka (before_title i after_title), koji određuju što će biti prikazano prije i poslije naslova widgeta. Kao što vidite, naznačio sam da će prije i poslije biti oznaka raspona teksta. Možda tamo imate nešto prazno ili neke druge oznake, kao što je div block oznaka. Ako je prazna, preporučujem dodavanje oznake raspona slične mojoj verziji i navođenje svojstva name (itemprop="name") unutar početne oznake (redak prije_title). Dobit ćete sljedeću konstrukciju:

Register_sidebar(array("name" => __("Područje za umetanje widgeta u bočnu traku", "xmarkup"), "id" => "primary-widget-area", "description" => __("", " xmarkup "), "before_widget" => "", "after_widget" => "", "before_title" => " ", "after_title" => "",));

Ovisno o predlošku, može postojati nekoliko takvih dijelova koda. Zatim će se svi dijelovi morati finalizirati. Nakon izmjena provjeravamo označavanje bočne trake putem Yandex validatora i trebala bi se dobiti sljedeća slika.

Ovisno o broju widgeta, pri provjeri će se prikazati odgovarajući broj redaka.

Footer (podnožje) mikro oznake

Otvorite datoteku footer.php i potražite zajednički blok koji obavija sav sadržaj podnožja, uključujući autorska prava. Unutar uvodne oznake postavljamo oznaku entiteta itemscope itemtype="http://schema.org/WPFooter".

A unutar početne oznake, koja sadrži datum autorskog prava, postavljamo oznaku svojstva itemprop="copyrightYear".

Vrlo je važno da se unutar oznake copyrightYear nalazi samo datum u obliku broja. Bez stranih riječi ili simbola, inače će generirati pogrešku.

U radnom stanju vidjet ćete sljedeće u validatoru.

Mikro označavanje glavnog navigacijskog izbornika

I ovdje je sve vrlo jednostavno, ali ova opcija neće raditi za sve, jer je struktura izrade i prikaza izbornika u predlošcima drugačija.

Kod koji prikazuje izbornik nalazi se u datoteci header.php. Idemo tamo i tražimo sljedeći sadržaj:

< ?php wp_nav_menu(array("theme_location" =>"header-menu-top","container" => "")); ?>

Linija može biti malo drugačija. Glavna stvar je pronaći liniju koja uključuje wp_nav_menu. Bit će zamotan u oznake. Za mene i za većinu drugih tema princip je sličan. Koristi se navigacijska oznaka. Unutar početne nav oznake umećemo oznaku koja prikazuje suštinu ovog elementa, odnosno glavni izbornik:

Itemscope itemtype="http://schema.org/SiteNavigationElement"

Zatim, provjerite je li svakom linku u izborniku dodan atribut itemprop="url", koji će označavati da se radi o linku. Ako imate jednostavnu stranicu na kojoj je svaka stavka izbornika izrađena ručno, implementirajte ovaj atribut unutar oznake svake veze. Ako imate web stranicu na WordPressu i izbornik je formiran u datoteci functions.php na standardan način, trebali biste u istu datoteku postaviti sljedeći kod koji će automatski umetnuti ovaj atribut u svaku stavku izbornika.

Funkcija nav($content) ( $pattern = "

Nakon provjere bilo koje stranice (na kojoj postoji izbornik) u Yandex validatoru, trebali bismo vidjeti oznaku entiteta zajedno s popisom svih stavki izbornika.

Ako funkcija za vaš predložak ne radi, tada nećete vidjeti veze u validatoru, već samo entitet.

U potonjem slučaju, bolje je ukloniti oznaku iz izbornika, jer nema nikakvo semantičko značenje i Googleov alat za provjeru strukturiranih podataka će dati upozorenje.

Ovo dovršava glavni dio mikro označavanja. Običan blog (informativno mjesto) ne treba ništa drugo.

Mikrooznačavanje adresa (podaci za kontakt)

Ako na svojoj web stranici posjetiteljima prikazujete svoje podatke za kontakt (naziv organizacije, adresu, telefonski broj itd.), možete i njih označiti. To se radi vrlo jednostavno. U nastavku dajem kod, koji samo trebate postaviti u html modu na željenu stranicu (npr. kontakti) i unijeti svoje podatke.

Naziv stranice indeks, država, regija, grad ime ulice Telefon: telefon Email: vaš email je [email protected]

Napominjem da e-pošta putem obične pošte u ovom slučaju nije prikladna. Trebate poštu poput [email protected], odnosno poštu na domeni.

Na ovome je vježbanje završeno. Mikro označavanje na vašem WordPressu mora biti implementirano i biti bez ijedne greške, kako u Yandexu tako iu Googleu.

Sada ću vam, kao što sam obećao, dati neke kodove koji će vam možda trebati ako vaš predložak ne prikazuje sve informacije potrebne za označavanje.

Korisne informacije

Dajem vam popis kodova s ​​već implementiranim svojstvima označavanja. Zapravo, samo ih trebate umetnuti na prava mjesta u predlošku i postaviti stilove za klase koje su napisane u tim oznakama.

/***prikazuje datum objave unosa***/ /***zaključak autora***/ Autor: /***prikaži broj komentara***/ Komentari: /***naslov izlazne stranice***/

/***izlaz kategorije***/ Ime; $current_category_link = $cat->cat_ID; )) jeka "
".$current_category_name.""; ?>

Također postoji vrlo velik broj zahtjeva putem e-pošte za mene s problemom uklanjanja grešaka koje nastaju zbog ugrađenog hentry markupa u predlošcima. Greške zvuče ovako:

Nedostaje: natuknica-naslov
Nedostaje: ažurirano
Nedostaje: autor

Zašto se ova situacija događa? Jednostavno je – u predložak se automatski dodaje klasa henrty, što podrazumijeva da se uz naslov, datum i autora moraju dodati odgovarajuće oznake (klase). Možete to učiniti - dodajte ove klase. Ne vidim puno smisla u ovome, budući da smo predložak već označili schema.org rječnikom i henrty mikroformati nam neće biti od koristi. Stoga bi najbrži i najlakši način bio koristiti malu funkciju koja uklanja ovu henty klasu iz predloška i Google neće čak ni pronaći hentry mikroformate.

//uklanjanje klase hentry start funkcija wph_remove_hentry_class($classes) ( $classes = array_diff($classes, array("hentry")); return $classes; ) add_filter("post_class", "wph_remove_hentry_class"); //uklanjanje klase hentry kraj

Funkcija se naravno dodaje u datoteku functions.php. Ako ste već imali slične pogreške ili su se počele pojavljivati, postupno kako Googleov robot za mikrooznačavanje indeksira stranicu vaše stranice, one će početi nestajati. Ako ih nije bilo, onda se neće ni pojaviti.

Postoji još jedna opcija kada možete patiti i dodati potrebne oznake izlazu naslova, datuma i autora. Tada će Google pronaći ovu oznaku i prepoznati je. Ako se odlučite na takve radnje, morate pronaći php kodove za prikaz naslova (1), datuma (2) i autora (3).

Gotovi kodovi s oznakama mikroformata bit će sljedeći:

Zamotavanje na ovaj način također će biti u redu.

Sljedeća točka bit će za one kojima je preteško sve ovo učiniti ili koji su previše lijeni.

Učinit ću sve za tebe

Mogu ti pomoći. Ali, naravno, ne besplatno. Osim jasnih odgovora na vaša pitanja u komentarima, mogu uz malu naknadu ugraditi sve gore opisane mikrooznake u vaš predložak.

Trošak ove usluge je 1000 rubalja.

Označit ću sve glavne podatke, naime:

  1. Glavna stranica + stranice arhiva i odjeljaka;
  2. Post (post) stranica;
  3. Obična statična stranica;
  4. Zaglavlje web stranice;
  5. Podrum;
  6. bočna traka;
  7. Navigacijski izbornik (ako predložak nije u sukobu);
  8. Mrvice kruha + ocjena (opcionalno + 200 rubalja).

Ova je opcija prikladna za osobne blogove, kao i za informativne stranice. Mogu raditi i na WordPress motoru i na običnoj html stranici. U početku neću ništa poduzeti, jer ću prvo analizirati Vaš predložak i odgovoriti mogu li to uopće učiniti. Moguće je da ćete nešto morati ponoviti u predlošku ili ga dovršiti. Svaka osoba dobiva individualni pristup.

Princip je sljedeći. Kontaktirate me putem stranice “Pišite mi” (možete me kontaktirati i u komentarima ovog članka). Odmah mi pošaljite link na vašu web stranicu + link za preuzimanje predloška. Analiziram i dajem vam odgovor u bliskoj budućnosti (1-2 dana). Ako je sve u mojoj moći, onda nakon plaćanja odmah počinjem označavati.

Svi prijatelji. Nadam se da vam je ovaj materijal pomogao. Nisam imao cilj napisati ovdje u 2 riječi kako sve napraviti. Moj je cilj bio napisati najbolji i najopsežniji vodič za implementaciju označavanja na web stranici. Nadam se da je uspjelo. To možete potvrditi svojim komentarima, lajkovima i ocjenama.

Vidimo se u sljedećim materijalima.

Srdačan pozdrav, Konstantin Khmelev!

Sada je postalo moderno zamijeniti uobičajeni WordPress sustav komentara komentarima s jedne od najpopularnijih društvenih mreža, Facebooka. Ovo smo već ranije objavili, no od tada je prošlo dosta vremena, a sada je ovaj postupak značajno pojednostavljen zahvaljujući već gotovom WordPress dodatku. Tako da će ovaj put sve biti puno lakše.

Reći ćemo vam kako implementirati Facebook komentare na svoju web stranicu malo kasnije, ali prvo ćemo pokušati utvrditi sve prednosti i mane takve zamjene.

Facebook komentari: za i protiv

Osim toga, faktor tzv anonimnost. Malo je vjerojatno da će neželjeni komentari biti dodani s Facebooka, budući da su svi vezani za stvarne korisničke račune.

Ali u isto vrijeme, mogu se pronaći i nedostaci takvog sustava. Mnogi korisnici preferiraju anonimnost, a ne zato što žele napisati nešto loše ili ostaviti spam. Ne. Čisto je stvar psihičkog momenta i osjećaja nelagode i srama koji doživljavaju kad javno govore. Ovaj faktor može smanjiti aktivnost korisnika.

Za razliku od drugih sustava za komentare poput Disqusa, Facebook komentari se ne sinkroniziraju s izvornim WordPress komentarima. U potpunosti ih zamjenjuju. Ako starije objave već imaju WordPress komentare, oni će se pojaviti prije ili nakon novih komentara dodanih putem Facebook obrasca.

Ovdje su možda sve prednosti i mane Facebook komentara.

Ako se još niste predomislili da ih instalirate na svoju WordPress stranicu, u nastavku pročitajte kako to učiniti.

Facebook dodatak za komentare za WordPress

Najprije instalirajte i aktivirajte dodatak Komentari na Facebooku i konfigurirajte ga u izborniku koji se pojavljuje u odjeljku Postavke → Facebook komentari.


Da biste počeli koristiti komentare na stranici, prvo trebate izraditi Facebook aplikaciju.

Ako ste prije izradili aplikaciju, odmah možete koristiti njezine ID podatke. U protivnom ćete morati stvoriti novi na stranici Facebook aplikacije:

Upravljačka ploča novostvorene aplikacije prikazat će njen ID, koji trebate kopirati i zalijepiti u postavke dodatka. Ali prije toga konfigurirajte aplikaciju na svojoj web stranici u "Postavke" pomoću gumba "Dodaj platformu".

Pojavit će se novi prozor u kojem trebate kliknuti na Web stranica i odaberite ga kao svoju platformu.

Tako će se na stranici postavki aplikacije pojaviti novi odjeljak "Web stranica" u kojem možete odrediti adresu svoje web stranice.

Spremite promjene, kopirajte ID aplikacije i postavite ga u postavke dodatka na vašoj stranici.

Ako niste shvatili kako postaviti Facebook aplikaciju, evo još jedne. kratke upute na engleskom s primjerom za našu web stranicu:

Ovaj Facebook dodatak za komentare ima puno opcija za konfiguriranje. Zadane postavke trebale bi funkcionirati s većinom web-mjesta. Međutim, možete ih promijeniti po vlastitom nahođenju i spremiti promjene.

Sada možete testirati radi li novi sustav komentara ispravno na vašoj stranici.

Moderiranje komentara

Budući da imate administratorska prava, primat ćete obavijesti o novim komentarima. Možete upravljati njima i odlučiti hoćete li ih objaviti ili ne.

Također možete dodati novog moderatora u postavkama:

Nadamo se da je ovaj vodič pružio jasnoću i pomogao vam da sami postavite komentare na Facebooku za svoje web mjesto koje nije WordPres.

U ovoj lekciji ću govoriti o tome kako napraviti komentari u HTML, CSS, PHP. Komentari su tekst koji nije vidljiv na web stranici. Koriste se za razne vrste objašnjenja, podsjetnika i opisa za webmastere, što vam omogućuje strukturiranje dokumenta. Komentari su nezamjenjivi prilikom otklanjanja pogrešaka u kodu; oni vam omogućuju brzu navigaciju označavanjem web stranice i pronalaženje željenog bloka. Komentari se često koriste za ispravljanje pogrešaka u HTML kodu. Na primjer, možete privremeno komentirati određeni blok koda tako da se ne izvršava, a ako je potrebno, možete ga jednostavno vratiti.

Komentari u HTML-u

U HTML-u, komentari se formiraju pomoću sljedećih znakova:. Stoga je svaki tekst između ovih znakova komentar. Pogledajmo primjer:

Komentari u CSS-u

Komentari u CSS-u kreiraju se pomoću znakova: /* i */. Da biste stvorili komentar, jednostavno morate postaviti kôd web stranice između ovih znakova:

/* Početak bloka sa stilovima za Body*/ body ( background: #efeded; font-family: Verdana, Helvetica, sans-serif; font-size: 12px; margin: 0px; padding: 0px; ) /* Kraj blok sa stilovima za tijelo*/

Komentari u PHP-u

Komentari u PHP-u mogu biti jednoredni ili višeredni:

1) Jednoredni komentari u PHP-u stvaraju se pomoću znakova: //. Jednostavno stavite ovaj znak ispred retka i on će biti komentiran.Ova opcija se koristi u slučaju kada se komentar sastoji od samo jednog retka.

2) Za implementaciju višerednih komentara koriste se sljedeći simboli: /* i */. Ova je opcija korisna ako se komentar proteže u nekoliko redaka.

Tako smo naučili raditi

Ovaj put izrađujemo jednostavan AJAX sustav komentiranja. Ovo će pokazati kako postići učinkovitu interoperabilnost između JQuery i PHP/MySQL koristeći JSON. Sustav funkcionira na način da se dodani komentari postavljaju na stranicu bez potpunog ponovnog učitavanja, dajući osjećaj da stranica radi samo na korisnikovom računalu, čime se izbjegava potreba čekanja određenog vremena za ponovno učitavanje stranice s dodanim komentarom. .

Evo grube demonstracije onoga što planiramo implementirati:

Korak 1 - XHTML

Prvo, pogledajmo oznake komentara. Ovaj kod generira PHP u komentaru, koji ćemo pogledati za koji trenutak.

Demo.php

Ime
30. srpnja 2010

Komentar

Div klase avatar sadrži hipervezu koja odgovara avataru (ako je korisnik naveo valjanu poveznicu na avatar prilikom slanja komentara), na primjer s gravatar.com. Pa, vratit ćemo se na ovo kada budemo radili s PHP-om. Konačno, ime i vrijeme imamo također u DIV-ovima, kao i komentar, odnosno sam tekst u paragrafu.

Drugi važan element u XHTML dijelu je sam obrazac za podnošenje komentara (sva polja osim URL polja su obavezna).

Demo.php

Dodaj komentar

Korak 2 - PHP

PHP obrađuje veze s MySQL bazom podataka i stvara oznake komentara. Osim toga, AJAX se koristi na kraju i ubacuje komentar u tablicu komentara. Možete vidjeti kod koji prikazuje komentare na stranici ispod.

Demo.php /* / Odaberite sve komentare i ispunite polje $comments */ $comments = array(); $result = mysql_query("SELECT * FROM komentara ORDER BY id ASC"); while($row = mysql_fetch_assoc($result)) ( $comments = new Comment($row); )

MySQL upit dohvaća sve unose iz baze podataka i popunjava polje $comments s objektom klase komentara koji vidite ispod. Ovaj niz se ispisuje nakon što se skripta izvrši.

Demo.php /* / Prikaži komentare jedan po jedan */ foreach($comments as $c)( echo $c->markup(); )

Svaki komentar ima metodu markup(), koja generira HTML kod za ispis stranice. Ovu metodu i klasu možete vidjeti ispod.

Klasa uzima niz iz baze podataka (dohvaćen pomoću mysql_fetch_assoc()) i pohranjuje ga u varijablu $data. Dostupan je samo metodama ove klase i ne može mu se pristupiti izvana.

Comment.class.php – Komentar klase 1. korak (privatni $podaci = niz(); javna funkcija __construct($row) ( /* / Konstruktor */ $this->data = $row; ) javna funkcija markup() ( / */ Ova metoda daje komentar XHTML oznake */ // Stvorite alias tako da ne moramo pisati // $this->data podatke svaki put: $d = &$this->data; $link_open = "" ; $link_close = ""; if($d["url"])( // Ako je osoba ispunila URL prilikom // dodavanja komentara // Definirajte hipervezu $link_open = ""; $link_close = ""; ) // Pretvorba vremena $d[ "dt"] = strtotime($d["dt"]); // Potrebno za zadane Gravatar slike: $url = "http://".dirname($_SERVER["SERVER_NAME" ]. $_SERVER["REQUEST_URI "])."/img/default_avatar.gif"; return "

".$link_open." ".$link_close."
".$link_open.$d["ime"].$link_close."

".$d["tijelo"]."

"; }

Ova skripta koristi Gravatar za prikaz avatara u komentarima. Za one koji nisu koristili Gravatar, to je vrlo korisna usluga koja vam omogućuje povezivanje avatara s vašom email adresom. Avatar se može jednostavno preuzeti prosljeđivanjem hash-a putem md5().

Obavijest u retku 39 iznad njega - skripta pokušava otkriti URL na kojem se nalazi i određuje točnu adresu default_avatar.gif slike. Ovaj GIF se prenosi u Gravatar koristeći md5 hash, pa ako je avatar pronađen na ovoj adresi e-pošte, prikazuje se rezervna slika umjesto njega.

Comment.class.php – 2. korak javna statička funkcija validate(&$arr) ( /* / Ova se metoda koristi za provjeru valjanosti podataka / proslijeđenih kroz AJAX. / / Ovo vraća true/false ovisno / o tome jesu li podaci valjani i popunjeno / Niz $arr prosljeđuje se kao paremter / (obratite pozornost na ampersand iznad) / Ili važeći unos podataka ili poruke o pogrešci. */ $errors = array(); $data = array(); // Korištenje funkcije filter_input uveden u PHP 5.2.0 if(!($data["email"] = filter_input(INPUT_POST,"email",FILTER_VALIDATE_EMAIL))) ( $errors["email"] = "Molimo unesite valjanu e-poštu. "; ) ako (!($data["url"] = filter_input(INPUT_POST,"url",FILTER_VALIDATE_URL))) ( // Ako URL polje ne odgovara pogrešnom URL-u $url = ""; ) // Korištenje filtara s prilagođenim / / funkcija povratnog poziva: if(!($data["body"] = filter_input(INPUT_POST,"body",FILTER_CALLBACK, array("options"=>"Comment::validate_text")))) ( $errors[ "body" ] = "Greška komentara."; ) if(!($data["name"] = filter_input(INPUT_POST,"name",FILTER_CALLBACK, array("options"=>"Comment::validate_text")))) ( $errors["name"] = " Name error."; ) if(!empty($errors))( //Ako postoje pogreške, upiši $errors u niz $arr: $arr = $errors; return false; ) foreach($data as $k= >$ v)( $arr[$k] = mysql_real_escape_string($v); ) // Provjerite jesu li e-poruke napisane malim slovima // (za ispravan Gravatar hash): $arr["email"] = strtolower(trim( $arr[ "e-pošta"])); vratiti istinito; )

validate() je definiran kao statički na gore opisani način. To znači da se može pozvati kao Comment::validate() izravno, bez potrebe za stvaranjem objekta te klase. Ova metoda ne provjerava valjanost unosa koji je dostavljen putem AJAX-a.

Ova metoda koristi nove funkcije filtera koje su dostupne u PHP-u 5.2.0. To nam omogućuje jednostavnu provjeru valjanosti i filtriranje bilo kojeg unosa koji se prosljeđuje u skriptu. Na primjer filter_input(INPUT_POST, "URL", FILTER_VALIDATE_URL) znači da provjeravamo da je $_POST["url"] važeći URL. Ako je tako, tada funkcija vraća vrijednost varijable, inače su povrati lažni.

Ovo je vrlo korisno jer smo do sada morali koristiti vlastite regularne izraze za provjeru valjanosti podataka. Dodatno, još jedna prednost je što se ti podaci uzimaju prije bilo kakvih transformacija specifičnih za konfiguraciju (kao što su čarobni citati).

Također imamo mogućnost specificiranja prilagođene funkcije koja će primijeniti neke naprednije izmjene podataka, kao što se vidi u redovima 31 i 37.

Comment.class.php – Korak 3 privatna statička funkcija validate_text($str) ( /* / Ova se metoda koristi interno kao FILTER_CALLBACK */ if(mb_strlen($str,"utf8") , ", itd..) i pretvori / / Novi redovi za
oznake: $str = nl2br(htmlspecialchars($str)); // Ukloni sve preostale nove retke $str = str_replace(array(chr(10),chr(13)),"",$str); povratak $str; )

Posljednja metoda je validate_text, koju prosljeđujemo kao funkciju povratnog poziva. Izbjegava sve posebne HTML znakove, učinkovito eliminirajući XSS napade s njih. Također zamjenjuje nizove znakova s
linije.

Submit.php /* / Ovaj niz će biti ispunjen s / Podacima koji su poslani skripti ili / Porukama o pogrešci: /*/ $arr = array(); $validates = Komentar::validate($arr); if($validates) ( /* Sve je dobro, umetnite to u bazu podataka: */ mysql_query(" INSERT INTO comments(name,url,email,body) VALUES ("".$arr["name"]."" , " ".$arr["url"].", "".$arr["email"].", "".$arr["body"]."")"); $arr["dt" ] = datum("r",vrijeme()); $arr["id"] = mysql_insert_id(); /* / Podaci u upit za umetanje $arr, / ali tekst bez izlaza, / tako da koristimo kose crte / za sve elemente niza : /*/ $arr = array_map("stripslashes",$arr); $insertedComment = novi komentar($arr); /* Izlazna oznaka */ echo json_encode(array("status"=>1, "html" => $insertedComment->markup())); ) else ( /* Prikaži poruke o pogrešci */ echo "("status":0,"errors":". json_encode($arr).")"; )

submit.php prima podatke komentara kao AJAX zahtjev. Provjerava ga i proizvodi JSON objekt, ili XHTML oznaku koja je uspješno prikazana, ili popis poruka o pogrešci. JQuery koristi status vlasništva kako bi odredio trebaju li se prikazivati ​​poruke o pogrešci ili treba dodati komentar oznake stranice.

U nastavku možete vidjeti dva primjera.