Răspuns scurt: dashboard-ul tehnic trebuie să măsoare status/canonical, critical-content parity, crawlable links, hydration errors, soft 404, third-party widget failures, booking-path integrity, filter/indexability rules, bot-policy drift și regression coverage. Google documentează crawling, rendering și indexing pentru JavaScript, iar OpenAI documentează crawlere cu roluri distincte. Niciuna dintre aceste surse nu definește un scor universal de AI crawlability.
Baseline
Alege URL-uri reprezentative pentru:
- property;
- room;
- destination;
- offer;
- policy;
- booking entry;
- editorial guide.
Salvează HTML și rendered DOM.
Indicatorul 1: status/canonical correctness
Numerator: URL-uri cu status și canonical conform intenției. Denominator: URL-uri testate.
Indicatorul 2: critical-content parity
Compară informația critică din HTML și starea rendered: nume, locație, tip cameră, facilități, policies și booking path.
Indicatorul 3: crawlable-link coverage
Măsoară câte trasee esențiale folosesc linkuri reale și discoverable.
Indicatorul 4: hydration-error rate
Numerator: pagini cu erori materiale de hydration. Denominator: pagini testate.
Nu include warnings cosmetice fără impact.
Indicatorul 5: soft-404 rate
Rute inexistente care răspund 200 sau pagini retrase fără semnal corect.
Indicatorul 6: third-party failure resilience
Testează maps, reviews, booking widgets și chat în staging. Măsoară dacă informația critică rămâne.
Indicatorul 7: booking-path integrity
Poate utilizatorul ajunge de la property page la booking flow printr-un URL stabil? Nu măsura conversia aici; măsori integritatea traseului.
Indicatorul 8: filter/indexability compliance
Verifică dacă filtrele urmează regulile definite pentru URL, canonical și indexability.
Indicatorul 9: bot-policy drift
Păstrează snapshot al robots rules și al politicilor intenționate pentru Googlebot și crawlere AI relevante.
Allowed nu înseamnă inclusion garantată.
Indicatorul 10: regression coverage
Procentul template-urilor reprezentative acoperite de testele automate și manuale.
Observation window
Metricile tehnice pot fi evaluate la fiecare release. Search/AI observations trebuie urmărite separat, pe ferestre mai lungi.
Denominatorii
Fiecare indicator are propria populație: URL-uri, linkuri, template-uri, filters sau widgets. Nu agrega fără ponderi și scop clar.
False-attribution risks
- CMS migration;
- booking-engine change;
- CDN/cache changes;
- frontend release;
- content update;
- seasonality;
- property onboarding/offboarding;
- Search/AI platform updates.
Dashboard layout
Separă patru zone:
- HTTP/canonical;
- rendering/content parity;
- navigation/booking;
- external bot/source observations.
Alerting
P0: critical content dispare, wrong status, privacy leak, booking path rupt. P1: canonical/filter errors. P2: widget failure și hydration issues fără pierdere critică. P3: warnings cosmetice.
Search observations
Poți adăuga indexation și Search performance, dar nu le folosi pentru a masca un FAIL tehnic.
AI observations
Poți monitoriza source citations și factual accuracy pe property queries. Acestea sunt outcomes externe.
Cum tratezi release-urile
Păstrează release ID și candidate hash în dashboard. Un PASS trebuie legat de versiunea testată.
Cum tratezi datele volatile
Price și availability se pot schimba rapid. Testează prezența și consistența sursei, nu o valoare fixă ca adevăr permanent.
Acceptance criteria
Dashboard-ul este auditabil când:
- URL sample este versionat;
- critical content este definit;
- denominatorii sunt expliciți;
- release identity este păstrată;
- alerts au severity;
- raw snapshots sunt disponibile;
- bot policies sunt separate;
- privacy boundary este verificată;
- external outcomes sunt distincte;
- un reviewer poate reproduce fiecare FAIL.
Cum tratezi variația pe device și rețea
Un dashboard care testează doar desktop pe conexiune rapidă poate rata hydration timeouts sau third-party failures pe mobil. Păstrează un set limitat de profile de device și network condition și rulează aceleași template-uri. Nu confunda însă performance benchmarking cu crawlability; raportează cele două straturi separat.
Cum monitorizezi booking-engine drift
Booking engine-ul poate fi livrat de alt vendor și se poate schimba independent de site. Păstrează contract tests pentru URL-ul de intrare, parametrii critici și fallback. Dacă vendorul schimbă flow-ul, dashboard-ul trebuie să semnaleze degradarea înainte ca echipa să o descopere din conversii.
Cum tratezi proprietățile retrase
Când un hotel sau o ofertă este retrasă, verifică status, redirect, internal links și recomandările automate. Un 200 cu mesaj generic poate produce soft 404, iar un redirect spre altă proprietate fără context poate fi înșelător.
Cum păstrezi evidence-ul
Pentru fiecare FAIL salvează snapshot HTML, rendered diff, timestamp și release ID. Acest evidence permite unui engineer să reproducă problema și împiedică un PASS ulterior să șteargă contextul defectului inițial.
Cum tratezi proprietățile cu template diferit
Unele hoteluri pot folosi template premium, microsite sau booking engine separat. Nu agrega parity metrics până nu marchezi template family. Un FAIL izolat pe un microsite nu înseamnă că întreg portofoliul are aceeași problemă, dar poate fi critic pentru proprietatea respectivă.
Criteriu de oprire
Dashboard-ul intră în monitorizare normală când template-urile prioritare au baseline, regression coverage este stabilă și P0/P1 findings sunt închise. Orice schimbare majoră de CMS, booking engine sau frontend redeschide auditul pentru suprafețele afectate.
Claim ledger
- FACT/EVIDENCE: Google documentează crawling, rendering și indexing pentru JavaScript.
- FACT/EVIDENCE: Google recomandă linkuri crawlable și tratează dynamic rendering ca workaround.
- FACT/EVIDENCE: OpenAI documentează crawlere cu roluri distincte.
- PRACTITIONER GUIDANCE: travel dashboards trebuie să lege metricile de template și release.
- NOT PROVEN: un scor universal de AI crawlability sau o garanție de citare.
Concluzie
Un dashboard bun nu spune doar „site-ul este 92% AI-ready”. Spune ce template a eșuat, ce informație lipsește și ce release a introdus problema. În travel & hospitality, această granularitate este mai utilă decât orice scor compozit.
Surse revizuite
- Google Search Central, JavaScript SEO basics: https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
- Google Search Central, Fix JavaScript problems: https://developers.google.com/search/docs/crawling-indexing/javascript/fix-search-javascript
- Google Search Central, Dynamic rendering: https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering
- Google Search Central, link best practices: https://developers.google.com/search/docs/crawling-indexing/links-crawlable
- OpenAI, Overview of OpenAI Crawlers: https://developers.openai.com/api/docs/bots
