Dr.SabinBuragawww.purl.org/net/busaco
Dezvoltarea aplicațiilor Web
la nivel de client

(re)găsirea resurselor Web
de la motoare de căutare și SEO la date structurate
Dr.SabinBuragawww.purl.org/net/busaco
“A well-defined problem is half solved.”
Michael Osborne
Dr.SabinBuragawww.purl.org/net/busaco
Cum prezentăm conținutul
altor clienți – diferiți de cei umani?
Dr.SabinBuragawww.purl.org/net/busaco
Am putea recurge la extragerea automată
a datelor expuse pe Web?
Dr.SabinBuragawww.purl.org/net/busaco
Roboți
programe ce traversează automat Web-ul,
cu scopul de a extrage date
spiders, crawlers, Web bots
Dr.SabinBuragawww.purl.org/net/busaco
Roboți
programe ce traversează automat Web-ul,
cu scopul de a extrage date
robot Web  navigator Web
Dr.SabinBuragawww.purl.org/net/busaco
Roboți
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.SabinBuragawww.purl.org/net/busaco
Roboți
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.SabinBuragawww.purl.org/net/busaco
roboți: pericole
Operarea în foc rapid (rapid-fire)
trafic de rețea
supraîncărcarea serverelor Webdenial of service
Dr.SabinBuragawww.purl.org/net/busaco
roboți: pericole
Actualizarea cu întârziere a bazelor de date
ale motoarelor de căutare
Dr.SabinBuragawww.purl.org/net/busaco
roboți: pericole
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.SabinBuragawww.purl.org/net/busaco
roboți: pericole
Exploatarea (ne)controlată de către utilizatori
atacuri „brute”
Dr.SabinBuragawww.purl.org/net/busaco
roboți: pericole
Intrarea în „găurile negre”
Dr.SabinBuragawww.purl.org/net/busaco
roboți: pericole
Accesarea unor date nerelevante
Dr.SabinBuragawww.purl.org/net/busaco
roboți: identificare
Fiecare robot Web trebuie să se identifice
(nume, domeniu, creator,...)
uzual, va fi folosit câmpul User-Agent
din antetul unei cereri HTTP
Dr.SabinBuragawww.purl.org/net/busaco
19539 de roboți Web – statistica din 2013
Alexa (7004), Bing/MSN (100), Facebook (60),
Googlebot (6085), Twitter (84) + neidentificați (374730)
conform www.botsvsbrowsers.com
search engines
51%
scrapers
8%
hacking tools
7%
spammers
1%
others
33%
Dr.SabinBuragawww.purl.org/net/busaco
roboți: identificare
Fiecare robot Web trebuie să se identifice
(nume, domeniu, creator,...)
roboți personali
(e.g., motoare experimentale, software de oglindire)
BackRub (pre-Google)
wget – http://www.gnu.org/software/wget/
etc.
Dr.SabinBuragawww.purl.org/net/busaco
roboți: identificare
Fiecare robot Web trebuie să se identifice
(nume, domeniu, creator,...)
roboți ai motoarelor de căutare majore
Baiduspider – www.baidu.com/search/spider.html
bingbot – www.bing.com/bingbot.htm
Googlebot – www.google.com/bot.html
Slurp – http://help.yahoo.com/help/us/ysearch/slurp
YandexBot – yandex.com/bots
Dr.SabinBuragawww.purl.org/net/busaco
roboți: identificare
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.SabinBuragawww.purl.org/net/busaco
66.249.65.173 - - [09/Nov/2015:11:26:31 +0200] "GET /~introp/ HTTP/1.1" 304 - "-"
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
93.158.178.188 - - [09/Nov/2015:11:25:08 +0200] "GET /~adria/...pdf HTTP/1.1" 200 198738 "-
" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
66.249.65.70 - - [09/Nov/2015:11:22:06 +0200] "GET /~busaco/teach/courses/cliw/
HTTP/1.1" 200 2120 "-" "Mozilla/5.0 (iPhone; …Safari/600.1.4 (compatible;
Googlebot/2.1; +http://www.google.com/bot.html)"
180.76.5.101 - - [09/Nov/2015:11:22:02 +0200] "GET /~busaco/ HTTP/1.1" 200 1907 "-"
"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
98.137.206.250 - - [09/Nov/2015:11:21:07 +0200] "GET /~busaco/ HTTP/1.1" 200 1907 "-"
"Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"
157.55.39.73 - - [09/Nov/2015:11:20:43 +0200] "GET /~webdata/…/OCT.pdf HTTP/1.1" 403
220 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
208.115.111.71 - - [09/Nov/2015:11:20:42 +0200] "GET /%7Eorar/ HTTP/1.1" 200 12705 "-"
"Mozilla/5.0 (DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)"
63.249.66.212 - - [09/Nov/2015:11:14:55 +0200] "GET /~croitoru/ag/ HTTP/1.1" 200 2575 "-"
"Mozilla/4.0 (compatible; MSIE 6.0; http://www.changedetection.com/bot.html)"
66.249.65.70 - - [09/Nov/2015:11:12:47 +0200] "GET /~busaco/paint/leaf/leaf-9.jpg HTTP/1.1"
304 - "-" "Googlebot-Image/1.0"
157.55.39.177 - - [09/Nov/2015:11:11:53 +0200] "GET /~lrc/ HTTP/1.1" 200 1914 "-" "msnbot-
media/1.1 (+http://search.msn.com/msnbot.htm)"
136.243.9.23 - - [09/Nov/2015:09:40:35 +0200] "GET /~busaco/ HTTP/1.0" 200 1907 "-"
"Mozilla/5.0 (… James BOT - WebCrawler http://cognitiveseo.com/bot.html"
cereri HTTP efectuate de diverși roboți Web
(menționate în fișierul de jurnalizare Apache)
Dr.SabinBuragawww.purl.org/net/busaco
Cum putem „instrui” roboții Web
să nu viziteze anumite zone ale sitului?
Dr.SabinBuragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
Dr.SabinBuragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
fișierul robots.txt
http://www.robotstxt.org/robotstxt.html
Dr.SabinBuragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
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.SabinBuragawww.purl.org/net/busaco
de studiat câteva exemple reale de fișiere robots.txt:
http://www.amazon.com/robots.txt
http://facebook.com/robots.txt
http://www.emag.ro/robots.txt
http://www.google.com/robots.txt
User-agent: *
Disallow: /user/*
Disallow: /addtocart*
Disallow: /proces_comanda
Disallow: /cart$
Disallow: /checkout
Disallow: /imagini/*
Disallow: /images/*
Disallow: /compare/*
Disallow: /mesaje
Disallow: /cat-*/pid-*/ord-*/p-*
Disallow: /adauga-review
Disallow: /adauga-intrebare
Disallow: /header-cart
Disallow: /header-wl
Disallow: /product_get_recommandations/*
Disallow: /widgets/track.json
Disallow: /get_back_to_search_url
Disallow: /search-tools/*
Disallow: /ajax_live_products
Disallow: /box_user_history
Disallow: /gr_box_bottom_landing/*
Disallow: /site_ajax_ads
User-agent: 008
Disallow: /
Dr.SabinBuragawww.purl.org/net/busaco
Orice robot trebuie să respecte
standardul de excludere
evitarea indexării conținutului:
<meta name="robots" content="noindex, nofollow" />
Dr.SabinBuragawww.purl.org/net/busaco
Ce activități realizează un motor de căutare?
Dr.SabinBuragawww.purl.org/net/busaco
Scop:
localizarea resurselor existente pe Web
Dr.SabinBuragawww.purl.org/net/busaco
Tipuri de căutări – maniera tradițională:
pe bază de indecși (crawling & indexing)
Lycos – 1994
AltaVista – 1995
Dr.SabinBuragawww.purl.org/net/busaco
Tipuri de căutări – maniera tradițională:
pe baza ierarhiilor de termeni
(servicii de tip catalog – topic directory, taxonomii)
Yahoo! – Yet Another Hierarchical Officious Oracle
1994
Dr.SabinBuragawww.purl.org/net/busaco
Tipuri de căutări – maniera tradițională:
hibride
indecși + taxonomiiportal Web
Excite – 1994
Dr.SabinBuragawww.purl.org/net/busaco
Tipuri de căutări – maniera tradițională:
pe baza legăturilor hipertext
(hyperlink analysis)
Google – 1996
Dr.SabinBuragawww.purl.org/net/busaco
Tipuri de căutări – maniera modernă:
pe baza datelor structurate
(determinare și extragere de meta-date și concepte)
Microsoft Satori Entity Engine
Google Knowledge Graph/Vault
Dr.SabinBuragawww.purl.org/net/busaco
Un motor de căutare trebuie să satisfacă
nevoia de informații a utilizatorului
(user information-seeking)
Dr.SabinBuragawww.purl.org/net/busaco
Preluarea + indexarea resurselor se pot realiza:
automat – via roboți Web
manual – recurgând la experți umani
hibrid
Dr.SabinBuragawww.purl.org/net/busaco
Preluarea și indexarea resurselor
strategii:
natura datelor/relațiilor (data/relation mining)
detectarea subiectului conținutului (topic distillation)
meta-date – date descriind date
(e.g., doar însemnări ca replici la alte mesaje)
căutare socială (tag-uri, anturaj, aplicații Web sociale)
context (e.g., localizare geografică, timp, dispozitiv)
profil al utilizatorului
(e.g., istoric al căutărilor, preferințe lingvistice)
Dr.SabinBuragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
scop
căutarea oricărei resurse existente
Dr.SabinBuragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
viteză
rezultatele să fie disponibile imediat
direcție de interes major: real-time Web search
Dr.SabinBuragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
disponibilitate
actualizarea permanentă
(orice modificare să fie indexată „instantaneu”)
Dr.SabinBuragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
recall
găsirea tuturor resurselor relevante
pentru o cerere dată
Dr.SabinBuragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
precizie
rezultatul conține doar documente relevante
Dr.SabinBuragawww.purl.org/net/busaco
Caracteristici ale unui motor de căutare ideal
ranking
cele mai relevante documente
sunt plasate primele
Dr.SabinBuragawww.purl.org/net/busaco
Care sunt principalele componente
ale unui motor de căutare?
Dr.SabinBuragawww.purl.org/net/busaco
Robot Web
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.SabinBuragawww.purl.org/net/busaco
Diferențele dintre motoarele de căutare actuale
sunt date de fiecare componentă în parte
Dr.SabinBuragawww.purl.org/net/busaco
structura generică a unui motor de căutare
(Chakrabarti, 2003)
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
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.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Bazată pe învățare
data mining
(de exemplu, reinforcement learning)
vezi materia
„Învățare automată”
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
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.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Robotul/motorul de căutare decide momentul
revizitării resursei care urmează a fi reindexată
sau doar verificată
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Aspect de interes:
rezoluția adreselor Web
(nume de domeniiadrese IP)
DNS caching, pre-fetching & resolution
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Aspect de interes:
realizarea cererilor concurente
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Aspect de interes:
extragerea legăturilor
e.g., normalizarea URI-urilor:
www.InfoIasi.Ro:80www.info.uaic.ro
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Aspect de interes:
eliminarea adreselor deja vizitate
evitarea „găurilor negre”
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Aspect de interes:
monitorizarea accesărilor
load monitoring + managing
(evitarea supra-solicitării serverelor Web)
Dr.SabinBuragawww.purl.org/net/busaco
motoare: căutarea
Aspect de interes:
strategii de revizitare/reîmprospătare
a conținutului resurselor Web
Dr.SabinBuragawww.purl.org/net/busaco
motoare: indexarea
Necesitatea folosirii sistemelor de baze de date
depozit distribuit de stocare (eventual, în cloud)
optimizarea regăsirii
Dr.SabinBuragawww.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
Dr.SabinBuragawww.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)
Dr.SabinBuragawww.purl.org/net/busaco
Cum se realizează indexarea?
Dr.SabinBuragawww.purl.org/net/busaco
motoare: indexarea
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.SabinBuragawww.purl.org/net/busaco
motoare: indexarea
Indexare bazată pe cuvinte-cheie
relevanță, plasament, meta-date,
data mining, procesarea limbajului natural,...
versus
indexare semantică – bazată pe concepte
social tagging (folksonomy),
microformate, microdate HTML5,
Web semantic (RDF, RDFa),...
Dr.SabinBuragawww.purl.org/net/busaco
motoare: indexarea
O importanță mare o au:
maniera de structurare a informației și
„relația” unei pagini cu altele înrudite
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Cererile sunt formulate via o interfață Web
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Cererile sunt formulate via o interfață Web
unele motoare de căutare acceptă
folosirea unor operatori specifici
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Cererile sunt formulate via o interfață Web
exemplificare: o parte dintre operatorii Google
"expresie" ~termen –termen
numar1 .. numar2 related: URL cache: URL
intitle: termen(i) intext: termen(i) inurl: termen(i)
link: URL site: domeniu info: domeniu
define: termen filetype: extensie unit1 in unit2
detalii la www.googleguide.com/advanced_operators_reference.html
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
digital camera $700 .. 1400
~book
intitle:design –intitle:web
"burse de merit"
site:uaic.ro
inurl: art nouveau
allinurl: js library
16 cm in inch
related:www.w3.org
js mvc inanchor:slideshare
define:design
cache:http://devdocs.io/
map:predeal
firefox filetype:svg OR filetype:png
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Interogările din prisma utilizatorului:
grad mare de subiectivitate
e.g., “miserable failure”
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Interogările din prisma utilizatorului:
depind de contextul social/cultural
exemple:
“pants” în UK versus US
“madonna and child”
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Interogările din prisma utilizatorului:
dependente de scop
informațional (listă, locație, sfat)
navigațional
vizând accesarea resurselor
(download, amuzament, interactivitate,…)
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Remarci:
utilizatorii obișnuiți nu înțeleg limbajul logic – „booleana”
exemplu:
“hotels located in Bucharest and Iasi”
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
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.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Remarci:
apar confuzii:
URI vs. text,
lipsa spațiilor,
vocabular
etc.
Dr.SabinBuragawww.purl.org/net/busaco
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”
motoare: interogarea
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Interogări formulate în limbaj natural:
eliminarea ambiguităților (dezambiguizarea)
filtrarea cuvintelor nerelevante
expandarea interogării: sinonime, forme derivate,…
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Evaluarea cererii – schema generală:
1. Analizarea interogării (tokenizing)
2. Căutarea în indecșii termenilor
3. Scanarea documentelor
4. Evaluarea relevanței paginilor
5. Eliminarea duplicatelor + sortarea
6. Afișarea primelor N documente relevante
(URI + alte informații)
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Conținutul fiecărui document extras
este analizat și divizat în token-uri
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Unele construcții se ignoră/constrâng
e.g., “the”, “is”/“are”/“were” → “be”, “running” → “run”
procesare de bază a conținutului textual
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
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.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Criterii vizând calculul relevanței:
ranking bazat pe clasificare umană
resurse clasificate de oameni
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
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.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Criterii vizând calculul relevanței:
ranking bazat pe conectivitate
analiza relațiilor (legăturilor hipertext) cu alte pagini
eventual, în funcție de reputație
e.g., importanța domeniului Internet
(sunt luați în calcul factori ca vechimea, localizarea,…)
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Calculul relevanței:
tehnici privind IR (Information Retrieval)
căutări bazate pe similaritate – similarity search
recurgând la învățare automată (machine learning)
clasificarea conținutului hipermedia
social network analysis – bibliometrie, prestigiu,…
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Page Rank (Google)
evaluarea relevanței pe baza contextului de apariție
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Page Rank (Google)
exploatarea relațiilor dintre diferite pagini Web
www.google.com/insidesearch/howsearchworks/algorithms.html
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Page Rank (Google)
recurgerea la tehnici adaptive, euristice
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Page Rank (Google)
determinarea corelației dintre relevanța calculată
automat de sistem și cea precizată (in)direct
de către utilizator
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
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.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Alternative la Page Rank:
TrustRank (Friesen, 2007)
folosește domenii Web de încredere selectate de oameni
Dr.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
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.SabinBuragawww.purl.org/net/busaco
motoare: interogarea
Alternative la Page Rank:
utilizarea tehnologiilor Web-ului semantic
se iau în considerație concepte (cunoștințe), nu cuvinte
“things, not strings”
de vizionat prezentarea M. Lanthaler, “The Future of the Web
– From Strings to Things” (2015) – https://vimeo.com/133137907
Dr.SabinBuragawww.purl.org/net/busaco
timp strategie
înainte de
2000
conținut – indexarea textului
(titlu, anteturi, URL, descriere via <meta>)
2000—2010
conținut
autoritate (via legături)
2010—
prezent
conținut
autoritate
personalizare (social media + profil utiliz.)
2012—
prezent
conținut
autoritate
personalizare
concepte (date-structurate + Web of data)
context (localizare, timp, dispozitiv,…)
adaptare după (K. Bodnar & J. Hopkins, 2011)
a se studia și www.slideshare.net/randfish/presentations
Dr.SabinBuragawww.purl.org/net/busaco
generale Bing, DuckDuckGo, Google, Yahoo!, Volunia,…
regionale
Baidu (China), Daum (Coreea), Goo (Japonia),
Guruji (India), Rambler (Rusia) etc.
meta-căutare Dogpile, Excite, Mamma, Yippy
enterprise search Apache Solr, ElasticSearch, OpenSearchServer,…
răspunsuri
(answer-based)
umane: Stack Overflow, Yahoo! Answers, Quora
automate: AskMeNow, Evi, Wolfram Alpha
news search BingNews, Daylife, Topix, Yahoo! News,…
hărți (maps) Nokia HERE, OpenStreetMap, WikiMapia etc.
cod-sursă Google Code Search, Koders, Krugle
căutare pe baza P2P FAROO, Seeks, YaCy
desktop search DocFetcher, Recoll, Tropes Zoom
pentru dezvoltatori: Apache Lucene, Apache Nutch,
mnoGoSearch, Namazu, Xapian,…
API-uri: www.programmableweb.com/category/search
Dr.SabinBuragawww.purl.org/net/busaco
Motoarele tind să „recompenseze” siturile:
de mari dimensiuni
cu viață lungă
specializate, de „nișă”
aparținând unor autorități de încredere
motoare: interogarea
Dr.SabinBuragawww.purl.org/net/busaco
SERP (Search Engine Result Page)
specifică maniera de redare a rezultatelor
oferite de motorul de căutare
motoare: afișarea rezultatelor
Dr.SabinBuragawww.purl.org/net/busaco
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
localizării geografice (local search)
motoare: afișarea rezultatelor
Dr.SabinBuragawww.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.”
K. Bodnar & J. Hopkins, 2011
Dr.SabinBuragawww.purl.org/net/busaco
(în loc de) pauză
Dr.SabinBuragawww.purl.org/net/busaco
Cum putem proiecta
mijloacele de căutare internă?
Dr.SabinBuragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
oferirea de sugestii utilizatorului
e.g., spelling suggestions,
sinonime (car → automobile, truck,…)
Dr.SabinBuragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
sugestii de soluții
de exemplu, răspunsuri la cele mai frecvente întrebări
Dr.SabinBuragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
î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.SabinBuragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
î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.SabinBuragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
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 și sortării datelor etc.
Dr.SabinBuragawww.purl.org/net/busaco
Dr.SabinBuragawww.purl.org/net/busaco
Motor de căutare internă (la nivel de sit)
utilizatorul să aibă libertatea de a efectua
oricând o nouă interogare
evitarea „fundăturilor” – oferirea de ajutor, sugestii,…
Dr.SabinBuragawww.purl.org/net/busaco
Cum trebuie scris codul HTML
pentru a obține o relevanță bună a conținutului?
Dr.SabinBuragawww.purl.org/net/busaco
SEO – Search Engine Optimization
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.SabinBuragawww.purl.org/net/busaco
Structurarea codului-sursă a documentelor Web
Structurarea conținutului
Structurarea legăturilor cu alte pagini
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
documentul trebuie să fie bine-formatat
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
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.SabinBuragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
a nu se folosi:
cadre (frame-uri)
sau
elemente învechite sau proprietare
(e.g., <blink> ori <marquee>)
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
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.SabinBuragawww.purl.org/net/busaco
Structurarea codului-sursă – SEO la nivel de pagină
situl trebuie actualizat periodic, frecvent
un criteriu important: timpul de încărcare
despre performanța
aplicațiilor Web
într-un curs viitor
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea conținutului
codul trebuie structurat conform semnificației logice
POSH (Plain Old Semantic HTML)
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea conținutului
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.SabinBuragawww.purl.org/net/busaco
Structurarea conținutului
conținuturile multimedia binare
trebuie să aibă alternative textuale
anumite date pot fi „ascunse” de roboți via robots.txt
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea conținutului
numele fișierelor (imagini, stiluri,…) contează

human friendly URLs
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
obligatoriu, de inclus legături spre alte pagini
(ale sitului ori ale altor situri)
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
dorim legături spre/de la situri importante
având conținut similar cu situl nostru
tehnici clasice (considerate „demodate”):
interschimb de link-uri – banner-e, blogroll-uri,
marketing bazat pe context
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
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.SabinBuragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
de verificat și menținut structura hipertext!
Dr.SabinBuragawww.purl.org/net/busaco
Structurarea legăturilor – SEO la nivel de sit
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 de căutare detectează + penalizează spam-ul!
http://searchenginewatch.com/search?query=spam
Dr.SabinBuragawww.purl.org/net/busaco
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,…
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
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)
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
black-hat page cloaking
tehnică penalizată de Google: http://youtu.be/QHtnfOgp65Q
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
„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
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
„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
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
„Estetica” URL-urilor
evitarea numerelor de sesiune (SID) din URL
uzual, roboții ignoră cookie-urile
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
„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)
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
„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
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
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,…
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
Rezultatul returnat clientului
se folosesc facilitățile oferite de serverul Web
pentru specificarea de pagini proprii de eroare
e.g., directiva ErrorDocument la Apache
seo: strategii
Dr.SabinBuragawww.purl.org/net/busaco
Navigarea bazată pe interacțiunea cu utilizatorul
legături spre alte resurse realizate exclusiv via Javascript
ori – mai desuet – cu Flash sau Silverlight
<p>informații despre burse <a href="javascript:sari(1);">aici</a></p>
de evitat
greșit!
Dr.SabinBuragawww.purl.org/net/busaco
Oferirea de conținut via documente
adoptând formate de date nestandardizate
de evitat
Dr.SabinBuragawww.purl.org/net/busaco
Titluri identice pentru toate paginile unui sit
de evitat
Dr.SabinBuragawww.purl.org/net/busaco
Pagini de eroare care sunt oferite de server
via codul de stare HTTP 200 Ok
de evitat
Dr.SabinBuragawww.purl.org/net/busaco
Redirecționări incorecte și/sau abuzive
de evitat
Dr.SabinBuragawww.purl.org/net/busaco
Ignorarea utilizatorilor cu nevoi speciale
web accessibility
http://webaim.org/
de evitat
Dr.SabinBuragawww.purl.org/net/busaco
Abuzul de transferuri asincrone prin Ajax
de evitat
Dr.SabinBuragawww.purl.org/net/busaco
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/
seo: instrumente
Dr.SabinBuragawww.purl.org/net/busaco
Resurse de interes:
Google Webmaster Central
https://developers.google.com/webmasters/
Learn SEO and Search Marketing
https://moz.com/learn/seo
Search Engine Land
http://searchengineland.com/
Search Engine Watch
http://searchenginewatch.com/
Search Engines @ VideoLectures
http://videolectures.net/Top/Computer_Science/Search_Engines
Dr.SabinBuragawww.purl.org/net/busaco
Invisible Web (Deep Web)
acea parte a spațiului World Wide Web
care nu este detectată de motoarele de căutare sau
de alte tipuri de aplicații de regăsire a resurselor
disponibile pe Web
Dr.SabinBuragawww.purl.org/net/busaco
Cum am putea descrie conținutul resurselor Web
astfel încât să poată fi procesat „inteligent”?
Dr.SabinBuragawww.purl.org/net/busaco
Idee:
specificarea unor meta-date (date privind datele)
direct în cadrul documentelor HTML
Dr.SabinBuragawww.purl.org/net/busaco
Idee:
specificarea unor meta-date (date privind datele)
direct în cadrul documentelor HTML
microformate
scheme de microdate HTML5
RDFa
la master
Dr.SabinBuragawww.purl.org/net/busaco
Microformate
(Tantek Çelik & Kevin Marks, 2004)
www.microformats.org
Dr.SabinBuragawww.purl.org/net/busaco
Microformate
utilizarea de marcaje (X)HTML pentru a desemna
semantica și/sau structura conținutului
„curentul” POSH (Plain Old Semantic HTML)
Dr.SabinBuragawww.purl.org/net/busaco
Microformate
reutilizarea unor vocabulare de termeni,
disponibile liber și standardizate
Dr.SabinBuragawww.purl.org/net/busaco
Microformate
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.SabinBuragawww.purl.org/net/busaco
marcaje HTML (<div>, <span>)
pentru specificarea datelor &
structurii lor
„clase” CSS pentru prezentare
și asocierea de descrieri
ale meta-datelor
structurarea
paginilor Web:
precizarea
înțelesului
(semanticii)
conținutului
Dr.SabinBuragawww.purl.org/net/busaco
Microformate
elementare – desemnează o caracteristică unică
+
compuse – specifică mai multe proprietăți
care modelează un aspect de interes
– e.g., un concept (entitate): persoană, eveniment,…
Dr.SabinBuragawww.purl.org/net/busaco
rel-tag
asociază unei legături hipertext un termen (tag)
– cuvânt-cheie ori subiect – ales liber de autor
(tagging content)
Dr.SabinBuragawww.purl.org/net/busaco
rel-tag
<p>Tutorial despre <a href="http://www.slideshare.net/tag/web"
rel="tag">www</a>.</p>
<p>Expertiză: <a href="http://en.wikipedia.com/wiki/Unix"
rel="tag" class="skill">UNIX</a>.</p>
<a href="http://flickr.com/photos/tags/Penguin" rel="tag">
<img src="tux.jpg" alt="Foto cu un pinguin" /></a>
Dr.SabinBuragawww.purl.org/net/busaco
XFN (XHTML Friend Network)
relații între „prieteni”: colaboratori, rude, cunoscuți,…
<a href="http://www.infoiasi.ro/~dlucanu/"
rel="met, colleague, co-worker, neighbor">
Dorel Lucanu</a>
Dr.SabinBuragawww.purl.org/net/busaco
recurgerea la XFN în cadrul sistemului WordPress
Dr.SabinBuragawww.purl.org/net/busaco
hCalendar
desemnează evenimente și orare
vezi formatul iCalendar – RFC 5545
https://tools.ietf.org/html/rfc5545
Dr.SabinBuragawww.purl.org/net/busaco
hCalendar
<div class="vevent">
<a class="url" href="http://tinyurl.com/cliw-seo"
<abbr class="dtstart" title="20151109">9 noiembrie 2015</abbr> --
<abbr class="dtend" title="20160110">10 ianuarie 2016</abbr>
<span class="summary">Concurs SEO @ CLIW</span> la
<span class="location">FII, UAIC Iași</span></a>
<div class="description">Un concurs vizând SEO
pentru articole referitoare la biblioteci JavaScript</div>
</div>
Dr.SabinBuragawww.purl.org/net/busaco
hCard
informații de contact despre persoane, organizații etc.
în conformitate cu formatul vCard – RFC 6350, 6868
https://tools.ietf.org/html/rfc6350
Dr.SabinBuragawww.purl.org/net/busaco
specificarea informațiilor despre o persoană via hCard
Dr.SabinBuragawww.purl.org/net/busaco
hResume
modelează informații despre un CV
folosit în conjuncție cu hCard și hCalendar
Dr.SabinBuragawww.purl.org/net/busaco
hReview
desemnează opinii emise despre „ceva” – o entitate
(produs, locație, eveniment, persoană,…)
Dr.SabinBuragawww.purl.org/net/busaco
<div class="hreview">
<!-- resursa recenzată -->
<h1 class="item">Recenzie despre <a class="fn url" title="Situl FII"
href="http://www.info.uaic.ro/">situl Web al FII</a></h1>
<p> <!-- 'punctajul' obținut (5 din 5), sumarul & data recenziei -->
<abbr class="rating stars" title="5">* * * * *</abbr>
<span class="summary title">Modern</span>,
<abbr class="dtreviewed"
title="2010-05-18T22:45:00">18 mai</abbr>
</p>
<!-- autorul recenziei marcat prin hCard -->
<p class="reviewer">Autor al recenziei: <span class="vcard">
<a class="url fn n" href="http://www.purl.org/net/busaco"
title="Spre situl Web al lui Sabin Buraga">
<span class="given-name">Sabin</span>
<span class="family-name">Buraga</span></a></span></p>
<div class="description"> <!-- detalii despre recenzie --> </div>
</div>
Dr.SabinBuragawww.purl.org/net/busaco
Dr.SabinBuragawww.purl.org/net/busaco
Microformate 2
simplifică maniera de specificare (2012)
http://microformats.org/wiki/microformats2
Dr.SabinBuragawww.purl.org/net/busaco
Microformate 2
vocabularele sunt definite pe baza unor prefixe
h- includerea unui microformat
p- specificarea unei proprietăți simple
u- desemnarea unui URL
dt- definirea de valori privind data & timpul
e- specificarea de proprietăți compuse
Dr.SabinBuragawww.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>
exemplu de utilizare a microformatului hCard
(în ambele versiuni)
Dr.SabinBuragawww.purl.org/net/busaco
Microformate 2
vocabulare predefinite – unele în stadiu de ciornă:
h-adr h-card h-entry h-event
h-geo h-item h-product h-recipe
h-resume h-review h-review-aggregate
Dr.SabinBuragawww.purl.org/net/busaco
<!-- specificarea unui eveniment via microformate versiunea 2 -->
<section class="h-event">
<a class="p-name u-url" href="http://tinyurl.com/cliw-seo">
Concurs SEO @ CLIW</a>
de la <time class="dt-start">2015-11-09</time>
până la <time class="dt-end">2016-01-10</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>
Dr.SabinBuragawww.purl.org/net/busaco
microformate: utilizări
…și multe altele
detalii la http://microformats.org/wiki/implementors
Drupal
Google
Intel
Joomla
Microsoft
Nature Publishing Group
Six Apart
TYPO3
Yahoo!
XWiki
Dr.SabinBuragawww.purl.org/net/busaco
microformate: utilizări
detectarea și exportul de microformate cu extensia
Operator pentru Firefox
Dr.SabinBuragawww.purl.org/net/busaco
Microdata HTML 5
alternativă la microformate
specificație W3C – Working Draft (octombrie 2013)
www.w3.org/TR/microdata/
a se studia și http://html5doctor.com/microdata/
Dr.SabinBuragawww.purl.org/net/busaco
Microdata HTML 5
posibilitatea de a specifica perechi de proprietăți
(nume, valoare) „scufundate” în HTML
Dr.SabinBuragawww.purl.org/net/busaco
Microdata HTML 5
grupurile de perechi de proprietăți nume—valoare
sunt denumite items
Dr.SabinBuragawww.purl.org/net/busaco
Microdata HTML 5
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.SabinBuragawww.purl.org/net/busaco
Microdata HTML 5
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.SabinBuragawww.purl.org/net/busaco
Există o serie de modele de date
(exprimate via microformate sau microdate)
ce pot fi indexate și folosite
de actualele motoare de căutare?
Dr.SabinBuragawww.purl.org/net/busaco
schema.org
colecție de vocabulare (scheme de date)
– e.g., Book, Event, LocalBusiness, Movie, Offer, Person,
Place, Recipe, Review, TVSeries,… – recunoscute și
indexate de roboții principalelor motoare de căutare
Bing, Google, Yahoo!, Yandex
Dr.SabinBuragawww.purl.org/net/busaco
schema.org
colecție de vocabulare (scheme de date)
– e.g., Book, Event, LocalBusiness, Movie, Offer, Person,
Place, Recipe, Review, TVSeries,… – recunoscute și
indexate de roboții principalelor motoare de căutare
Bing, Google, Yahoo!, Yandex
amănunte la https://schema.org/docs/gs.html
modele
conceptuale
Dr.SabinBuragawww.purl.org/net/busaco
a se consulta și http://www.w3.org/wiki/WebSchemas
Dr.SabinBuragawww.purl.org/net/busaco
tipurile primare de date definite de schema.org
Dr.SabinBuragawww.purl.org/net/busaco
diverse proprietăți ce relaționează Integer cu alte concepte
Dr.SabinBuragawww.purl.org/net/busaco
Thing – schema cea mai generală, incluzând conceptualizări
Action
BroadcastService
CreativeWork
Event
Intangible
MedicalEntity
Organization
Person
Place
Product
Class
Property
modelare de
cunoștințe
(via o ontologie)
Dr.SabinBuragawww.purl.org/net/busaco
Person – modelează conceptul „persoană”
http://schema.org/Person
Dr.SabinBuragawww.purl.org/net/busaco
schema.org
relațiile dintre entități sunt precizate via proprietăți
Dr.SabinBuragawww.purl.org/net/busaco
<div lang="en" itemscope="" itemtype="http://schema.org/RealEstateAgent">
<span itemprop="name">Tuxy Unlimited</span>
<div itemprop="address" itemscope=""
itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Banchiza, 1</span>
<span itemprop="addressLocality">Iasi</span>,
<span itemprop="addressRegion">Iasi</span>
<span itemprop="postalCode">700550</span>
</div>
Phone: <span itemprop="telephone">+4032201090</span>
<a href=
"http://www.openstreetmap.org/way/243817200#map=18/47.17493/27.57378"
itemprop="maps">Details on OpenStreetMap</a>
</div>
fapte vizând
domeniul imobiliar
…pe baza modelului
conceptual schema.org
Dr.SabinBuragawww.purl.org/net/busaco
<ul>
<li>
<p itemid="#busaco" itemscope="" itemtype="http://schema.org/Person">
<a href="http://www.purl.org/net/busaco"
title="Spre situl Web al lui Sabin-Corneliu Buraga" itemprop="url">
<span itemprop="name">
<span itemprop="givenName">Sabin-Corneliu</span>
<span itemprop="familyName">Buraga</span>
</span>
</a> &ndash; curs</p>
</li>
<li>
<p itemid="#acip" itemscope="" itemtype="http://schema.org/Person">
<a href="http://ro.linkedin.com/in/ciprianamariei"
title="Despre Ciprian Amariei" itemprop="url">
<span itemprop="name">
<span itemprop="givenName">Ciprian</span>
<span itemprop="familyName">Amariei</span>
</span></a> &ndash; laborator</p>
</li>
</ul>
specificarea faptului:
„Ciprian Amariei este o persoană”
Dr.SabinBuragawww.purl.org/net/busaco
extragerea/verificarea de date structurate
via Structured Data Testing Tool
https://developers.google.com/structured-data/testing-tool/
Dr.SabinBuragawww.purl.org/net/busaco
<section id="week6">
<h2>Săptămâna 6</h2>
<ul>
<li itemscope="" itemtype="http://schema.org/CreativeWork"
itemid="#cliw-lecture6">
<aside class="menu">concurs: <a href="web-contest.html" title="Detalii">
SEO @ CLIW</a></aside>
<p class="lecture">Curs: <a href="presentations/web06-Regasirea-
resurselor-Web-SEO-Microformate-MicrodateHTML5.pdf"
title="Prezentare în format PDF" itemprop="url">
<span itemprop="name">(Re)găsirea resurselor Web</span></a>
</p>
<div class="terms" itemprop="keywords">căutare Web, robot,
motor de căutare, interogare, SEO, microformate, HTML5 microdata</div>
</li>
…
</ul>
</section>
specificarea în HTML5 a lucrărilor creative de tip
CreativeWork conform modelului conceptual schema.org
Dr.SabinBuragawww.purl.org/net/busaco
extragerea
informațiilor
din HTML5
aici, despre
prelegerile
materiei CLIW
Dr.SabinBuragawww.purl.org/net/busaco
<article itemscope="" itemtype="http://schema.org/Event">
<section id="contest">
<h2>Tema</h2>
<p>Concursul este destinat studenților
<span itemprop="location" itemscope="" itemtype="http://schema.org/Place">
<a href="http://www.info.uaic.ro/" itemprop="url" title="Spre situl FII>
<span itemprop="name">FII</span></a>
(UAIC <span itemprop="address">Iași, România</span>)</span>
și constă în optimizarea conținutului și structurii unui sit Web.</p>
…
<p>Perioadă de desfășurare:
<span itemprop="startDate" content="2015-11-09T00:00">9 noiembrie 2015
</span>—<strong><span itemprop="endDate" content="2016-01-10T16:00">
10 ianuarie 2016</span></strong>, ora 16:00.</p>
</section>
…
</articol>
pe baza schema.org, se pot modela în HTML date vizând un
eveniment (Event) și locul de desfășurare a acestuia (Place)
Dr.SabinBuragawww.purl.org/net/busaco
date pentru „consum” uman vs. date structurate
interpretate și prelucrate, ulterior, de algoritmi
Dr.SabinBuragawww.purl.org/net/busaco
<!-- microformate (utilizarea microformatului hCard) -->
<div class="vcard">
<p>Nume: <span class="fn">Sabin Buraga</span></p>
<p>Titlu academic: <span class="title">Dr.</span></p>
</div>
<!-- microdate HTML5 -->
<div itemscope itemtype="http://schema.org/Person">
<p>Nume: <span itemprop="name">Sabin Buraga</span></p>
<p>Titlu academic: <span itemprop="title">Dr.</span></p>
</div>
microformate↔microdate
adaptare după Marco Lisci & Luisa Scarlata (2011)
Dr.SabinBuragawww.purl.org/net/busaco
Alte resurse de interes,
inclusiv instrumente de validare și conversie,
sunt oferite de situl Web
http://getschema.org/
Dr.SabinBuragawww.purl.org/net/busaco
Microformatele și microdatele HTML5
sunt indexate de motoarele de căutare
Bing Webmaster
http://tinyurl.com/b9mx2f2
Google Structured Data
developers.google.com/structured-data/
Yahoo! BOSS (Build your Own Search Service)
developer.yahoo.com/search/boss/
Yandex Webmaster
yandex.com/support/webmaster/schema-org/
Dr.SabinBuragawww.purl.org/net/busaco
Cum ar putea fi detectate și penalizate
siturile Web care „trișează” în ceea ce privește
tehnicile SEO, eventual recurgând la
microformate/microdate HTML5?
discuție (pentru acasă)
Dr.SabinBuragawww.purl.org/net/busaco
Oferiți o soluție (empirică) de prevenire
a spam-ului vizând documentele HTML
test scris #2 (T2)
Dr.SabinBuragawww.purl.org/net/busaco
episodul viitor: limbajul JavaScript

More Related Content

PDF
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
PDF
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
PDF
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5
PDF
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
PDF
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
PDF
CLIW 2015-2016 (7/13) Limbajul de programare JavaScript
PDF
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
PDF
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (7/13) Limbajul de programare JavaScript
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu

What's hot (20)

PDF
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
PDF
CLIW 2017-2018 (5/12) Limbajul de programare JavaScript. Aspecte esenţiale
PDF
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
PDF
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
PDF
CLIW 2017-2018 (1/12) Interacţiune Web: de la concepte & utilizabilitate la d...
PDF
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
PDF
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
PDF
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
PDF
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
PDF
CLIW 2017-2018 (8/12) Ingineria dezvoltării aplicaţiilor JavaScript
PDF
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....
PDF
HTML5 în XXX de minute
PDF
Node.js: aspecte esențiale
PDF
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...
PDF
CLIW 2015-2016 (2/13) Arhitectura navigatorului Web
PDF
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
PDF
Limbajul JavaScript: o prezentare generală
PDF
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
PDF
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
PDF
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
CLIW 2017-2018 (5/12) Limbajul de programare JavaScript. Aspecte esenţiale
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2017-2018 (1/12) Interacţiune Web: de la concepte & utilizabilitate la d...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (8/12) Ingineria dezvoltării aplicaţiilor JavaScript
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....
HTML5 în XXX de minute
Node.js: aspecte esențiale
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...
CLIW 2015-2016 (2/13) Arhitectura navigatorului Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Limbajul JavaScript: o prezentare generală
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Ad

Viewers also liked (14)

PPTX
معرفی 10 فیلم برتر سال 2015 در حوزه کسب و کار
PDF
Dyslexie consultatie basisschool ijsselgroep
DOCX
Observe good governance by massmedia
PPSX
Istraživanje - MillennialsSerbia
PPTX
Apresentação Total Idade - Viver total e plenamente sua maturidade
PPTX
Međuinduktivitet i zračni transformatori
PDF
מתיחת מותגים בעולם משתנה
PPT
Bulling
PDF
공공Pr본부 회사소개서 120117
PPTX
Concepción del Lenguaje
 
PPTX
Multimodal Semiotics and Collaborative Design in Virtual Worlds (PhD Presenta...
PDF
Psykologi for designere - IxDA Oslo
PDF
Examples of KPI for Sales and Marketing Department: KPI in Sales and Marketin...
PDF
Examples of KPIs for Sales Manager: List of Key Performance Idicators, Sales ...
معرفی 10 فیلم برتر سال 2015 در حوزه کسب و کار
Dyslexie consultatie basisschool ijsselgroep
Observe good governance by massmedia
Istraživanje - MillennialsSerbia
Apresentação Total Idade - Viver total e plenamente sua maturidade
Međuinduktivitet i zračni transformatori
מתיחת מותגים בעולם משתנה
Bulling
공공Pr본부 회사소개서 120117
Concepción del Lenguaje
 
Multimodal Semiotics and Collaborative Design in Virtual Worlds (PhD Presenta...
Psykologi for designere - IxDA Oslo
Examples of KPI for Sales and Marketing Department: KPI in Sales and Marketin...
Examples of KPIs for Sales Manager: List of Key Performance Idicators, Sales ...
Ad

Similar to CLIW 2015-2016 (6/13) (Re)găsirea resurselor Web. De la motoare de căutare și SEO la date structurate (20)

PDF
CLIW 2014—2015 (6/12): Căutarea resurselor Web
PDF
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurse...
PDF
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
PDF
Căutarea resurselor Web
PDF
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
PDF
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
PDF
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
PDF
Ce înseamnă a fi dezvoltator Web (varianta 2014)
PDF
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
PDF
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
PDF
Ce înseamnă să fii dezvoltator Web
PDF
CLIW 2017-2018 (10/12) Programare Web. API-uri JavaScript în contextul HTML5 (I)
PDF
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
PPT
Tice usb 1
PDF
Dezvoltator Web?! (varianta 2015)
PDF
STAW 05/12: Arhitectura navigatorului Web
PDF
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
PDF
CLIW 2014—2015 (12/12): Performanța Web la nivel de client
PDF
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
PDF
Web-ul nostru (cel de toate zilele)
CLIW 2014—2015 (6/12): Căutarea resurselor Web
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurse...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
Căutarea resurselor Web
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
Ce înseamnă a fi dezvoltator Web (varianta 2014)
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Ce înseamnă să fii dezvoltator Web
CLIW 2017-2018 (10/12) Programare Web. API-uri JavaScript în contextul HTML5 (I)
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Tice usb 1
Dezvoltator Web?! (varianta 2015)
STAW 05/12: Arhitectura navigatorului Web
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
CLIW 2014—2015 (12/12): Performanța Web la nivel de client
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Web-ul nostru (cel de toate zilele)

More from Sabin Buraga (20)

PDF
Web 2020 01/12: World Wide Web – aspecte arhitecturale
PDF
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
PDF
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
PDF
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
PDF
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
PDF
Web 2020 09/12: Servicii Web. Paradigma REST
PDF
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
PDF
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
PDF
STAW 01/12: Arhitectura aplicaţiilor Web
PDF
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
PDF
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
PDF
STAW 04/12: Programare Web: Node.js
PDF
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
PDF
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
PDF
STAW 08/12: Programare Web. Suita de tehnologii HTML5
PDF
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
PDF
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
PDF
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
PDF
Sabin Buraga: Dezvoltator Web?! (2019)
PDF
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 04/12: Programare Web: Node.js
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
Sabin Buraga: Dezvoltator Web?! (2019)
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...

CLIW 2015-2016 (6/13) (Re)găsirea resurselor Web. De la motoare de căutare și SEO la date structurate