SlideShare ist ein Scribd-Unternehmen logo
1 von 194
Downloaden Sie, um offline zu lesen
de la motoare de căutare și SEO la date structurate

Dr. Sabin Buragawww.purl.org/net/busaco

(re)găsirea resurselor Web
Michael Osborne

Dr. Sabin Buragawww.purl.org/net/busaco

“A well-defined problem is half solved.”
Dr. Sabin Buragawww.purl.org/net/busaco

Cum prezentăm conținutul
altor clienți – diferiți de cei umani?
Dr. Sabin Buragawww.purl.org/net/busaco

Am putea recurge la extragerea automată
a datelor expuse pe Web?
programe ce traversează automat Web-ul,
cu scopul de a extrage date
spiders, crawlers, Web bots

Dr. Sabin Buragawww.purl.org/net/busaco

Roboți
programe ce traversează automat Web-ul,
cu scopul de a extrage date
robot Web  navigator Web

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Roboți
Operarea în foc rapid (rapid-fire)
trafic de rețea
supraîncărcarea serverelor Webdenial of service

Dr. Sabin Buragawww.purl.org/net/busaco

roboți: pericole
Actualizarea cu întârziere a bazelor de date
ale motoarelor de căutare

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

roboți: pericole
Exploatarea (ne)controlată de către utilizatori
atacuri “brute”

Dr. Sabin Buragawww.purl.org/net/busaco

roboți: pericole
Intrarea în “găurile negre”

Dr. Sabin Buragawww.purl.org/net/busaco

roboți: pericole
Accesarea unor date nerelevante

Dr. Sabin Buragawww.purl.org/net/busaco

roboți: pericole
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 Buraga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 etc.

Dr. Sabin Buraga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, bingbot, googlebot, slurp (Yahoo!)

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

roboți: identificare
Dr. Sabin Buragawww.purl.org/net/busaco

173.199.116.75 - - [11/Dec/2012:00:46:02 +0200] "GET /~web/2012/ HTTP/1.1" 404 193 "-"
"Mozilla/5.0 (compatible; AhrefsBot/4.0; +http://ahrefs.com/robot/)"
180.76.5.101 - - [11/Dec/2012:06:50:09 +0200] "GET /~busaco/ HTTP/1.1" 200 1784 "-"
"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
98.137.206.250 - - [11/Dec/2012:11:08:25 +0200] "GET /~busaco/ HTTP/1.1" 200 1784 "-"
"Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"
207.46.199.167 - - [11/Dec/2012:11:08:26 +0200] "GET ....jpg HTTP/1.1" 200 3394 "-"
"msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)"
66.249.75.44 - - [11/Dec/2012:11:12:26 +0200] "GET ….png HTTP/1.1" 304 - "-"
"Googlebot-Image/1.0"
178.154.174.252 - - [11/Dec/2012:11:22:05 +0200] "GET … HTTP/1.1" 301 206 "-"
"Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)“
66.249.75.22 - - [11/Dec/2012:11:30:47 +0200] "GET /~seminar/… HTTP/1.1" 200 683 "-"
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.75.44 - - [11/Dec/2012:11:29:51 +0200] "GET … HTTP/1.1" 200 1104 "-"
"Mozilla/5.0 (iPhone; U; en-us) … Mobile/8B117 (compatible; Googlebot-Mobile/2.1)"
65.55.24.244 - - [11/Dec/2012:11:31:46 +0200] "GET /mw/index.php HTTP/1.1" 200 4408 "-"
"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)“
78.46.238.220 - - [11/Dec/2012:11:33:32 +0200] "GET /~cyp/test HTTP/1.1" 200 6 "-"
"check_http/v1.4.15 (nagios-plugins 1.4.15)"
128.30.52.70 - - [11/Dec/2012:12:02:14 +0200] "GET /~busaco/ HTTP/1.1" 200 1784 "-"
"W3C_Validator/1.3"

cereri HTTP efectuate de diverși roboți Web
(menționate în fișierul de jurnalizare Apache)
Dr. Sabin Buragawww.purl.org/net/busaco

Cum putem “instrui” roboții Web
să nu viziteze anumite zone ale sitului?
Dr. Sabin Buragawww.purl.org/net/busaco

Orice robot trebuie să respecte
standardul de excludere
fișierul robots.txt
detalii la www.robotstxt.org

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Orice robot trebuie să respecte
standardul de excludere
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 Buraga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. Sabin Buragawww.purl.org/net/busaco

Orice robot trebuie să respecte
standardul de excludere
Dr. Sabin Buragawww.purl.org/net/busaco

Ce activități realizează un motor de căutare?
Dr. Sabin Buragawww.purl.org/net/busaco

Scop:
localizarea resurselor existente pe Web
pe bază de indecși (crawling & indexing)
Lycos – 1994
AltaVista – 1995

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Tipuri de căutări – maniera tradițională:
hibride
indecși + taxonomiiportal Web
Excite – 1994

Dr. Sabin Buragawww.purl.org/net/busaco

Tipuri de căutări – maniera tradițională:
pe baza legăturilor hipertext
(hyperlink analysis)
Google – 1996

Dr. Sabin Buragawww.purl.org/net/busaco

Tipuri de căutări – maniera tradițională:
pe baza datelor structurate
(determinare și extragere de meta-date & concepte)

Dr. Sabin Buragawww.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
Dr. Sabin Buragawww.purl.org/net/busaco

Un motor de căutare trebuie să satisfacă
nevoia de informații a utilizatorului
(user information-seeking)
automat – via roboți Web
manual – recurgând la experți umani
hibrid

Dr. Sabin Buragawww.purl.org/net/busaco

Localizarea & indexarea resurselor se pot realiza:
strategii:
data/relation mining
topic distillation
meta-data search
social search
…

Dr. Sabin Buragawww.purl.org/net/busaco

Localizarea & indexarea resurselor
scop
căutarea oricărei resurse existente

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Caracteristici ale unui motor de căutare ideal
disponibilitate
actualizarea permanentă
(orice modificare să fie indexată “instantaneu”)

Dr. Sabin Buragawww.purl.org/net/busaco

Caracteristici ale unui motor de căutare ideal
recall
găsirea tuturor resurselor relevante
pentru o cerere dată

Dr. Sabin Buragawww.purl.org/net/busaco

Caracteristici ale unui motor de căutare ideal
precizie
rezultatul conține doar documente relevante

Dr. Sabin Buragawww.purl.org/net/busaco

Caracteristici ale unui motor de căutare ideal
ranking
cele mai relevante documente
sunt plasate primele

Dr. Sabin Buragawww.purl.org/net/busaco

Caracteristici ale unui motor de căutare ideal
Dr. Sabin Buragawww.purl.org/net/busaco

Care sunt principalele componente
ale unui motor de căutare?
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 Buragawww.purl.org/net/busaco

Robot Web
Dr. Sabin Buragawww.purl.org/net/busaco

Diferențele dintre motoarele de căutare actuale
sunt date de fiecare componentă în parte
Dr. Sabin Buragawww.purl.org/net/busaco

structura generică a unui motor de căutare
(Chakrabarti, 2003)
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 Buragawww.purl.org/net/busaco

motoare: căutarea
Bazată pe învățare

data mining
(de exemplu, reinforcement learning)

detalii la master

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: căutarea
Aspect de interes:
realizarea cererilor concurente

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: căutarea
Aspect de interes:
eliminarea adreselor deja vizitate
evitarea “găurilor negre”

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: căutarea
Aspect de interes:
monitorizarea accesărilor
load monitoring & managing
(evitarea supra-solicitării serverelor Web)

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: căutarea
Aspect de interes:
strategii de revizitare/reîmprospătare
a conținutului resurselor Web

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: căutarea
Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Cum se realizează 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. Sabin Buragawww.purl.org/net/busaco

motoare: indexarea
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 Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: indexarea
Cererile sunt formulate via o interfață Web

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
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 Buragawww.purl.org/net/busaco

motoare: interogarea
digital camera $700 .. 1400
~book
Apache logo filetype: png
intitle: design –intitle: web
"burse de merit" site: uaic.ro inurl: edit

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Interogările din prisma utilizatorului:
grad mare de subiectivitate
e.g., “miserable failure”

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Remarci:
utilizatorii nu înțeleg “booleana”
exemplu:
“hotels located in Bucharest and Iasi”

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Remarci:
apar confuzii:
URI vs. text,
lipsa spațiilor,
vocabular
etc.

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
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 Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Evaluarea cererii – schema generală:
1.
2.
3.
4.
5.
6.

Analizarea interogării (tokenizing)
Căutarea în indecșii termenilor
Scanarea documentelor
Evaluarea relevanței paginilor
Eliminarea duplicatelor & sortarea
Afișarea primelor N documente relevante
(URI + alte informații)

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Conținutul fiecărui document extras
este analizat și divizat în token-uri

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Criterii vizând calculul relevanței:
ranking bazat pe clasificare umană
resurse clasificate de oameni

Dr. Sabin Buraga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. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea

eventual, în funcție de reputație
e.g., importanța domeniului Internet (vechime, localizare)
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 Buragawww.purl.org/net/busaco

motoare: interogarea
Page Rank (Google)
evaluarea relevanței pe baza contextului de apariție

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Page Rank (Google)
exploatarea relațiilor dintre diferite pagini Web

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Page Rank (Google)
recurgerea la tehnici adaptive, euristice

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Alternative la Page Rank:
TrustRank (Friesen, 2007)
folosește domenii Web de încredere selectate de oameni

Dr. Sabin Buraga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. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
Dr. Sabin Buragawww.purl.org/net/busaco

Evi
folosirea
inferențelor
pentru
a răspunde la
întrebările
utilizatorului
î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 Buragawww.purl.org/net/busaco

perioadă de timp
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 Buragawww.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,…
Dr. Sabin Buragawww.purl.org/net/busaco

243 de API-uri (3 noiembrie 2013)
privind căutarea resurselor Web:

www.programmableweb.com/apis/directory/1?apicat=Search
Motoarele tind să “recompenseze” siturile:
de mari dimensiuni
cu viață lungă
specializate, de “nișă”
aparținând unor autorități de încredere

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: interogarea
SERP (Search Engine Result Page)
specifică maniera de redare a rezultatelor
oferite de motorul de căutare

Dr. Sabin Buragawww.purl.org/net/busaco

motoare: afișarea rezultatelor
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 Buragawww.purl.org/net/busaco

motoare: afișarea rezultatelor
K. Bodnar & J. Hopkins, 2011

Dr. Sabin Buraga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.”
Dr. Sabin Buragawww.purl.org/net/busaco

Cum putem proiecta
mijloacele de căutare internă?
oferirea de sugestii utilizatorului
e.g., spelling suggestions,
sinonime (car  automobile, truck,…)

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Motor de căutare internă (la nivel de sit)
Dr. Sabin Buragawww.purl.org/net/busaco
î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 Buraga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 & sortării datelor etc.

Dr. Sabin Buragawww.purl.org/net/busaco

Motor de căutare internă (la nivel de sit)
Dr. Sabin Buragawww.purl.org/net/busaco
utilizatorul să aibă libertatea de a efectua
oricând o nouă interogare
evitarea “fundăturilor” – oferirea de ajutor, sugestii,…

Dr. Sabin Buragawww.purl.org/net/busaco

Motor de căutare internă (la nivel de sit)
Dr. Sabin Buragawww.purl.org/net/busaco

Cum trebuie scris codul HTML
pentru a obține o relevanță bună a conținutului?
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 Buragawww.purl.org/net/busaco

SEO – Search Engine Optimization
Structurarea conținutului
Structurarea legăturilor cu alte pagini

Dr. Sabin Buragawww.purl.org/net/busaco

Structurarea codului-sursă a documentelor Web
documentul trebuie să fie bine-formatat

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Structurarea codului-sursă – SEO la nivel de pagină
codul trebuie structurat conform semnificației logice
POSH (Plain Old Semantic HTML)

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Structurarea conținutului
numele fișierelor (imagini, stiluri,…) contează

human friendly URLs

Dr. Sabin Buragawww.purl.org/net/busaco

Structurarea conținutului
obligatoriu, de inclus legături spre alte pagini
(ale sitului ori ale altor situri)

Dr. Sabin Buraga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 (“demodate”):
interschimb de link-uri – banner-e, blogroll-uri,
marketing bazat pe context

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Structurarea legăturilor – SEO la nivel de sit
de verificat și menținut structura hipertext!

Dr. Sabin Buraga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 detectează & penalizează spam-ul!
http://searchenginewatch.com/topic/web_spam_detection

Dr. Sabin Buragawww.purl.org/net/busaco

Structurarea legăturilor – SEO la nivel de sit
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 Buragawww.purl.org/net/busaco

seo: strategii
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 Buragawww.purl.org/net/busaco

seo: strategii
Dr. Sabin Buragawww.purl.org/net/busaco

seo: strategii

black-hat page cloaking
tehnică penalizată de Google: http://youtu.be/QHtnfOgp65Q
“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 Buragawww.purl.org/net/busaco

seo: strategii
“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 Buragawww.purl.org/net/busaco

seo: strategii
“Estetica” URL-urilor
evitarea numerelor de sesiune (SID) din URL
uzual, roboții ignoră cookie-urile

Dr. Sabin Buragawww.purl.org/net/busaco

seo: strategii
“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 Buragawww.purl.org/net/busaco

seo: strategii
“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 Buragawww.purl.org/net/busaco

seo: strategii
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 Buragawww.purl.org/net/busaco

seo: strategii
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 Buragawww.purl.org/net/busaco

seo: strategii
Navigarea bazată pe interacțiunea cu utilizatorul
legături spre alte resurse
realizate exclusiv via Javascript, Flash sau Silverlight
greșit!

Dr. Sabin Buragawww.purl.org/net/busaco

de evitat

<p>informații despre burse <a href="javascript:sari(1);">aici</a></p>
Oferirea de conținut via documente
adoptând formate de date nestandardizate

Dr. Sabin Buragawww.purl.org/net/busaco

de evitat
Titluri identice pentru toate paginile unui sit

Dr. Sabin Buragawww.purl.org/net/busaco

de evitat
Pagini de eroare care sunt oferite de server
via codul de stare HTTP 200 Ok

Dr. Sabin Buragawww.purl.org/net/busaco

de evitat
Redirecționări incorecte și/sau abuzive

Dr. Sabin Buragawww.purl.org/net/busaco

de evitat
Ignorarea utilizatorilor cu nevoi speciale
web accessibility

http://webaim.org/

Dr. Sabin Buragawww.purl.org/net/busaco

de evitat
Abuzul de transferuri asincrone prin Ajax

Dr. Sabin Buragawww.purl.org/net/busaco

de evitat
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 Buragawww.purl.org/net/busaco

seo: instrumente
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 Buragawww.purl.org/net/busaco

seo: instrumente – exemple
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 Buragawww.purl.org/net/busaco

seo vs. ajax

roboții Web clasici nu pot interpreta programe JavaScript
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 Buragawww.purl.org/net/busaco

seo vs. ajax
http://www.seomoz.org/resources
http://searchenginewatch.com/
http://www.slideshare.net/randfish/presentations

Dr. Sabin Buragawww.purl.org/net/busaco

Resurse de interes

http://videolectures.net/Top/Computer_Science/Search_Engines
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 Buragawww.purl.org/net/busaco

Invisible Web (Deep Web)
Dr. Sabin Buragawww.purl.org/net/busaco

Cum am putea descrie conținutul resurselor Web
astfel încât să poată fi procesat “inteligent”?
Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Idee:
specificarea unor meta-date (date privind datele)
direct în cadrul documentelor HTML
(Tantek Çelik & Kevin Marks, 2004)

www.microformats.org

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Microformate
reutilizarea unor vocabulare de termeni,
disponibile liber și standardizate

Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Microformate
“clase” CSS pentru prezentare
și asocierea de descrieri
ale meta-datelor

structurarea
paginilor Web:
precizarea
înțelesului
(semanticii)
conținutului

Dr. Sabin Buragawww.purl.org/net/busaco

marcaje HTML (<div>, <span>)
pentru specificarea datelor &
structurii lor
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 Buragawww.purl.org/net/busaco

Microformate
asociază unei legături hipertext un termen (tag)
– cuvânt-cheie ori subiect – ales liber de autor
(tagging content)

Dr. Sabin Buragawww.purl.org/net/busaco

rel-tag
<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 Buragawww.purl.org/net/busaco

rel-tag
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. Sabin Buragawww.purl.org/net/busaco

XFN (XHTML Friend Network)
Dr. Sabin Buragawww.purl.org/net/busaco

recurgerea la XFN în cadrul sistemului WordPress
desemnează evenimente & orare
vezi formatul iCalendar – RFC 2445

Dr. Sabin Buragawww.purl.org/net/busaco

hCalendar
<div class="vevent">
<a class="url" href="http://swapps.wordpress.com/">
<abbr class="dtstart" title="2013-12-07">7 decembrie</abbr>&mdash;
<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 Buragawww.purl.org/net/busaco

hCalendar
informații de contact despre persoane, organizații etc.
în conformitate cu formatul vCard – RFC 2426

Dr. Sabin Buragawww.purl.org/net/busaco

hCard
Dr. Sabin Buragawww.purl.org/net/busaco

specificarea informațiilor despre o persoană via hCard
modelează informații despre un CV
folosit în conjuncție cu hCard și hCalendar

Dr. Sabin Buragawww.purl.org/net/busaco

hResume
desemnează opinii emise despre „ceva”
(produs, locație, eveniment, persoană,…)

Dr. Sabin Buragawww.purl.org/net/busaco

hReview
Dr. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco
simplifică maniera de specificare (2012)

http://microformats.org/wiki/microformats2

Dr. Sabin Buragawww.purl.org/net/busaco

Microformate 2
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 Buragawww.purl.org/net/busaco

Microformate 2
exemplu concret de utilizare a microformatului hCard
(în ambele versiuni)
preluat de la https://webfwd.org/about/experts/

Dr. Sabin Buraga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>
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 Buragawww.purl.org/net/busaco

Microformate 2
Dr. Sabin Buragawww.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>
Apple
Google
Intel
Last.fm
Six Apart
Yahoo!
XWiki
și multe altele
detalii la http://microformats.org/wiki/implementors

Dr. Sabin Buragawww.purl.org/net/busaco

microformate: utilizări
Dr. Sabin Buragawww.purl.org/net/busaco

microformate: utilizări

detectarea și exportul de microformate cu extensia
Operator pentru Firefox
alternativă la microformate
specificație W3C în stadiu de ciornă (octombrie 2012)

www.w3.org/TR/microdata/

Dr. Sabin Buragawww.purl.org/net/busaco

Microdata HTML 5
posibilitatea de a specifica perechi de proprietăți
(nume, valoare) “scufundate” în HTML

Dr. Sabin Buragawww.purl.org/net/busaco

Microdata HTML 5
grupurile de perechi de proprietăți nume—valoare
sunt denumite items

Dr. Sabin Buraga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. Sabin Buraga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. Sabin Buragawww.purl.org/net/busaco

Microdata HTML 5
ca tipuri de date se pot folosi microformatele

Dr. Sabin Buragawww.purl.org/net/busaco

Microdata HTML 5
Dr. Sabin Buragawww.purl.org/net/busaco

<section itemscope itemtype="http://microformats.org/profile/hcard">
<h1 itemprop="fn">
<span itemprop="n" itemscope>
<span itemprop="given-name">Tuxy</span>
<span itemprop="family-name">Pinguinescu</span>
</span>
</h1>
<img itemprop="photo" alt="Portretul lui Tux" src="tux.jpg">
<p itemprop="org" itemscope>
<span itemprop="organization-name">Linux</span></p>
<h2>Detalii & contact:</h2>
<ul>
<li><a itemprop="url" href="http://en.wikipedia.org/wiki/Tux">
Wikipedia</a></li>
<li itemprop="email"><a href="mailto:tux@penguin.org">
tux AT penguin.org</a></li>
</ul>
<address><span itemprop="adr" itemscope>
<span itemprop="street-address">Penguins Blv., 33</span>
<span itemprop="locality">Penguin City</span>,
<span itemprop="postal-code">740033</span> </span> </address>
</section>
Dr. Sabin Buraga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?
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. Sabin Buragawww.purl.org/net/busaco

schema.org
Dr. Sabin Buragawww.purl.org/net/busaco

a se studia și http://www.w3.org/wiki/WebSchemas
Dr. Sabin Buragawww.purl.org/net/busaco

<body itemscope itemtype="http://schema.org/WebPage">
<header>
<h1 itemprop="name">
<a href="index.html" title="…">Dezvoltarea aplicațiilor Web</a>
</h1>
<p class="slogan" itemprop="description">prezentările aferente cursului</p>
</header>
<article>
<!-- conținut propriu-zis -->
specificarea faptului că Sabin Buraga
</article>
este o persoană
<footer>
<h6>
<span itemscope itemtype="http://schema.org/Person">
<a href="http://www.purl.org/net/busaco" title="…"
itemprop="url" accesskey="S">
<span itemprop="name">Sabin Buraga</span>
</a>
</span>
</h6>
</footer>
</body>
recurgerea la elemente structurale și

scheme de microdate HTML5
<!-- 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↔microformate
adaptare după Marco Lisci & Luisa Scarlata (2011)

Dr. Sabin Buraga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>
Dr. Sabin Buragawww.purl.org/net/busaco

Alte resurse de interes,
inclusiv instrumente de validare și conversie,
sunt oferite de situl Web
http://getschema.org/
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 Buragawww.purl.org/net/busaco

Microformatele și microdatele HTML5
sunt indexate de motoarele de căutare
Dr. Sabin Buragawww.purl.org/net/busaco

extragerea/verificarea de date structurate
via Structured Data Testing Tool
http://www.google.com/webmasters/tools/richsnippets
Dr. Sabin Buragawww.purl.org/net/busaco

vizualizarea datelor structurate cu SmartWebBrowser
proiect de licență realizat de Ionuț-Cosmin Atomei
(absolvent FII, 2013)
Dr. Sabin Buragawww.purl.org/net/busaco

extragere & export de microformate, microdate HTML5
și RDFa cu extensia POSHex – Tiberiu Pasat (2013)
http://students.info.uaic.ro/~constantin.pasat/wad/
Cum ar putea fi detectate și penalizate
siturile Web care „trișează”
în ceea ce privește tehnicile SEO?

Dr. Sabin Buragawww.purl.org/net/busaco

discuție (pentru acasă)
Dr. Sabin Buragawww.purl.org/net/busaco

episodul viitor: proiectarea siturilor Web sociale

Weitere ähnliche Inhalte

Was ist angesagt?

CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientSabin Buraga
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...Sabin Buraga
 
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului WebCLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului WebSabin Buraga
 
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...Sabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor WebSabin Buraga
 
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5Sabin Buraga
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansambluCLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansambluSabin Buraga
 
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataWADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataSabin Buraga
 
Limbajul JavaScript: o prezentare generală
Limbajul JavaScript: o prezentare generalăLimbajul JavaScript: o prezentare generală
Limbajul JavaScript: o prezentare generalăSabin Buraga
 
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...Sabin Buraga
 
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...Sabin Buraga
 
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluCLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Esență de JavaScript pentru novici
Esență de JavaScript pentru noviciEsență de JavaScript pentru novici
Esență de JavaScript pentru noviciSabin Buraga
 
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
CLIW 2015-2016 (7/13) Limbajul de programare JavaScript
CLIW 2015-2016 (7/13) Limbajul de programare JavaScriptCLIW 2015-2016 (7/13) Limbajul de programare JavaScript
CLIW 2015-2016 (7/13) Limbajul de programare JavaScriptSabin Buraga
 
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazCLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazSabin Buraga
 

Was ist angesagt? (20)

CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
 
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului WebCLIW 2017-2018 (2/12) Arhitectura navigatorului Web
CLIW 2017-2018 (2/12) Arhitectura navigatorului Web
 
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
CLIW 2017-2018 (7/12) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor Web
 
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2015-2016 (11/13) Programare Web. API-uri JavaScript în contextul HTML5
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
 
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansambluCLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
CLIW 2017-2018 (4/12) Vizualizarea datelor – o privire de ansamblu
 
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataWADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
 
Limbajul JavaScript: o prezentare generală
Limbajul JavaScript: o prezentare generalăLimbajul JavaScript: o prezentare generală
Limbajul JavaScript: o prezentare generală
 
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
 
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...
CLIW 2017-2018 (6/12) Limbajul de programare JavaScript. Aspecte moderne: ES6...
 
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluCLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Esență de JavaScript pentru novici
Esență de JavaScript pentru noviciEsență de JavaScript pentru novici
Esență de JavaScript pentru novici
 
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
CLIW 2015-2016 (7/13) Limbajul de programare JavaScript
CLIW 2015-2016 (7/13) Limbajul de programare JavaScriptCLIW 2015-2016 (7/13) Limbajul de programare JavaScript
CLIW 2015-2016 (7/13) Limbajul de programare JavaScript
 
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de cazCLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
CLIW 2015-2016 (1/13) Interacțiune Web: concepte, context, studii de caz
 

Andere mochten auch

Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...Sabin Buraga
 
Suita de tehnologii HTML5
Suita de tehnologii HTML5Suita de tehnologii HTML5
Suita de tehnologii HTML5Sabin Buraga
 
Design (Web) responsiv
Design (Web) responsivDesign (Web) responsiv
Design (Web) responsivSabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...Sabin Buraga
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minuteSabin Buraga
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Sabin Buraga
 

Andere mochten auch (7)

Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #4): Design Web. Proi...
 
Suita de tehnologii HTML5
Suita de tehnologii HTML5Suita de tehnologii HTML5
Suita de tehnologii HTML5
 
HTML5? HTML5!
HTML5? HTML5!HTML5? HTML5!
HTML5? HTML5!
 
Design (Web) responsiv
Design (Web) responsivDesign (Web) responsiv
Design (Web) responsiv
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #5): Data Visualizati...
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minute
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
 

Ähnlich wie Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurselor Web

Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTSabin Buraga
 
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Sabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...Sabin Buraga
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Sabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebSabin Buraga
 
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de clientCLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de clientSabin Buraga
 
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului WebCLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului WebSabin Buraga
 
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...Sabin Buraga
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....Sabin Buraga
 
Web 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma RESTWeb 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma RESTSabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Sabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....Sabin Buraga
 
Sabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga
 
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5Sabin Buraga
 
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneWADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneSabin Buraga
 
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...Sabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...Sabin Buraga
 

Ähnlich wie Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurselor Web (20)

Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
 
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #2): Arhitectura navi...
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
 
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de clientCLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
CLIW 2017-2018 (12/12) Performanţa aplicaţiilor Web la nivel de client
 
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului WebCLIW 2014—2015 (2/12): Arhitectura navigatorului Web
CLIW 2014—2015 (2/12): Arhitectura navigatorului Web
 
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
 
Web 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma RESTWeb 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma REST
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #10): Ingineria dezvo...
 
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #12): Programare Web....
 
Sabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga: Participând la Web
Sabin Buraga: Participând la Web
 
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
 
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneWADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
 
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framew...
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #8): Programare în li...
 

Mehr von Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)Sabin Buraga
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)Sabin Buraga
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...Sabin Buraga
 

Mehr von Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
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 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
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 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
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 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
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 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
 

Dezvoltarea aplicaţiilor Web la nivel de client (cursul #6): Căutarea resurselor Web

  • 1. de la motoare de căutare și SEO la date structurate Dr. Sabin Buragawww.purl.org/net/busaco (re)găsirea resurselor Web
  • 2. Michael Osborne Dr. Sabin Buragawww.purl.org/net/busaco “A well-defined problem is half solved.”
  • 3. Dr. Sabin Buragawww.purl.org/net/busaco Cum prezentăm conținutul altor clienți – diferiți de cei umani?
  • 4. Dr. Sabin Buragawww.purl.org/net/busaco Am putea recurge la extragerea automată a datelor expuse pe Web?
  • 5. programe ce traversează automat Web-ul, cu scopul de a extrage date spiders, crawlers, Web bots Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Roboți
  • 9. Operarea în foc rapid (rapid-fire) trafic de rețea supraîncărcarea serverelor Webdenial of service Dr. Sabin Buragawww.purl.org/net/busaco roboți: pericole
  • 10. Actualizarea cu întârziere a bazelor de date ale motoarelor de căutare Dr. Sabin Buragawww.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 Buragawww.purl.org/net/busaco roboți: pericole
  • 12. Exploatarea (ne)controlată de către utilizatori atacuri “brute” Dr. Sabin Buragawww.purl.org/net/busaco roboți: pericole
  • 13. Intrarea în “găurile negre” Dr. Sabin Buragawww.purl.org/net/busaco roboți: pericole
  • 14. Accesarea unor date nerelevante Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco roboți: identificare
  • 19. Dr. Sabin Buragawww.purl.org/net/busaco 173.199.116.75 - - [11/Dec/2012:00:46:02 +0200] "GET /~web/2012/ HTTP/1.1" 404 193 "-" "Mozilla/5.0 (compatible; AhrefsBot/4.0; +http://ahrefs.com/robot/)" 180.76.5.101 - - [11/Dec/2012:06:50:09 +0200] "GET /~busaco/ HTTP/1.1" 200 1784 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" 98.137.206.250 - - [11/Dec/2012:11:08:25 +0200] "GET /~busaco/ HTTP/1.1" 200 1784 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)" 207.46.199.167 - - [11/Dec/2012:11:08:26 +0200] "GET ....jpg HTTP/1.1" 200 3394 "-" "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)" 66.249.75.44 - - [11/Dec/2012:11:12:26 +0200] "GET ….png HTTP/1.1" 304 - "-" "Googlebot-Image/1.0" 178.154.174.252 - - [11/Dec/2012:11:22:05 +0200] "GET … HTTP/1.1" 301 206 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)“ 66.249.75.22 - - [11/Dec/2012:11:30:47 +0200] "GET /~seminar/… HTTP/1.1" 200 683 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 66.249.75.44 - - [11/Dec/2012:11:29:51 +0200] "GET … HTTP/1.1" 200 1104 "-" "Mozilla/5.0 (iPhone; U; en-us) … Mobile/8B117 (compatible; Googlebot-Mobile/2.1)" 65.55.24.244 - - [11/Dec/2012:11:31:46 +0200] "GET /mw/index.php HTTP/1.1" 200 4408 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)“ 78.46.238.220 - - [11/Dec/2012:11:33:32 +0200] "GET /~cyp/test HTTP/1.1" 200 6 "-" "check_http/v1.4.15 (nagios-plugins 1.4.15)" 128.30.52.70 - - [11/Dec/2012:12:02:14 +0200] "GET /~busaco/ HTTP/1.1" 200 1784 "-" "W3C_Validator/1.3" cereri HTTP efectuate de diverși roboți Web (menționate în fișierul de jurnalizare Apache)
  • 20. Dr. Sabin Buragawww.purl.org/net/busaco Cum putem “instrui” roboții Web să nu viziteze anumite zone ale sitului?
  • 21. Dr. Sabin Buragawww.purl.org/net/busaco Orice robot trebuie să respecte standardul de excludere
  • 22. fișierul robots.txt detalii la www.robotstxt.org Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Orice robot trebuie să respecte standardul de excludere
  • 26. Dr. Sabin Buragawww.purl.org/net/busaco Ce activități realizează un motor de căutare?
  • 28. pe bază de indecși (crawling & indexing) Lycos – 1994 AltaVista – 1995 Dr. Sabin Buragawww.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 Buragawww.purl.org/net/busaco Tipuri de căutări – maniera tradițională:
  • 30. hibride indecși + taxonomiiportal Web Excite – 1994 Dr. Sabin Buragawww.purl.org/net/busaco Tipuri de căutări – maniera tradițională:
  • 31. pe baza legăturilor hipertext (hyperlink analysis) Google – 1996 Dr. Sabin Buragawww.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 Buragawww.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
  • 33. Dr. Sabin Buragawww.purl.org/net/busaco Un motor de căutare trebuie să satisfacă nevoia de informații a utilizatorului (user information-seeking)
  • 34. automat – via roboți Web manual – recurgând la experți umani hibrid Dr. Sabin Buragawww.purl.org/net/busaco Localizarea & indexarea resurselor se pot realiza:
  • 35. strategii: data/relation mining topic distillation meta-data search social search … Dr. Sabin Buragawww.purl.org/net/busaco Localizarea & indexarea resurselor
  • 36. scop căutarea oricărei resurse existente Dr. Sabin Buragawww.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 Buragawww.purl.org/net/busaco Caracteristici ale unui motor de căutare ideal
  • 38. disponibilitate actualizarea permanentă (orice modificare să fie indexată “instantaneu”) Dr. Sabin Buragawww.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 Buragawww.purl.org/net/busaco Caracteristici ale unui motor de căutare ideal
  • 40. precizie rezultatul conține doar documente relevante Dr. Sabin Buragawww.purl.org/net/busaco Caracteristici ale unui motor de căutare ideal
  • 41. ranking cele mai relevante documente sunt plasate primele Dr. Sabin Buragawww.purl.org/net/busaco Caracteristici ale unui motor de căutare ideal
  • 42. Dr. Sabin Buragawww.purl.org/net/busaco Care sunt principalele componente ale unui motor de căutare?
  • 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 Buragawww.purl.org/net/busaco Robot Web
  • 44. Dr. Sabin Buragawww.purl.org/net/busaco Diferențele dintre motoarele de căutare actuale sunt date de fiecare componentă în parte
  • 45. Dr. Sabin Buragawww.purl.org/net/busaco structura generică a unui motor de căutare (Chakrabarti, 2003)
  • 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 Buragawww.purl.org/net/busaco motoare: căutarea
  • 47. Bazată pe învățare data mining (de exemplu, reinforcement learning) detalii la master Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: căutarea
  • 50. Aspect de interes: rezoluția adreselor Web (nume de domeniiadrese IP) DNS caching, pre-fetching & resolution Dr. Sabin Buragawww.purl.org/net/busaco motoare: căutarea
  • 51. Aspect de interes: realizarea cererilor concurente Dr. Sabin Buragawww.purl.org/net/busaco motoare: căutarea
  • 52. Aspect de interes: extragerea legăturilor e.g., normalizarea URI-urilor: www.InfoIasi.Ro:80www.info.uaic.ro Dr. Sabin Buragawww.purl.org/net/busaco motoare: căutarea
  • 53. Aspect de interes: eliminarea adreselor deja vizitate evitarea “găurilor negre” Dr. Sabin Buragawww.purl.org/net/busaco motoare: căutarea
  • 54. Aspect de interes: monitorizarea accesărilor load monitoring & managing (evitarea supra-solicitării serverelor Web) Dr. Sabin Buragawww.purl.org/net/busaco motoare: căutarea
  • 55. Aspect de interes: strategii de revizitare/reîmprospătare a conținutului resurselor Web Dr. Sabin Buragawww.purl.org/net/busaco motoare: căutarea
  • 56. Dr. Sabin Buragawww.purl.org/net/busaco motoare: indexarea Necesitatea folosirii sistemelor de baze de date depozit distribuit de stocare (eventual, în cloud) optimizarea regăsirii
  • 57. Dr. Sabin Buraga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
  • 58. Dr. Sabin Buraga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)
  • 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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: indexarea
  • 63. Cererile sunt formulate via o interfață Web Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: interogarea
  • 67. Interogările din prisma utilizatorului: grad mare de subiectivitate e.g., “miserable failure” Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: interogarea
  • 70. Remarci: utilizatorii nu înțeleg “booleana” exemplu: “hotels located in Bucharest and Iasi” Dr. Sabin Buragawww.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 Buragawww.purl.org/net/busaco motoare: interogarea
  • 72. Remarci: apar confuzii: URI vs. text, lipsa spațiilor, vocabular etc. Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: interogarea
  • 75. Evaluarea cererii – schema generală: 1. 2. 3. 4. 5. 6. Analizarea interogării (tokenizing) Căutarea în indecșii termenilor Scanarea documentelor Evaluarea relevanței paginilor Eliminarea duplicatelor & sortarea Afișarea primelor N documente relevante (URI + alte informații) Dr. Sabin Buragawww.purl.org/net/busaco motoare: interogarea
  • 76. Conținutul fiecărui document extras este analizat și divizat în token-uri Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: interogarea
  • 79. Criterii vizând calculul relevanței: ranking bazat pe clasificare umană resurse clasificate de oameni Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: interogarea
  • 83. Page Rank (Google) evaluarea relevanței pe baza contextului de apariție Dr. Sabin Buragawww.purl.org/net/busaco motoare: interogarea
  • 84. Page Rank (Google) exploatarea relațiilor dintre diferite pagini Web Dr. Sabin Buragawww.purl.org/net/busaco motoare: interogarea
  • 85. Page Rank (Google) recurgerea la tehnici adaptive, euristice Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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,…
  • 94. Dr. Sabin Buragawww.purl.org/net/busaco 243 de API-uri (3 noiembrie 2013) privind căutarea resurselor Web: www.programmableweb.com/apis/directory/1?apicat=Search
  • 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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco motoare: afișarea rezultatelor
  • 98. K. Bodnar & J. Hopkins, 2011 Dr. Sabin Buraga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.”
  • 99. Dr. Sabin Buragawww.purl.org/net/busaco Cum putem proiecta mijloacele de căutare internă?
  • 100. oferirea de sugestii utilizatorului e.g., spelling suggestions, sinonime (car  automobile, truck,…) Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Motor de căutare internă (la nivel de sit)
  • 108. Dr. Sabin Buragawww.purl.org/net/busaco Cum trebuie scris codul HTML pentru a obține o relevanță bună a conținutului?
  • 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 Buragawww.purl.org/net/busaco SEO – Search Engine Optimization
  • 110. Structurarea conținutului Structurarea legăturilor cu alte pagini Dr. Sabin Buragawww.purl.org/net/busaco Structurarea codului-sursă a documentelor Web
  • 111. documentul trebuie să fie bine-formatat Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Structurarea conținutului
  • 119. numele fișierelor (imagini, stiluri,…) contează  human friendly URLs Dr. Sabin Buragawww.purl.org/net/busaco Structurarea conținutului
  • 120. obligatoriu, de inclus legături spre alte pagini (ale sitului ori ale altor situri) Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Structurarea legăturilor – SEO la nivel de sit
  • 123. de verificat și menținut structura hipertext! Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco seo: strategii
  • 127. Dr. Sabin Buragawww.purl.org/net/busaco seo: strategii black-hat page cloaking tehnică penalizată de Google: http://youtu.be/QHtnfOgp65Q
  • 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 Buragawww.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 Buragawww.purl.org/net/busaco seo: strategii
  • 130. “Estetica” URL-urilor evitarea numerelor de sesiune (SID) din URL uzual, roboții ignoră cookie-urile Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco de evitat
  • 137. Titluri identice pentru toate paginile unui sit Dr. Sabin Buragawww.purl.org/net/busaco de evitat
  • 138. Pagini de eroare care sunt oferite de server via codul de stare HTTP 200 Ok Dr. Sabin Buragawww.purl.org/net/busaco de evitat
  • 139. Redirecționări incorecte și/sau abuzive Dr. Sabin Buragawww.purl.org/net/busaco de evitat
  • 140. Ignorarea utilizatorilor cu nevoi speciale web accessibility http://webaim.org/ Dr. Sabin Buragawww.purl.org/net/busaco de evitat
  • 141. Abuzul de transferuri asincrone prin Ajax Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Invisible Web (Deep Web)
  • 148. Dr. Sabin Buragawww.purl.org/net/busaco Cum am putea descrie conținutul resurselor Web astfel încât să poată fi procesat “inteligent”?
  • 149. Dr. Sabin Buragawww.purl.org/net/busaco Idee: specificarea unor meta-date (date privind datele) direct în cadrul documentelor HTML
  • 150. microformate scheme de microdate HTML5 RDFa la master Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Microformate
  • 153. reutilizarea unor vocabulare de termeni, disponibile liber și standardizate Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco rel-tag
  • 159. 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. Sabin Buragawww.purl.org/net/busaco XFN (XHTML Friend Network)
  • 160. Dr. Sabin Buragawww.purl.org/net/busaco recurgerea la XFN în cadrul sistemului WordPress
  • 161. desemnează evenimente & orare vezi formatul iCalendar – RFC 2445 Dr. Sabin Buragawww.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>&mdash; <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 Buragawww.purl.org/net/busaco hCalendar
  • 163. informații de contact despre persoane, organizații etc. în conformitate cu formatul vCard – RFC 2426 Dr. Sabin Buragawww.purl.org/net/busaco hCard
  • 164. Dr. Sabin Buragawww.purl.org/net/busaco specificarea informațiilor despre o persoană via hCard
  • 165. modelează informații despre un CV folosit în conjuncție cu hCard și hCalendar Dr. Sabin Buragawww.purl.org/net/busaco hResume
  • 166. desemnează opinii emise despre „ceva” (produs, locație, eveniment, persoană,…) Dr. Sabin Buragawww.purl.org/net/busaco hReview
  • 167. Dr. Sabin Buraga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>
  • 169. simplifică maniera de specificare (2012) http://microformats.org/wiki/microformats2 Dr. Sabin Buragawww.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 Buragawww.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 Buraga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>
  • 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 Buragawww.purl.org/net/busaco Microformate 2
  • 173. Dr. Sabin Buragawww.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>
  • 174. Apple Google Intel Last.fm Six Apart Yahoo! XWiki și multe altele detalii la http://microformats.org/wiki/implementors Dr. Sabin Buragawww.purl.org/net/busaco microformate: utilizări
  • 175. Dr. Sabin Buragawww.purl.org/net/busaco microformate: utilizări detectarea și exportul de microformate cu extensia Operator pentru Firefox
  • 176. alternativă la microformate specificație W3C în stadiu de ciornă (octombrie 2012) www.w3.org/TR/microdata/ Dr. Sabin Buragawww.purl.org/net/busaco Microdata HTML 5
  • 177. posibilitatea de a specifica perechi de proprietăți (nume, valoare) “scufundate” în HTML Dr. Sabin Buragawww.purl.org/net/busaco Microdata HTML 5
  • 178. grupurile de perechi de proprietăți nume—valoare sunt denumite items Dr. Sabin Buragawww.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 Buragawww.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 Buragawww.purl.org/net/busaco Microdata HTML 5
  • 181. ca tipuri de date se pot folosi microformatele Dr. Sabin Buragawww.purl.org/net/busaco Microdata HTML 5
  • 182. Dr. Sabin Buragawww.purl.org/net/busaco <section itemscope itemtype="http://microformats.org/profile/hcard"> <h1 itemprop="fn"> <span itemprop="n" itemscope> <span itemprop="given-name">Tuxy</span> <span itemprop="family-name">Pinguinescu</span> </span> </h1> <img itemprop="photo" alt="Portretul lui Tux" src="tux.jpg"> <p itemprop="org" itemscope> <span itemprop="organization-name">Linux</span></p> <h2>Detalii & contact:</h2> <ul> <li><a itemprop="url" href="http://en.wikipedia.org/wiki/Tux"> Wikipedia</a></li> <li itemprop="email"><a href="mailto:tux@penguin.org"> tux AT penguin.org</a></li> </ul> <address><span itemprop="adr" itemscope> <span itemprop="street-address">Penguins Blv., 33</span> <span itemprop="locality">Penguin City</span>, <span itemprop="postal-code">740033</span> </span> </address> </section>
  • 183. Dr. Sabin Buraga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?
  • 184. 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. Sabin Buragawww.purl.org/net/busaco schema.org
  • 185. Dr. Sabin Buragawww.purl.org/net/busaco a se studia și http://www.w3.org/wiki/WebSchemas
  • 186. Dr. Sabin Buragawww.purl.org/net/busaco <body itemscope itemtype="http://schema.org/WebPage"> <header> <h1 itemprop="name"> <a href="index.html" title="…">Dezvoltarea aplicațiilor Web</a> </h1> <p class="slogan" itemprop="description">prezentările aferente cursului</p> </header> <article> <!-- conținut propriu-zis --> specificarea faptului că Sabin Buraga </article> este o persoană <footer> <h6> <span itemscope itemtype="http://schema.org/Person"> <a href="http://www.purl.org/net/busaco" title="…" itemprop="url" accesskey="S"> <span itemprop="name">Sabin Buraga</span> </a> </span> </h6> </footer> </body> recurgerea la elemente structurale și scheme de microdate HTML5
  • 187. <!-- 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↔microformate adaptare după Marco Lisci & Luisa Scarlata (2011) Dr. Sabin Buraga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>
  • 188. Dr. Sabin Buragawww.purl.org/net/busaco Alte resurse de interes, inclusiv instrumente de validare și conversie, sunt oferite de situl Web http://getschema.org/
  • 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 Buragawww.purl.org/net/busaco Microformatele și microdatele HTML5 sunt indexate de motoarele de căutare
  • 190. Dr. Sabin Buragawww.purl.org/net/busaco extragerea/verificarea de date structurate via Structured Data Testing Tool http://www.google.com/webmasters/tools/richsnippets
  • 191. Dr. Sabin Buragawww.purl.org/net/busaco vizualizarea datelor structurate cu SmartWebBrowser proiect de licență realizat de Ionuț-Cosmin Atomei (absolvent FII, 2013)
  • 192. Dr. Sabin Buragawww.purl.org/net/busaco extragere & export de microformate, microdate HTML5 și RDFa cu extensia POSHex – Tiberiu Pasat (2013) http://students.info.uaic.ro/~constantin.pasat/wad/
  • 193. Cum ar putea fi detectate și penalizate siturile Web care „trișează” în ceea ce privește tehnicile SEO? Dr. Sabin Buragawww.purl.org/net/busaco discuție (pentru acasă)
  • 194. Dr. Sabin Buragawww.purl.org/net/busaco episodul viitor: proiectarea siturilor Web sociale