5. programe ce traversează automat Web-ul,
cu scopul de a extrage date
spiders, crawlers, Web bots
Dr. Sabin Buragawww.purl.org/net/busaco
Roboți
6. programe ce traversează automat Web-ul,
cu scopul de a extrage date
robot Web navigator Web
Dr. Sabin Buragawww.purl.org/net/busaco
Roboți
7. pornind de la un URI, realizează o conexiune HTTP
la un server Web, pentru a întreprinde anumite
acțiuni privitoare la reprezentarea unei resurse și,
recursiv, din toate documentele desemnate de
legăturile existente în cadrul reprezentării
Dr. Sabin Buragawww.purl.org/net/busaco
Roboți
8. pornind de la un URI, realizează o conexiune HTTP
la un server Web, pentru a întreprinde anumite
acțiuni privitoare la reprezentarea unei resurse și,
recursiv, din toate documentele desemnate de
legăturile existente în cadrul reprezentării
acțiuni: extragere, copiere, sumarizare,
agregare de conținut, monitorizare etc.
Dr. Sabin Buragawww.purl.org/net/busaco
Roboți
9. Operarea în foc rapid (rapid-fire)
trafic de rețea
supraîncărcarea serverelor Webdenial of service
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: pericole
10. Actualizarea cu întârziere a bazelor de date
ale motoarelor de căutare
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: pericole
11. Actualizarea cu întârziere a bazelor de date
ale motoarelor de căutare
necesitatea specificării timpului de revizitare a sitului
de către robotul Web
<meta name="Revisit-After" content="30 Days" />
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: pericole
12. Exploatarea (ne)controlată de către utilizatori
atacuri “brute”
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: pericole
13. Intrarea în “găurile negre”
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: pericole
14. Accesarea unor date nerelevante
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: pericole
15. Fiecare robot Web trebuie să se identifice
(nume, domeniu, creator,...)
uzual, va fi folosit câmpul User-Agent
din antetul unei cereri HTTP
19539 de roboți Web (2013)
conform www.botsvsbrowsers.com
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: identificare
16. Fiecare robot Web trebuie să se identifice
(nume, domeniu, creator,...)
roboți personali
(e.g., motoare experimentale, software de oglindire)
BackRub (pre-Google), wget etc.
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: identificare
17. Fiecare robot Web trebuie să se identifice
(nume, domeniu, creator,...)
roboți ai motoarelor de căutare majore
baiduspider, bingbot, googlebot, slurp (Yahoo!)
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: identificare
18. Fiecare robot Web trebuie să se identifice
(nume, domeniu, creator,...)
roboți specializați
(e.g., validarea codului HTML, scurtarea lungimii
URL-urilor, scanare de vulnerabilități, statistici,…)
exemplificări: citeseerxbot,
Page2RSS, extensii Nagios, W3C Validator
Dr. Sabin Buragawww.purl.org/net/busaco
roboți: identificare
22. fișierul robots.txt
detalii la www.robotstxt.org
Dr. Sabin Buragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
23. fișierul robots.txt
# /robots.txt pentru http://www.info.uaic.ro
User-agent: *
# toți roboții
Crawl-delay: 20
# 20 sec. între cereri
Disallow: /tmp/
# date temporare
Disallow: /xwiki/bin/xmlrpc/ # director privat
Dr. Sabin Buragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
24. fișierul robots.txt
de studiat câteva exemple reale:
http://www.amazon.com/robots.txt
http://facebook.com/robots.txt
http://www.google.com/robots.txt
Dr. Sabin Buragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
25. evitarea indexării conținutului:
<meta name="robots" content="noindex, nofollow" />
Dr. Sabin Buragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
28. pe bază de indecși (crawling & indexing)
Lycos – 1994
AltaVista – 1995
Dr. Sabin Buragawww.purl.org/net/busaco
Tipuri de căutări – maniera tradițională:
29. pe baza ierarhiilor de termeni
(servicii de tip catalog – topic directory, taxonomii)
Yahoo! – Yet Another Hierarchical Officious Oracle
1994
Dr. Sabin Buragawww.purl.org/net/busaco
Tipuri de căutări – maniera tradițională:
31. pe baza legăturilor hipertext
(hyperlink analysis)
Google – 1996
Dr. Sabin Buragawww.purl.org/net/busaco
Tipuri de căutări – maniera tradițională:
32. pe baza datelor structurate
(determinare și extragere de meta-date & concepte)
Dr. Sabin Buragawww.purl.org/net/busaco
Tipuri de căutări – maniera modernă:
Microsoft Satori Entity Engine (bazat pe Trinity)
http://research.microsoft.com/en-us/projects/trinity/
Google Knowledge Graph (utilizează Freebase, Wikipedia)
www.google.com/insidesearch/features/search/knowledge.html
34. automat – via roboți Web
manual – recurgând la experți umani
hibrid
Dr. Sabin Buragawww.purl.org/net/busaco
Localizarea & indexarea resurselor se pot realiza:
36. scop
căutarea oricărei resurse existente
Dr. Sabin Buragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
37. viteză
rezultatele să fie disponibile imediat
direcție de interes major: real-time Web search
Dr. Sabin Buragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
39. recall
găsirea tuturor resurselor relevante
pentru o cerere dată
Dr. Sabin Buragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
40. precizie
rezultatul conține doar documente relevante
Dr. Sabin Buragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
41. ranking
cele mai relevante documente
sunt plasate primele
Dr. Sabin Buragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
43. extrage informații
Index (catalog)
stochează – în mod persistent – (meta)date
despre resursele existente pe Web
Mecanism de evaluare (ranking)
pe baza cererii utilizatorului, oferă răspunsuri
Dr. Sabin Buragawww.purl.org/net/busaco
Robot Web
46. Activitatea generală a unui robot (crawler) simplu:
F = mulțimea de URL-uri de start (frontiera)
cât-timp F este nevidă
extrage un URL u din F
preia pagina (resursa Web) p cu adresa u
dacă p este relevantă
stochează p în index
pentru-fiecare legătură v din p
dacă v nu este în index și v nu aparține lui F
și v ar putea fi vizitată
adaugă v la F
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: căutarea
47. Bazată pe învățare
data mining
(de exemplu, reinforcement learning)
detalii la master
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: căutarea
48. Conținutul ce trebuie indexat nu e doar textual
hiper-informația:
INFORMATION = HYPERINFO + TEXTINFO
dependența de legături
ordonarea legăturilor
(alegerea unor criterii vizând importanța)
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: căutarea
49. Robotul/motorul de căutare decide momentul
revizitării resursei care urmează a fi reindexată
sau doar verificată
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: căutarea
50. Aspect de interes:
rezoluția adreselor Web
(nume de domeniiadrese IP)
DNS caching, pre-fetching & resolution
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: căutarea
57. Dr. Sabin Buragawww.purl.org/net/busaco
motoare: indexarea
Necesitatea folosirii sistemelor de baze de date
depozit distribuit de stocare (eventual, în cloud)
optimizarea regăsirii
modele non-relaționale de stocare – „mișcarea” NoSQL
printre primele abordări: BigTable (Chang et al., 2006)
http://labs.google.com/papers/bigtable.html
58. Dr. Sabin Buragawww.purl.org/net/busaco
motoare: indexarea
Necesitatea folosirii sistemelor de baze de date
depozit distribuit de stocare (eventual, în cloud)
arhivarea datelor indexate
e.g., recurgerea la algoritmul de compresie bzip2
(cazul Google)
60. Utilizarea nu doar a datelor propriu-zise
(conținutului textual), ci și a meta-datelor
e.g., limbă, cuvinte-cheie, autor, format,
data ultimei actualizări,…
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: indexarea
61. Indexare bazată pe cuvinte-cheie
relevanță, plasament, meta-date,...
versus
indexare semantică – bazată pe concepte
Atom/RSS, social tagging,
microformate, microdate HTML5,
Web semantic (RDF, RDFa),...
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: indexarea
62. O importanță mare o au:
maniera de structurare a informației și
“relația” unei pagini cu altele înrudite
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: indexarea
63. Cererile sunt formulate via o interfață Web
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
64. Cererile sunt formulate via o interfață Web
unele motoare de căutare acceptă
folosirea unor operatori specifici
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
65. Cererile sunt formulate via o interfață Web
exemplificare: o parte dintre operatorii Google
"expresie"
numar1 .. numar2
intitle: termen(i)
link: URL
define: termen
~termen
related: URL
intext: termen(i)
site: domeniu
filetype: extensie
–termen
cache: URL
inurl: termen(i)
info: domeniu
unit1 in unit2
detalii la www.googleguide.com/advanced_operators_reference.html
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
66. digital camera $700 .. 1400
~book
Apache logo filetype: png
intitle: design –intitle: web
"burse de merit" site: uaic.ro inurl: edit
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
67. Interogările din prisma utilizatorului:
grad mare de subiectivitate
e.g., “miserable failure”
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
68. Interogările din prisma utilizatorului:
depind de contextul social/cultural
exemple:
“pants” în UK versus US
“madonna and child”
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
69. Interogările din prisma utilizatorului:
dependente de scop
informațional (listă, locație, sfat)
navigațional
vizând accesarea resurselor
(download, amuzament, interactivitate,…)
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
70. Remarci:
utilizatorii nu înțeleg “booleana”
exemplu:
“hotels located in Bucharest and Iasi”
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
71. Remarci:
interogările uzual sunt scurte (media: 2,6 cuvinte),
dar focalizate – e.g., 25% pe business (conform Yahoo!)
vezi și http://labs.yahoo.com/publication/?area=web-mining-search
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
72. Remarci:
apar confuzii:
URI vs. text,
lipsa spațiilor,
vocabular
etc.
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
73. Remarci:
implicit, termenii de căutare trebuie să se regăsească
identic în cadrul conținutului unui document Web
e.g., căutând “children”,
nu vom obține neapărat și paginile care includ “kids”
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
74. Interogări formulate în limbaj natural:
eliminarea ambiguităților (dezambiguizarea)
filtrarea cuvintelor nerelevante
expandarea interogării: sinonime, forme derivate,…
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
76. Conținutul fiecărui document extras
este analizat și divizat în token-uri
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
77. Unele construcții se ignoră/constrâng
e.g., “the”, “is”/“are”/“were” → “be”, “running” → “run”
procesare de bază a conținutului textual
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
78. Fiecărui token i se reține și poziția apariției
în document
poziția poate fi folosită
la determinarea relevanței termenului
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
79. Criterii vizând calculul relevanței:
ranking bazat pe clasificare umană
resurse clasificate de oameni
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
80. Criterii vizând calculul relevanței:
ranking bazat pe informații privitoare
la utilizarea unei resurse
timpul de vizită, periodicitatea vizitei,
frecvența actualizării resursei, importanța relativă etc.
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
81. Criterii vizând calculul relevanței:
ranking bazat pe conectivitate
analiza relațiilor (legăturilor hipertext) cu alte pagini
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
eventual, în funcție de reputație
e.g., importanța domeniului Internet (vechime, localizare)
82. Calculul relevanței:
tehnici privind IR (Information Retrieval)
cautări bazate pe similaritate – similarity search
cautări bazate pe învățare automată (machine learning)
clasificarea conținutului hipermedia
social network analysis – bibliometrie, prestigiu,…
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
83. Page Rank (Google)
evaluarea relevanței pe baza contextului de apariție
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
84. Page Rank (Google)
exploatarea relațiilor dintre diferite pagini Web
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
85. Page Rank (Google)
recurgerea la tehnici adaptive, euristice
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
86. Page Rank (Google)
determinarea corelației dintre relevanța calculată
automat de sistem și cea precizată (in)direct
de către utilizator
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
87. Page Rank (Google)
(Larry Page & Sergey Brin, 1996 – doctorat la Stanford)
se baza inițial pe structura hipertext
o legătură de la pagina A la B reprezintă
un vot dat paginii B de către A
cu cât un sit este mai important,
cu atât page rank-ul asociat lui e mai mare
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
88. Alternative la Page Rank:
TrustRank (Friesen, 2007)
folosește domenii Web de încredere selectate de oameni
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
89. Alternative la Page Rank:
TrustRank (Friesen, 2007)
cu cât un sit e mai aproape (în termeni de legături Web)
de siturile evaluate și considerate de încredere
de către oameni, cu atât va avea o importanță mai mare
vizează un sit (domeniu), nu o pagină Web
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
90. Alternative la Page Rank:
utilizarea tehnologiilor Web-ului semantic
se iau în considerație concepte (cunoștințe), nu cuvinte
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
92. înainte de 2000
strategie
conținut – indexarea textului
(titlu, anteturi, URL, descriere via <meta>)
conținut
2000—2010
autoritate (via legături)
conținut
autoritate
2010—prezent
personalizare (social media +
informații personale)
conținut
autoritate
2012—prezent personalizare
concepte
(date-structurate + Web of data)
adaptare după (K. Bodnar & J. Hopkins, 2011)
Dr. Sabin Buragawww.purl.org/net/busaco
perioadă de timp
93. generale
Bing, DuckDuckGo, Google, Yahoo!, Volunia,…
răspunsuri
(answer-based)
news search
umane: Stack Overflow, Yahoo! Answers, Quora
automate: AskMeNow, Evi, Wolfram Alpha
BingNews, Daylife, Topix, Yahoo! News,…
hărți (maps)
cod-sursă
căutare pe baza P2P
Nokia HERE, OpenStreetMap, WikiMapia etc.
Google Code Search, Koders, Krugle
FAROO, Seeks, YaCy
desktop search
DocFetcher, Recoll, Tropes Zoom
regionale
pentru dezvoltatori: Apache Lucene, Apache Nutch,
mnoGoSearch, Namazu, Xapian,…
Dr. Sabin Buragawww.purl.org/net/busaco
meta-căutare
enterprise search
Baidu (China), Daum (Coreea), Goo (Japonia),
Guruji (India), Rambler (Rusia) etc.
Dogpile, Excite, Mamma, Yippy
Apache Solr, ElasticSearch, OpenSearchServer,…
95. Motoarele tind să “recompenseze” siturile:
de mari dimensiuni
cu viață lungă
specializate, de “nișă”
aparținând unor autorități de încredere
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: interogarea
96. SERP (Search Engine Result Page)
specifică maniera de redare a rezultatelor
oferite de motorul de căutare
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: afișarea rezultatelor
97. SERP (Search Engine Result Page)
se includ recomandări pe baza:
preferințelor utilizatorului
istoricului căutărilor
URL-urilor partajate via rețele sociale
meta-datelor (rich snippets)
adnotărilor realizate de utilizatori
locației geografice (local search)
Dr. Sabin Buragawww.purl.org/net/busaco
motoare: afișarea rezultatelor
98. K. Bodnar & J. Hopkins, 2011
Dr. Sabin Buragawww.purl.org/net/busaco
“At any one time you rank #1 or #8 or #40
based on who is searching, where they search,
and what is happening.”
100. oferirea de sugestii utilizatorului
e.g., spelling suggestions,
sinonime (car automobile, truck,…)
Dr. Sabin Buragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
101. sugestii de soluții
de exemplu, răspunsuri la cele mai frecvente întrebări
Dr. Sabin Buragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
102. îmbunătățirea interacțiunii – utilizabilitatea
integrarea în designul general al sitului
tactici: oferirea unui următor pas de realizat
(mai ales când nu există rezultate),
sugestii privind căutarea, exemple, rafinarea cererii etc.
Dr. Sabin Buragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
104. în pagina de redare a rezultatelor, va fi afișată și
interogarea inițială, cu posibilitatea modificării ei
oferirea a cel puțin N rezultate/pagină +
indicarea numărului total de pagini de rezultate
sau
încărcarea progresivă a următoarelor rezultate
Dr. Sabin Buragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
105. calitatea rezultatelor oferite e dependentă
și de modul de structurare a datelor
fiecare rezultat să includă informații utile
folosirea unui vocabular înțeles de către vizitator,
utilizarea unor tehnici de vizualizare intuitivă,
facilitarea filtrării & sortării datelor etc.
Dr. Sabin Buragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
107. utilizatorul să aibă libertatea de a efectua
oricând o nouă interogare
evitarea “fundăturilor” – oferirea de ajutor, sugestii,…
Dr. Sabin Buragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
109. suită de strategii de redactare a codului HTML
în vederea obținerii unei relevanțe ridicate
a conținutului, astfel încât pagina/situl să fie
regăsite în urma unei căutări specifice efectuate
cu un instrument de căutare
Dr. Sabin Buragawww.purl.org/net/busaco
SEO – Search Engine Optimization
111. documentul trebuie să fie bine-formatat
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
112. includerea de meta-date:
în antet – elementul <meta />
conținut textual alternativ pentru imagini
(<img alt="..." />), multimedia, legături (<a title="...">),
tabele (<table summary="...">) etc.
atașarea de meta-date externe via elementul <link />
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
113. a nu se folosi:
cadre (frame-uri)
sau
elemente învechite sau proprietare
(e.g., <blink> ori <marquee>)
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
114. conținutul primează (“content is king”)
alegerea judicioasă a cuvintelor-cheie în <meta>
criterii: relevanță, densitate, internaționalizare
o importanță majoră o are titlul paginii
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
115. situl trebuie actualizat periodic, frecvent
un criteriu important: timpul de încărcare
despre performanța
aplicațiilor Web
într-un curs viitor
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
116. codul trebuie structurat conform semnificației logice
POSH (Plain Old Semantic HTML)
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea conținutului
117. conținutul relavant trebuie plasat ierarhic
via <h1>, <h2>,...
pentru HTML5, de utilizat noile elemente
vizând structura: <article>, <header>, <footer>, <nav> etc.
layout bazat pe CSS și nu pe marcaje tabelare
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea conținutului
118. conținuturile multimedia binare
trebuie să aibă alternative textuale
anumite date pot fi “ascunse” de roboți via robots.txt
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea conținutului
119. numele fișierelor (imagini, stiluri,…) contează
human friendly URLs
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea conținutului
120. obligatoriu, de inclus legături spre alte pagini
(ale sitului ori ale altor situri)
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
121. dorim legături spre/de la situri importante
având conținut similar cu situl nostru
tehnici clasice (“demodate”):
interschimb de link-uri – banner-e, blogroll-uri,
marketing bazat pe context
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
122. dorim legături spre/de la situri importante
având conținut similar cu situl nostru
recurgerea la aplicații Web sociale
SMO (Social Media Optimization)
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
123. de verificat și menținut structura hipertext!
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
124. a se evita spam-ul
e.g., legături încrucișate între pagini similare
ale aceluiași sit Web ori ale unei colecții de situri
motoarele detectează & penalizează spam-ul!
http://searchenginewatch.com/topic/web_spam_detection
Dr. Sabin Buragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
125. Utilizarea elementului <meta>
descrierea paginii – description
cuvintele-cheie – keywords
controlul roboților Web – robots
alte informații de interes:
tipul conținutului, relația cu alte pagini,…
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
126. Paginile de “acoperire” (page cloaking)
scop: oferirea de conținut diferit,
în funcție de un anumit criteriu
(aici, conținut special pentru roboții de căutare)
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
128. “Estetica” URL-urilor
distincția dintre conținutul static și cel dinamic
(componenta query_string de la finalul unui URL)
detectarea simbolurilor “?” și “&”
doc.php?var=sda4312&var2=643f545342
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
129. “Estetica” URL-urilor
indexarea conținutului dinamic poate fi limitată
ori poate fi realizată mult mai lent
numele variabilelor transmise via GET
trebuie să aibă o anumită semnificație
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
131. “Estetica” URL-urilor
evitarea numerelor de sesiune (SID) din URL
la nivel de server Web, se poate activa rescrierea
URL-urilor – e.g., utilizarea mod_rewrite la Apache
la nivel de server de aplicații, inhibarea transferului
SID-ului prin URL (PHP: php_flag sesssion.use_trans_sid off)
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
132. “Estetica” URL-urilor
“mascarea” URL-urilor oferind conținut dinamic
exemplificare:
www.penguin.info/species/tux.html – pare static
www.penguin.info/species.php?type=tux – în realitate
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
133. Rezultatul returnat clientului
de evitat paginile de eroare – e.g., 404
orice pagină de eroare poate fi convertită
într-o resursă folositoare omului/robotului
exemple: harta sitului, legături relevante,…
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
134. Rezultatul returnat clientului
se folosesc facilitățile oferite de serverul Web
pentru specificarea de pagini proprii de eroare
e.g., directiva ErrorDocument la Apache
Dr. Sabin Buragawww.purl.org/net/busaco
seo: strategii
135. Navigarea bazată pe interacțiunea cu utilizatorul
legături spre alte resurse
realizate exclusiv via Javascript, Flash sau Silverlight
greșit!
Dr. Sabin Buragawww.purl.org/net/busaco
de evitat
<p>informații despre burse <a href="javascript:sari(1);">aici</a></p>
136. Oferirea de conținut via documente
adoptând formate de date nestandardizate
Dr. Sabin Buragawww.purl.org/net/busaco
de evitat
137. Titluri identice pentru toate paginile unui sit
Dr. Sabin Buragawww.purl.org/net/busaco
de evitat
138. Pagini de eroare care sunt oferite de server
via codul de stare HTTP 200 Ok
Dr. Sabin Buragawww.purl.org/net/busaco
de evitat
140. Ignorarea utilizatorilor cu nevoi speciale
web accessibility
http://webaim.org/
Dr. Sabin Buragawww.purl.org/net/busaco
de evitat
141. Abuzul de transferuri asincrone prin Ajax
Dr. Sabin Buragawww.purl.org/net/busaco
de evitat
142. Crearea documentului sitemap.xml
pentru a-l expedia la Google Sitemaps
complementar fișierului robots.txt
furnizează structura hipertext a unui sit Web
formate acceptate: text obișnuit, XML, RSS, Atom
detalii la http://sitemaps.org/
Dr. Sabin Buragawww.purl.org/net/busaco
seo: instrumente
143. Strategii generale:
Google Webmaster Central
http://www.google.com/webmasters/
Studierea accesului (specificării/alegerii unor metrici):
Google Analytics, NetTracker, Urchin, WebTrends,…
Rafinarea cuvintelor-cheie:
KeywordDiscovery, WordTracker, Google Suggest
Optimizări: Google Optimizer, YSlow Smush.it
Dr. Sabin Buragawww.purl.org/net/busaco
seo: instrumente – exemple
144. Imposibilitatea accesării unor date transmise
“în fundal” pe parcursul interacțiunii Web
motoarele de căutare nu pot indexa conținutul primit
(asincron) de la server – e.g., prin Ajax
traficul “subteran” nu poate fi accesat în mod normal
Dr. Sabin Buragawww.purl.org/net/busaco
seo vs. ajax
roboții Web clasici nu pot interpreta programe JavaScript
145. Imposibilitatea accesării unor date transmise
“în fundal” pe parcursul interacțiunii Web
soluție posibilă:
propunerea “Making Ajax crawlable” (Google, 2009)
http://tinyurl.com/y9vhdva
Dr. Sabin Buragawww.purl.org/net/busaco
seo vs. ajax
147. acea parte a spațiului World Wide Web
care nu este “văzută” de motoarele de căutare sau
de alte tipuri de aplicații de regăsire a resurselor
disponibile pe Web
Dr. Sabin Buragawww.purl.org/net/busaco
Invisible Web (Deep Web)
150. microformate
scheme de microdate HTML5
RDFa
la master
Dr. Sabin Buragawww.purl.org/net/busaco
Idee:
specificarea unor meta-date (date privind datele)
direct în cadrul documentelor HTML
151. (Tantek Çelik & Kevin Marks, 2004)
www.microformats.org
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate
152. utilizarea de marcaje (X)HTML pentru a desemna
semantica și/sau structura conținutului
“curentul” POSH (Plain Old Semantic HTML)
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate
153. reutilizarea unor vocabulare de termeni,
disponibile liber și standardizate
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate
154. reutilizarea unor vocabulare de termeni,
disponibile liber și standardizate
realizarea de adnotări semantice direct în HTML
și alte limbaje similare
prelucrare mai facilă a reprezentărilor resurselor
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate
155. “clase” CSS pentru prezentare
și asocierea de descrieri
ale meta-datelor
structurarea
paginilor Web:
precizarea
înțelesului
(semanticii)
conținutului
Dr. Sabin Buragawww.purl.org/net/busaco
marcaje HTML (<div>, <span>)
pentru specificarea datelor &
structurii lor
156. elementare (desemnează o singură caracteristică)
+
compuse (specifică mai multe proprietăți
care modelează un aspect de interes
– e.g., un concept: persoană, eveniment,…)
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate
157. asociază unei legături hipertext un termen (tag)
– cuvânt-cheie ori subiect – ales liber de autor
(tagging content)
Dr. Sabin Buragawww.purl.org/net/busaco
rel-tag
158. <a href="http://technorati.com/tag/fish" rel="tag">fish</a>
<a href="http://en.wikipedia.com/wiki/UNIX" rel="tag"
class="skill">UNIX</a>
<a href="http://flickr.com/photos/tags/Penguin" rel="tag">
<img src="tux.jpg" alt="Foto cu un pinguin" /></a>
Dr. Sabin Buragawww.purl.org/net/busaco
rel-tag
161. desemnează evenimente & orare
vezi formatul iCalendar – RFC 2445
Dr. Sabin Buragawww.purl.org/net/busaco
hCalendar
162. <div class="vevent">
<a class="url" href="http://swapps.wordpress.com/">
<abbr class="dtstart" title="2013-12-07">7 decembrie</abbr>—
<abbr class="dtend" title="2013-12-08">8 decembrie 2013</abbr>
<span class="summary">Winter Web Workshop</span> la
<span class="location">Iași</span></a>
<div class="description">Se anunță atelierul de lucru
dedicat tehnologiilor Web</div>
</div>
Dr. Sabin Buragawww.purl.org/net/busaco
hCalendar
163. informații de contact despre persoane, organizații etc.
în conformitate cu formatul vCard – RFC 2426
Dr. Sabin Buragawww.purl.org/net/busaco
hCard
169. simplifică maniera de specificare (2012)
http://microformats.org/wiki/microformats2
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate 2
170. vocabularele sunt definite pe baza unor prefixe
hpudte-
includerea unui microformat
specificarea unei proprietăți simple
desemnarea unui URL
definirea de valori privind data & timpul
specificarea de proprietăți compuse
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate 2
171. exemplu concret de utilizare a microformatului hCard
(în ambele versiuni)
preluat de la https://webfwd.org/about/experts/
Dr. Sabin Buragawww.purl.org/net/busaco
<div class="h-card vcard">
<img src="/content/content_about-experts/brendaneich.jpg"
alt="Brendan Eich">
<h5><a href="http://brendaneich.com/"
class="p-name fn u-url url">Brendan Eich</a></h5>
<p class="p-note note">
Created JavaScript, co-founded the mozilla.org project…</p>
<span class="p-category category">Technology</span>
</div>
172. vocabulare predefinite (în stadiu de ciornă):
h-adr
h-geo
h-resume
h-card
h-item
h-review
h-entry
h-event
h-product h-recipe
h-review-aggregate
Dr. Sabin Buragawww.purl.org/net/busaco
Microformate 2
173. Dr. Sabin Buragawww.purl.org/net/busaco
<!-- specificarea unui eveniment via microformate versiunea 2 -->
<section class="h-event">
<a class="p-name u-url" href="http://potop.info/2013/">
Potop – ediția 2013</a>
de la <time class="dt-start">2013-10-28</time>
până la <time class="dt-end">2013-11-01</time>, fiind organizat la
<span class="p-location h-card">
<a class="p-name p-org u-url" href="http://www.info.uaic.ro/">
Facultatea de Informatică</a>,
<span class="p-street-address">Strada Berthelot, 16</span>,
<span class="p-locality">Iași</span>,
<abbr class="p-region" title="Iași">IS</abbr>
</span>
</section>
176. alternativă la microformate
specificație W3C în stadiu de ciornă (octombrie 2012)
www.w3.org/TR/microdata/
Dr. Sabin Buragawww.purl.org/net/busaco
Microdata HTML 5
177. posibilitatea de a specifica perechi de proprietăți
(nume, valoare) “scufundate” în HTML
Dr. Sabin Buragawww.purl.org/net/busaco
Microdata HTML 5
178. grupurile de perechi de proprietăți nume—valoare
sunt denumite items
Dr. Sabin Buragawww.purl.org/net/busaco
Microdata HTML 5
179. grupurile de perechi de proprietăți nume—valoare
sunt denumite items
creare via atributul itemscope
specificarea unei proprietăți prin atributul itemprop
referire cu ajutorul atributului itemref
Dr. Sabin Buragawww.purl.org/net/busaco
Microdata HTML 5
180. grupurile de perechi de proprietăți nume—valoare
sunt denumite items
asocierea unui tip de date se face cu atributul itemtype
pentru identificarea unui item se folosește itemid
Dr. Sabin Buragawww.purl.org/net/busaco
Microdata HTML 5
181. ca tipuri de date se pot folosi microformatele
Dr. Sabin Buragawww.purl.org/net/busaco
Microdata HTML 5
189. Bing – http://tinyurl.com/b9mx2f2
Google rich snippets – http://tinyurl.com/3c6naq7
Yahoo! BOSS (Build your Own Search Service)
http://developer.yahoo.com/search/boss/
Dr. Sabin Buragawww.purl.org/net/busaco
Microformatele și microdatele HTML5
sunt indexate de motoarele de căutare
193. Cum ar putea fi detectate și penalizate
siturile Web care „trișează”
în ceea ce privește tehnicile SEO?
Dr. Sabin Buragawww.purl.org/net/busaco
discuție (pentru acasă)