SEO tehnička znanja

Uspešan SEO stručnjak poznaje i primenjuje tehnička znanja iz više IT oblasti koje mu pomažu da prikupi, obradi i analizira podatke. Radi produktivnije, brže i postiže bolje rezultate. Nije potrebno da bude apsolutni stručnjak za svaku od oblasti, već da barata osnovama pomoću kojih lakše ubija konkurenciju.

Često gledam konkurse za poslove u marketingu jer želim da vidim kako Internet marketing (čitaj: SEO) profesiju posmatraju vlasnici startapa, raznih kompanija i njihovi HR menadžeri. Zanimljivi su mi ti opisi zaduženja, a posebno uslovi koje kandidati moraju da ispune. Nema razlike između domaćih i stranih konkursa – firme koje znaju šta je SEO nemaju problema da definišu uslove. Firme koje misle da znaju - žestoko maše poentu.

Kao i hiljadu puta ranije, još jednom se pokazuje da Internet marketing zajednica prvo mora da edukuje javnost, pa tek onda da pokuša da im ponudi svoje usluge. Inače ćemo doveka biti tretirani kao spameri, prodavci magle i šta-ti-ja-znam.

Pa da krenem redom. Imajte u vidu da ću ovaj tekst vremenom dopunjavati.

HTML & CSS

html i css kodiranje

Razumevanje HTML koda je osnova SEO optimizacije

HTML je azbuka svakog SEO posla. Nužno tehničko znanje bez koga nema vajde da ulazite u optimizaciju. Svakodnevno ćete raditi sa meta tagovima, rel canonicalom, internom arhitekturom, HTTP odzivom i sa stotinama drugih elemenata. Google bot „gleda“ vaš sajt kroz izvorni kod, zato i vi morate da razumete source code strane. Ako radite multijezični sajt morate da znate kako se primenjuje hreflang, imate sajt sa paginacijom onda primenite rel prev/next i canonical, ma postoji milion stvari koje radite u HTML-u. Nije potrebno da pišete apsolutno validan kod, ali on mora biti semantički ispravan.

Malo o CSS-u

Zašto je CSS bitan za SEO? Na stranu stilizovanje HTML-a, vi ujedno i optimizujete „delivery“, brzinu i upotrebljivost sajta na više uređaja (desktop, tablet, mobilni). Ne samo da razlikujete klase od ID-eva, već i znate kako baratati CSS-om tako da on ne blokira renderovanje stranice, ne gušite stilove kilometarskim linijama koda već koristite varijable, gnezda i kompajlirate CSS.

Znate da algoritam lako ukapira manipulacije CSS-om i trudite se da izbegnete eventualne probleme. Ne blokirate crawl CSS-a i JS-a u robots.txt fajlu.

Bonus odeljak – Mikrodata, JSON-LD i Schema.org

„Rich snippets“ obuhvatanje linija koda tako da sadržaji dobiju semantičko značenje ili opise šta određeni element predstavlja (logo, ime kompanije, adresa, slika, cena, slika...). Korisno za posetioce, a važno i za pretragu jer Gugl „hvata“ podatke i na rezultatima prikazuje.... pa „rich snippets“. Mnogi se ne obaziru na ovo obuhvatanje koda, a ti koji potrošiš vremena bićeš nagrađen većim CTR-om, boljim pozicijama i jačim poverenjem posetioca.

Pogledajte primer ispod.

rich snippets

Isti sadržaj na Gugl rezultatima bez i sa mikrodata obuhvatanja HTML koda

Kao što vidimo na primeru (pizza margherita recipe), prikaz broj 2. daje nekoliko dodatnih informacija i verovatno će privući više klikova od "običnog", prvog prikaza koji dobijamo ako ne primenimo "rich snippets" kod. Direktno na Gugl rezultatima vidimo:

- Sliku jela
- Ocenu korisnika
- Broj ljudi koji je ocenio recept
- Vreme pripreme
- Kalorijsku vrednost

Pravi izazov je naravno pružiti podršku developerima kada je primena schema.org obuhvatanja u glomaznim e-commerce sistemima, WordPress include vezama i loop-u... gde morate poznavati kako funkcioniše PHP i na koji način se određeni elementi renderuju na front-endu.

Nezaobilazni linkovi i resursi za "rich snippets":

Google Structured Data Testing Tool
Schema.org vocabulary
"Rich snippets: Everything you need to know" by BuiltVisible

Javascript

Ne morate programirati, ali morate razumeti da li je određen sadržaj dostupan search botovima za hvatanje i indeksiranje. Javascript omogućava mnogo lepih i fensi stvari na webu, ali zaboravite na indeksiranje i rangiranje ako bot mora da negde klikne, unese nešto u polje ili odradi neku akciju koja mu daje dinamički generisan sadržaj. Uz pomoć podatka iz Webmaster Tools-a, statusa indeksa i načina na koji konzola renderuje stranicu, SEO mora da ustanovi probleme koje stvara Javascript. Na sreću, Gugl je postao mnogo pametniji tako da ume da prati javascript redirekcije, linkove i indeksira dinamički sadržaj.

Još jednom o blokiranju Javascripta u robots.txt fajlu

Slučaj 1: Odblokiran JS & CSS

HTML + JS + CSS=Desktop sajt (ako ga poseti regularan Gugl bot)
HTML + JS + CSS=Mobilni sajt (ako ga poseti Google mobile bot)

Dakle, sve se lepo renderuje,svaki element je na svom mestu i ništa se ne raspada bez obzira koji uređaj (search engine robot) otvara stranicu.

Slučaj 2: Blokiran JS & CSS

HTML + JS + CSS=Jako loš desktop sajt u oba slučaja

Gugl je slep, ne može da ispravno renderuje stranicu i označava vam sajt kao „mobile not-friendly“.

Regex ili regularni izraz

Regex predstavlja niz karaktera koji definišu određeni šablon, najčešće u pretrazi kroz veliku količinu podataka. Dakle, postavite regex pravilo, primenite operaciju i uštedite sebi puno vremena. Primena ima puno, počev od definisanja filtera u Google analitici, obrade velike količine ključnih reči u text editoru ili Excelu, pisanju koda za potrebe 301 redirekcija pri migraciji sajta preko .htaccess fajla.

Iako na prvi pogled izgleda komplikovano, regex se ukapira veoma brzo, tako da zaista preporučujem da se poigrate.

Na primer, sledeći kod u .htaccess fajlu radi trajnu 301 redirekciju sa non-www na www domen.

RewriteEngine On
RewriteCond %{HTTP_HOST}!^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Gornji kod bukvalno kaže: ako HTTP host ne počinje sa www. onda primeni pravilo koje radi 301 redirekciju na "www" verziju. Regex !^www\. hvata bilo koji URL koji ne počinje sa "www.".

Unesite naredni regex u "Keyword report" u analitici i dobićete spisak fraza koje imaju tri reči.

^[^\.\s\-]+([\.\s\-]+[^\.\s\-]+){2}$

Primenite sledeći Find/Replace u Notepad++ i od liste ključnih reči odvojenih zarezom, dobijate listu ključnih reči pri čemu je svaka fraza u novom redu.

Find: ,\s
Replace: \r\n

Internet je pun korisnih tekstova i regex se generalno lako uči. Moja preporuka je da pogledajte sledeće linkove.

Regex for Google Analytics
Regular Expressions Guide

Server side podešavanja, pre svega preko .htaccess fajla

Kada je tehnički SEO u pitanju, ovo je stavka koja nije nužna, ali pomaže ukoliko znate kako prepisati neka serverska podešavanja korišćenjem .htaccess fajla.

U 99% slučajeva radićete na redirekcijama i prepisivanju URL-ova. Na primer: dodavanje ili oduzimanje kose crte na kraju URL-a, migracija sajta na novi domen, 301 redirekcije određenih URL-ova i slično.

Kombinacija regexa i htaccess pravila daje moćne rezultate koji unapređuju SEO vašeg sajta, ali male greške u pisanju koda mogu da naprave prave probleme.

Nedavno sam klijentu pomogao da reši vrlo specifičan problem kada je developer napisao pravilo koje prepisuje velika u mala slova u URL-ovima. Dakle, ako imamo URL /Seo-Tehnicka-Znanja pravilo je prepisivalo u /seo-tehnicka-znanja.

Ovim je rešen problem duplog sadržaja na sajtu, jer je isti sadržaj bio dostupan preko dva linka. Međutim, problem je nastao kada je htaccess pravilo menjalo velika i mala slova "gclid" parametra Google AdWordsa.

URL je prepisan na sledeći način stari URL: /Seo-Tehnicka-Znanja?gclid=As1TRksn
novi URL: /seo-tehnicka-znanja?gclid=as1trksn

Parametar ?gclid=As1TRksn ne sme da se dira, jer AdWords sistem zavisi od tačnog niza karaktera (uključujući velika i mala slova). Narednih osam dana Gugl analitika nije imala precizne podatke PPC kampanja.

Prepravka .htaccess pravila tako da se prepisivanje zanemari ako je u pitanju gclid parameter rešila je problem. Problem AdWordsa i Analitike je nastao na račun par linija koda u .htaccess fajlu.

Dakle, oprezno sa server-side podešavanjima.

Excel

Alat No1 u digitalu. Kad su nam već dostupni toliki podaci, red je da znamo kako da ih obradimo. Većina internet marketing alata i servisa nude mogućnost eksportovanja podataka u CSV ili XLS fajlove (AdWords,Analytics, Facebook Ads manager, MOZ, Semrush, MajesticSEO....) nakon čega počinje prava zabava u Excelu.

excel analiza

Analiza tržišta: Mesečni trendovi pretraga

Moj je predlog da se prvo savlada formatiranje tabela, import podataka (XML i CSV), pivotiranje tabela, napredno korišćenje filtera i poznavanje što većeg broja funkcija.

Slika iznad daje vizuelan odgovor na pitanje: Kada u toku godine se pretražuju, a kada se ne pretražuju određene ključne reči? Lako se uočava zakonitost da su mart i april vrlo intezivni meseci kada valja pojačati AdWords kampanje, dok na primer jun ili oktobar nisu preterano jaki. Dovoljno je bilo eksportovati količine pretraga iz Google Keyword Plannera i malo se poigrati u Excelu.

Počnite od osnova poput brisanja duplih unosa, određivanja broja karaktera (korisno kad pišete tekstualne reklame za Google AdWords ili meta tagove za stranice sajta), spajanje sadržaja kolona u jedinstveni niz, trimovanje razmaka na kraju sadržaja ćelije.

Kasnije pređite na razumevanje pivot tabela, jer tek tada dobijate mogućnost da dublje shvatite odnose određenih metrika i dimenzija i da identifikjete mesta koja treba ispraviti ili još jače eksploatisati u toku marketing kampanja.

Ako želite da naučite mnogo korisnih Excel trikova za manje od sat vremena, onda obavezno pogledajte sledeći klip.

Besmisleno je nabrajati šta sve možete u Excelu tako da savetujem da pretražite YouTube kanale i druge online resurse gde možete saznati mnogo više.

Bonus tip: pogledajte SEO Tools for Excel, dodatak za Excel koji može da zameni dobar deo plaćenih on-site SEO alata.

Web scraping

Scraping predstavlja izvlačenje podataka sa web stranica u lokalne baze podataka ili tabele. Da se odmah na početku razumemo, ovde je reč o "white hat" izvlačenju podataka. Osnovni način je hvatanje javnih podatka iz HTML-a, RSS izvoda, a kada ovladate time logičan nastavak je korišćenje API-ja koje nude mnogobrojni web servisi.

Kako scraping koristi nama koji radimo u Internet marketingu?

Pre svega besplatno dolazimo do velike količine podataka: meta tagovi, ključne reči, teme za pisanje blog članaka, broj lajkova neke stranice, broj tviter pratioca, cene proizvoda vašeg konkurenta, email adrese...

Jednostavan primer: pronađemo sitemap.xml fajl našeg konkurenta, importujemo ga u Google Sheets i potom za svaki URL (koji je u koloni A) izvučemo meta title u koloni B. Ako sajt ima 50 strana, sve meta title tagove dobijamo za manje od jednog minuta, ako sajt ima 1000 strana onda možda oko 5 minuta. Zamislite da ručno kopirate 1000 meta tagova, koliko bi vremena trebalo za takav posao? Dakle, dovoljno je da u ćeliju B1 unesemo sledeću funkciju:

=ImportXML(A1, "//title/text()")

Kliknite ovde i pogledajte kako izgleda rezultat. Radi brže obrade broj URL-ova je ograničen na 15.

Metoda scrapinga ima dosta, gornji primer je primena ImportXML funkcije koju je razvio Gugl. Postoje plugini za WordPress koji lako izvlače RSS feed, postoji odlična Chrome extenzija za scrape iz Inspect elementa, a tu je i već pomenuti SEO Tools for Excel. Šta god da radite, trudite se da ostanete u okvirima "white hat" načela.

Da li moram sve ovo da znam?

Naravno da to nije potrebno. Ja bi prvi zaposlio juniora koji ne zna 50% gorenavedenih stvari, ali koji se uklapa u kompanijsku kulturu i ima motiva da postane bolji u tome što radi. Takođe, poznavanje regexa, HTML-a i obrade tabela u Excelu neće vas postaviti na prvu stranu Gugla, ali će vam pomoći da produktivnije primenite vašu SEO ekspertizu.

Konačno, ovo su sve znanja koja neće postati zastarela, čak i kada algoritam rangiranja bude potpuno autonoman i baziran na veštačkoj inteligenciji, mašinskom učenju i dubokim neuronkim mrežama, što je bliska budućnost kada je SEO u pitanju.