SEO lekcije iz popravljanja sopstvenog sajta
Nekoliko dana smo čitali sopstveni sajt onako kako ga čita pretraživač, i našli šest stvari vrednih popravke. Svaka stranica je prijavljivala dva FAQ bloka, Google je kao našu sličicu koristio dekorativni sjaj iza pozadine, nekoliko stranica šablona rangiralo se za pretrage na koje nisu odgovarale, a jedan novi deo sajta blokirala je sopstvena ivica na stejdžingu. Ništa od toga nije bilo dramatično. Sve je to tiho koštalo vidljivosti.
Sajt u jednom pasusu
mythex.ai je jednostranična aplikacija koju prerenderujemo u vreme builda: skripta prolazi kroz svaku rutu, pravi statički HTML fajl za nju i ubacuje naslov, opis i strukturirane podatke stranice (JSON-LD blok koji pretraživačima govori šta je stranica, pogledajte šta su strukturirani podaci). Većina onoga što sledi nalazi se u tom koraku prerendera, jer je to HTML koji crawler zaista čita.
1. Svaka stranica tvrdila je da je FAQ stranica
Simptom. Naš HTML šablon nosio je sajt-širok FAQPage blok u strukturiranim podacima, sa URL-om koji vodi na /faq. Prerender je zatim na to dodao FAQPage svake stranice. Tako je svaka stranica na sajtu isporučivala dva, a naša politika privatnosti govorila je Googlu da je ona FAQ stranica.
Zašto je važno. Google očekuje najviše jedan FAQPage po stranici. Drugi koji pokazuje na neko drugo mesto nije nešto što se samo ignoriše. Može da umanji vrednost markupa cele stranice.
Popravka. Globalni blok je uklonjen. FAQ markup svake stranice sada dolazi s jednog mesta, uključujući i sam /faq, koji ga pravi iz pune liste pitanja. Stranice bez FAQ-ova sada ne deklarišu nijedan, što je iskren odgovor. A prerender obara build ako bilo koja stranica ponovo ima više od jednog FAQPage. Pravilo koje postoji samo u nečijem sećanju se prekrši. Pravilo koje build sprovodi se ne krši.
2. Google je za nas koristio pogrešnu sliku
Simptom. U rezultatima pretrage, Mythex sličica bio je mekani pulsirajući sjaj iza hero dela naše početne stranice, dekorativna pozadinska slika, umesto naše share kartice.
Zašto se desilo. Nikad nismo rekli Googlu koja slika predstavlja stranicu, pa je izabrao onu koju je našao.
Popravka. Dve strane istog problema:
- Recite koja slika pripada stranici. Početna sada ima
WebPagečvor saprimaryImageOfPagekoji pokazuje na share karticu, a strukturirani podaci svake prerenderovane stranice nose sopstvenu sliku (share sliku stranice ili podrazumevanu). - Sakrijte dekoraciju. Pozadinske slike su sada zabranjene u
robots.txti poslužuju se sa zaglavljemnoindex, noimageindex, pa ostaju van pretrage slika i sličica.
3. Pretraživači su znali samo naš logo
Naš Organization markup imao je ime, logo i nekoliko linkova ka društvenim mrežama. To je brending, i ništa više. Pretraživači grade panel znanja o kompaniji iz činjenica tipa registra, pa smo dodali one iz naše licence za poslovanje: pravno ime, datum osnivanja, osnivača i registrovanu adresu. Namerno smo izostavili broj telefona.
4. Stranice šablona odgovarale su na pogrešno pitanje
Simptom. Search Console je pokazivao tri stranice šablona koje skupljaju prikaze, a nijedan klik. Jedna se rangirala za „content strategist portfolio” i varijante, jedna za „best italian restaurant website design”, a jedna za grupu oko „agile board”. Polovina tih pretraga sadržala je reč „free”. Pozicije su se kretale od sredine dvadesetih do pedesetih.
Zašto. Svaka stranica je odgovarala na drugo pitanje od onog koje je postavljeno. Neko ko je želeo da vidi kako izgleda dobar dizajn italijanskog restorana završio bi na stranici koja mu prodaje graditelja.
Popravka. Svaka od tri sada ima odeljak napisan za pretragu, a ne za proizvod, naslov i opis rečima kojima ljudi kucaju, i FAQ-ove vredne markupa koji su već emitovali.
Isti commit je popravio i tiši problem. Blok „povezani šabloni” uzimao je prva četiri šablona u kategoriji, pa su svi portfolio šabloni pokazivali na ista četiri portfolija, a ostatak te kategorije nije imao nijedan interni link. Zamenili smo ga prstenom poređanim po potkategoriji: svaka stranica šablona sada dobija tačno četiri ulazna i četiri izlazna linka. Prerenderovani HTML sada ispisuje i te linkove. Ranije su postojali tek posle izvršavanja JavaScripta, što crawler možda nikad ne izvrši.
5. Javljanje Bingu o novim stranicama čim se objave
Google ignoriše IndexNow, protokol za slanje obaveštenja pretraživačima kad se URL promeni. Bing, Yandex i Seznam ga koriste, a Bingov indeks je ono što ChatGPT pretraga čita. AI graditelj aplikacija koji AI asistenti ne mogu da pronađu jeste posebna vrsta neuspeha.
Očigledan pristup, slanje cele mape sajta pri svakoj objavi, način je da ključ bude ograničen, a većina objava ne menja ništa što pretraživače zanima. Zato skripta upoređuje mapu sajta koju sajt trenutno servira sa onom upravo izgrađenom i šalje samo razliku.
Dva detalja su to učinila mogućim:
- Napravite snimak pre objave. Osnova mora da se uhvati pre nego što novi build postane živ. Posle toga, „živa” mapa je već nova i svaka razlika ispadne prazna.
- Samo nove stranice, za sada. Naša mapa sajta nema datume
lastmod, pa skripta najavljuje nove stranice, ali ne i prepisane. Kad bi svaki URL dobio datum builda, ceo sajt bi se pri svakoj objavi označio kao promenjen, a to je upravo spamovanje koje smo izbegavali.
Pokreće se samo pri produkcionim objavama i nikad ne obara build. Kad se pokrene, sajt je već živ, a ping pretraživaču ne vredi crvenu objavu.
6. Naša ivica je rekla „not found”
Kad smo lansirali /ai stranice (više o njima u landing stranici za svaku vrstu biznisa), stejdžing je za sve njih prikazivao „Not found”, dok ih je statički hosting dobro služio.
Servis ispred naših marketing hostova prosleđuje samo listu dozvoljenih putanja, a sve ostalo dobija tvrdu 404 grešku. /ai je bio nov i nije bio na listi. Dodali smo /ai i /ai/*, uz test koji potvrđuje da prolaze. Mala greška, ali baš takva koja sakrije novi deo sajta od crawlera, a da to niko ne primeti.
Šta smo iz toga izvukli
- Čitajte HTML koji crawler čita. Većina ovih stvari bila je nevidljiva u pregledaču, a očigledna u prerenderovanom fajlu.
- Pretvorite SEO pravila u provere builda. „Jedan FAQPage po stranici” sada se sprovodi, a ne pamti.
- Recite pretraživačima šta mislite. Ako ne kažete koja slika ili koje činjenice vas predstavljaju, oni će pogađati.
- Search Console vam kaže koje je pitanje ljude zanimalo. Prikazi bez klikova obično znače da je stranica odgovorila na drugo pitanje.
- Šaljite razlike, ne sve. Slanje samo onoga što se promenilo drži vas u granicama ograničenja.
Ako radite isto za sajt koji ste sami napravili, naši vodiči SEO za sajtove napravljene uz AI i podešavanje Google Search Console pokrivaju osnove.