FORENZIČKI QA AUDIT IZVEŠTAJ

arrentacar.rs — Web QA Audit

AR Rent a Car Beograd | Automatizovano + statičko testiranje
Status audita
⚠ AKCIJA POTREBNA
URL: https://www.arrentacar.rs/ Datum: 1. април 2026. Metod: HTTP GET, DOM inspekcija, CSS analiza, Puppeteer screenshots Browser: Chromium 141 (headless) Screenshotovi: 27 snimljenih Test cases: 28
28
Ukupno
18
✓ Pass
2
✗ Fail
8
⚠ Warning
Metodološka napomena: Svaka tvrdnja u ovom izveštaju potkrepljena je ili HTTP response statusom, direktnim DOM citatom, CSS analizom ili Puppeteer screenshotom. Stavke koje nisu proverljive sa frontenda eksplicitno su označene. Booking flow nije izvršen do kraja — zahteva unos realnih ličnih podataka. JavaScript-zavisno ponašanje (modal animacije, form validacija, dinamički sadržaj) nije provereno bez JS izvršenja osim gde je eksplicitno navedeno.
🔴 FAIL — Potvrđeni problemi 2
TC-SEO02FAILMEDIUM J — SEO
H1 struktura semantički netačna na 4 od 5 proverenih stranica
Šta je testiranoH1 tagovi na: /, /sr/vozni-park/, /sr/lokacije/, /sr/blog-list/, /sr/page/uslovi-najma/
Metod testiranjaHTTP GET + regex

(.*?)

na svakoj stranici
OčekivanoSvaka stranica ima tačno jedan H1 koji semantički opisuje tu stranicu
Stvarno ponašanje
  • / (Homepage): H1 = "Rent a car Beograd, odlične cene..." stilizovan kao font-size:16px u info-bar div-u — semantički H1 postoji ali vizuelno izgleda kao obaveštenje
  • /sr/vozni-park/: 0× H1 — NEMA H1 taga. Prva heading je H2 "Pogledajte našu sjajnu ponudu vozila i rezervišite"
  • /sr/lokacije/: H1 = "Kontakt Forma" — H1 opisuje kontakt formu pri dnu stranice, ne stranicu o lokacijama
  • /sr/blog-list/: H1 = "Rezerviši vozilo odmah iz ponude rent a car aerodrom Beograd" — ovo je tekst booking CTA forme, ne naslov blog stranice
  • /sr/page/uslovi-najma/: H1 = "Uslovi najma" — ISPRAVNO ✓
DokazH1 sadržaj direktno ekstrahovan HTTP GET + regex. Svaki rezultat naveden doslovno. Screenshotovi sa annotacijama.
Business rizik
Slabija relevantnost stranica za ciljane ključne reči u organskoj Google pretrazi.
User rizik
Korisnici screen reader-a dobijaju pogrešnu informaciju o sadržaju stranice — accessibility problem.
Verovatnoća reprodukcije
VISOK — reproducibilno pri svakom HTTP GET zahtevu
Preporučena akcija
Vozni park: dodati

Vozni park — Iznajmljivanje vozila

. Lokacije: promeniti H1 "Kontakt Forma" u "Naše lokacije". Blog: booking CTA formu prebaciti iz H1 u H2 ili paragraph. Homepage: razmotriti da li info-bar H1 treba ostati ili ga zameniti semantički ispravnim.
Vozni park — nema H1 taga (annotiran)
Vozni park — nema H1 taga (annotiran)
Blog — H1 je booking CTA tekst (annotiran)
Blog — H1 je booking CTA tekst (annotiran)
Lokacije — H1 =
Lokacije — H1 = "Kontakt Forma" (annotiran)
TC-A11Y02FAILMEDIUM I — ACCESSIBILITY
maximum-scale=1 u viewport meta tagu blokira zoom na mobilnim uređajima
Šta je testiranometa[name=viewport] content atribut u
Metod testiranjaDOM inspekcija — regex pretraga svih viewport meta tagova u HTML
OčekivanoJedan viewport meta tag, bez maximum-scale=1 ili user-scalable=no
Stvarno ponašanjeU postoje DVA viewport meta taga: Tag 1: content="width=device-width, initial-scale=1" ✓ Tag 2: content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" ✗ Browser uzima poslednji deklarisan tag → maximum-scale=1 aktivan.
DokazOba taga direktno citirani iz HTML izvora. Potvrđeno HTTP GET na https://www.arrentacar.rs/
Business rizik
Accessibility audit failovi. Google Page Experience penalizacija.
User rizik
Korisnici sa oštećenim vidom ne mogu uvećati tekst na mobilnim uređajima. Direktno kršenje WCAG 1.4.4 (Resize Text, Level AA).
Verovatnoća reprodukcije
VISOK — reproducibilno na svakom mobilnom uređaju
Preporučena akcija
Ukloniti drugi (dupli) viewport meta tag koji sadrži maximum-scale=1. Zadržati samo:
Oba viewport meta taga — annotiran dokaz
Oba viewport meta taga — annotiran dokaz
🟡 WARNING — Potencijalni problemi 8
TC-UX01WARNINGHIGH E — KLAJMOVI
"Dostupni 24 sata" na homepage-u vs. radno vreme 07-24h u Uslovima najma
Šta je testiranoTekst na https://www.arrentacar.rs/ vs. tekst na /sr/page/uslovi-najma/
Metod testiranjaHTTP GET obe stranice, regex ekstrakcija relevantnih pasusa
Stvarno stanjeHomepage: "Naša poslovnica nalazi se na aerodromu 'Nikola Tesla', gde smo Vam dostupni 24 sata."
Uslovi najma: "RADNO VREME poslovnica...je od 07-24h. Preuzimanje...koje je u periodu između 00:31 i 01:00h...i od 03:45 do 06:30 ujutru se doplaćuje 15 evra plus pdv."
DokazCitati direktno iz HTML izvora obe stranice. Screenshotovi sa highlighted tekstom.
Zašto nije FAILNije dokazano da korisnici bukvalno dolaze u 04:00 i bivaju odbijeni. Content diskrepancija je potvrđena, ali operativni uticaj nije funkcionalno proverljiv sa frontenda.
Šta bi potvrdilo FAILOperativna provera: fizički dolazak ili poziv u 04:00. Ili: eksplicitna reklamacija korisnika dokumentovana.
Homepage —
Homepage — "24 sata" highlighted
Uslovi najma —
Uslovi najma — "07-24h" highlighted
TC-UX02WARNINGHIGH E — KLAJMOVI
"Vozite u inostranstvu" na homepage-u vs. taksa 30€ + obavezna saglasnost u Uslovima
Šta je testiranoTekst na / vs. /sr/page/uslovi-najma/
Metod testiranjaHTTP GET, regex ekstrakcija
Stvarno stanjeHomepage: "Vozila koja iznajmite kod nas možete voziti kako u zemlji, tako i u inostranstvu"
Uslovi najma: "NAPUSTANJE SRBIJE sa našim automobilom je moguće uz našu saglasnost i plaćanje takse od 30 eura. Ukoliko želite da putujete Van granica naše države to nam ranije naglasite jer ćemo Vam u suprotno staviti pečat na ovlašćenje za vozilo u kojem Vam se ta opcija zabranjuje."
DokazOba citata direktno iz HTML izvora. Screenshotovi sa highlighted tekstom.
Zašto nije FAILFunkcionalna provera (da li korisnik zaista biva blokiran ili ne) zahteva operativni test. Diskrepancija između marketing copy-a i uslova je dokazana kao content nalaz.
Šta bi potvrdilo FAILPokušaj iznajmljivanja sa eksplicitnom namerom vožnje u inostranstvo bez najave — praćenje šta se desi pri preuzimanju.
Homepage —
Homepage — "inostranstvu" highlighted
Uslovi najma — taksa 30 eura highlighted
Uslovi najma — taksa 30 eura highlighted
TC-UX03WARNINGHIGH E — KLAJMOVI
Dupli depozit za mlađe od 25g (min 700€) vidljiv samo u Uslovima najma, ne na listingu
Šta je testiranoListing /sr/vozni-park/ i /sr/page/uslovi-najma/ — prisustvo informacije o ograničenju za mlađe od 25g
Metod testiranjaHTTP GET, regex pretraga za "25 godina" i "700"
Stvarno stanjeUslovi najma: "Osobama mlađim od 25 godina depozit se udvostručava, a minimalno je 700€"
Listing vozila: prikazuje bazni depozit (350€–1500€+), NIGDE nema napomene o dupljanju depozita za mlađe od 25g
DokazCitat direktno iz Uslova najma. Screenshotovi listinga i Uslova.
Zašto nije FAILUslovi najma postoje i dostupni su korisnicima na sajtu. Nije neobično da detaljna ograničenja budu samo u Uslovima. Nije dokazano da korisnik nije mogao naći tu informaciju.
Šta bi potvrdilo FAILRegulator ili sudska praksa koja bi definisala gde ovo ograničenje mora biti istaknuto. Ili: korisnik koji je bio iznenađen i to dokumentovao.
Uslovi najma — dupli depozit za <25g highlighted
Uslovi najma — dupli depozit za <25g highlighted
Listing — nema napomene o ograničenju (annotiran)
Listing — nema napomene o ograničenju (annotiran)
TC-D04WARNINGMEDIUM D — KATALOG VOZILA
URL slug sadrži "2023" za vozilo koje je 2025-2026 godišta
Šta je testiranoURL /sr/iznajmljivanje-vozila/kia-sportage-automatik-2023/95/ vs. H1 i title na toj stranici
Metod testiranjaHTTP GET URL-a, regex ekstrakcija H1 i title
Stvarno stanjeURL slug: /kia-sportage-automatik-2023/
H1 na stranici: "Iznajmljivanje vozila Kia Sportage Automatik 2025 - 2026"
Title: "Iznajmljivanje vozila - Kia Sportage Automatik 2025 - 2026"
DokazHTTP 200 potvrđen. H1 i title direktno iz DOM-a. Screenshot.
Zašto nije FAILStranica funkcionalno radi (HTTP 200). Sadržaj je tačan. Problem je samo u URL slug-u.
Šta bi potvrdilo FAILNije primenljivo — ostaje WARNING jer je SEO propust, ne funkcionalni bug.
URL
URL "2023" vs. H1 "2025-2026" (annotiran)
TC-SEO01WARNINGMEDIUM J — SEO
Canonical tag nedostaje na svim stranicama; hreflang nedostaje za SR/EN/DE verzije
Šta je testiranolink[rel=canonical] i link[rel=alternate][hreflang] na /, /sr/vozni-park/, /en/
Metod testiranjaHTTP GET + regex pretraga sekcije
Stvarno stanjeCanonical: NEMA ni na jednoj od 3 proverene stranice
Hreflang: NEMA ni jednog taga na sajtu koji ima 3 jezičke verzije (SR, EN, DE)
OG image: /assets/images/logo.svg (logo, nije preporučena hero slika 1200×630)
rel=publisher: vodi na plus.google.com (servis ugašen apr. 2019.)
Schema.org sameAs: naveden samo Facebook, nedostaju Instagram i TikTok koji realno postoje na sajtu
DokazRegex pretraga vrati prazan rezultat za canonical i hreflang — dokaz odsustva. Proverene stranice: /, /sr/vozni-park/, /en/. rel=publisher tag direktno citiran iz DOM-a.
Zašto nije FAILSajt funkcionalno radi. Canonical i hreflang su SEO best practice, ne funkcionalni zahtev.
Šta bi potvrdilo FAILNije primenljivo — ostaje WARNING.
TC-UX04WARNINGLOW H — UX
Facebook ikona u headeru CSS-om sakrivena; href="#" (nefunkcionalna)
Šta je testirano.mobile-top-panel__fixed .social-list u DOM-u i CSS display pravila
Metod testiranjaDOM inspekcija + HTTP GET main-style.css?1.3 + CSS analiza
Stvarno stanjeDOM:
Kontejner: .mobile-top-panel__fixed .social-list
CSS (main-style.css?1.3): .mobile-top-panel__fixed .social-list { display:none } — poslednje pravilo, pobjeđuje
Vizuelni rezultat: potvrđeno screenshotom korisnika — ikona NIJE vidljiva
href="#": čak i ako bi bila vidljiva, ne vodi na FB profil
Footer: Instagram (https://www.instagram.com/ar.rent.a.car/) i TikTok (https://www.tiktok.com/@ar.rent.a.car) funkcionalni
Schema.org sameAs: https://www.facebook.com/arrentacarbeograd naveden ali ne linkovan
DokazDOM element citiran doslovno. CSS pravilo citiran doslovno iz main-style.css?1.3. Screenshot korisnika kao vizuelna potvrda.
Zašto nije FAILKorisnik ne može kliknuti na element koji ne vidi — direktna šteta je minimalna. CSS display:none može biti namerna layout odluka.
Šta bi potvrdilo FAILPoslovni zahtev da FB link mora biti vidljiv. Ili: CSS promena koja bi prikazala ikonu, pa bi klik na href="#" bio dokaziv UX fail.
Facebook element — force-prikazan sa CSS dokazom
Facebook element — force-prikazan sa CSS dokazom
TC-B03WARNINGMEDIUM B — NAVIGACIJA / J — SEO
Hreflang tagovi nedostaju za SR/EN/DE jezičke verzije
Šta je testiranolink[rel=alternate][hreflang] na /, /en/, /de/
Metod testiranjaHTTP GET + DOM inspekcija
Stvarno stanjeNema ni jednog hreflang taga na sajtu. Jezičke verzije postoje i rade (HTTP 200), ali nisu međusobno povezane hreflang markup-om.
DokazRegex pretraga vrati prazan niz — potvrda odsustva.
Zašto nije FAILStranice rade. Hreflang je SEO preporuka, ne funkcionalni zahtev.
Šta bi potvrdilo FAILNije primenljivo.
EN verzija sajta — radi ali nema hreflang
EN verzija sajta — radi ali nema hreflang
TC-K01WARNINGLOW K — TEHNIČKI
Dupli GTM container-i i dead Google+ rel=publisher link
Šta je testiranoGTM script tagovi i rel=publisher link u
Metod testiranjaDOM inspekcija
Stvarno stanjeDva GTM container ID-a aktivna: GTM-W32Z8XM i GTM-K2F34RS
rel=publisher: — Google+ ugašen apr. 2019.
DokazOba GTM ID-a direktno iz DOM-a. rel=publisher tag citiran doslovno.
Zašto nije FAILDupli GTM može biti namerno (različite okruženja). Dead Google+ link ne uzrokuje vidljivi error korisniku.
Šta bi potvrdilo FAILPristup GTM interfejsu koji bi pokazao duplo tagovanje istih eventova.
📋 Verifikacija marketing klajmova 8
Napomena: "POTVRĐENO — content claim" znači da je tekst pronađen u DOM-u. Funkcionalna verifikacija (da li se operativno zaista primenjuje) nije moguća sa frontenda bez izvršene rezervacije ili operativnog testa.
IDKlajmSource URLEvidence type Status verifikacijeConfidenceNapomene / ograničenja
CLAIM-01 Plaćanje se vrši prilikom preuzimanja vozila / DOM tekst POTVRĐENO — content claim VISOK Eksplicitno navedeno na homepage-u. Funkcionalna verifikacija (da li se zaista ne naplaćuje unapred) nije moguća bez izvršene rezervacije.
CLAIM-02 Besplatno otkazivanje i prepravke datuma / DOM tekst POTVRĐENO — content claim VISOK Tačan citat: "Prepravke datuma, kao i otkazivanje rezervacija su besplatni". Funkcionalna verifikacija nije moguća sa frontenda.
CLAIM-03 Dostupni 24 sata na aerodromu / DOM tekst ⚠ DISKREPANCIJA POTVRĐENA VISOK — oba citata verifikovana Homepage: "dostupni 24 sata". Uslovi najma: radno vreme 07-24h + naplata van radnog vremena. Vidi TC-UX01.
CLAIM-04 Mogućnost vožnje u inostranstvu / DOM tekst ⚠ NEPOTPUNO — bez uslova VISOK — oba citata verifikovana Homepage prikazuje kao neuslovljenu mogućnost. Uslovi: taksa 30€ + obavezna prethodna saglasnost + pečat na ovlašćenju. Vidi TC-UX02.
CLAIM-05 Depozit od 350€ minimalno Listing vozila + /sr/page/uslovi-najma/ DOM tekst POTVRĐENO VISOK Konzistentno između listinga i Uslova najma. Napomena: za mlađe od 25g minimum je 700€ — vidi TC-UX03.
CLAIM-06 Dupli depozit za mlađe od 25g (min 700€) /sr/page/uslovi-najma/ DOM tekst POTVRĐENO u Uslovima, NIJE ISTAKNUTO na listingu VISOK Citat: "Osobama mlađim od 25 godina depozit se udvostručava, a minimalno je 700€". Na listing stranicama ova informacija nije prikazana.
CLAIM-07 Facebook social link funkcionalan Header navigacija DOM + CSS analiza ⚠ ELEMENT POSTOJI, CSS display:none, href="#" VISOK — DOM i CSS verifikovani Element u DOM-u: postoji. Vidljiv korisniku: NE (display:none). Klikabilan: NE (href="#"). Instagram i TikTok u footeru rade ispravno.
CLAIM-08 Bez kreditne kartice / gotovinska plaćanja N/A N/A NIJE PRONAĐENO na frontendu N/A Ovaj klajm nije eksplicitno nađen. Uslovi najma definišu: gotovina + VISA, MASTER, AMEX. Plaćanje u dinarima po kursu Intesa banke.
✅ PASS — Potvrđeno ispravno 18
TC-A01PASS A — SMOKE
Homepage HTTP 200 OK

GET https://www.arrentacar.rs/ → 200 OK, body ~120KB HTML

Homepage desktop 1440px
Homepage desktop 1440px
TC-A02PASS A — SMOKE
Kritični elementi u DOM-u (logo, nav, CTA, hero)

Logo img, ul.menu-navigation__list, a[data-remodal-target="modal"], hero img — svi prisutni u statičkom HTML-u

Homepage — kritični elementi vidljivi
Homepage — kritični elementi vidljivi
TC-A03PASS A — SMOKE
HTTP 200 za svih 8 ključnih stranica

/, /sr/vozni-park/, /sr/page/uslovi-najma/, /sr/page/dodaci/, /sr/lokacije/, /sr/blog-list/, /en/, /de/ — sve HTTP 200

TC-B01PASS B — NAVIGACIJA
Navigacioni linkovi vode na ispravne URL-ove

Svih 5 linkova u nav-u imaju ispravne href-ove

Navigacija desktop
Navigacija desktop
TC-B02PASS B — NAVIGACIJA
Logo link vodi na homepage (/)
TC-B04PASS B — NAVIGACIJA
Kontakt linkovi konzistentni (tel, email, Viber, WhatsApp)

tel:+381606911111, mailto:reservations@arrentacar.rs, viber, wa.me — svi isti broj

Footer sa kontakt informacijama
Footer sa kontakt informacijama
TC-B05PASS B — NAVIGACIJA
Broken link check — 10 ključnih URL-ova, svi HTTP 200

Uključujući detalj stranice vozila i asset fajlove

TC-C01PASS C — REZERVACIJA
Rezerviši CTA element postoji u DOM-u

a[data-remodal-target="modal"] prisutan u navigaciji i hero formi

Rezerviši modal otvoren
Rezerviši modal otvoren
TC-C02PASS C — REZERVACIJA
Kartice vozila imaju Rezerviši dugmad sa data atributima

data-carname i data-idcar atributi prisutni na svakom vozilu

Listing — kartice vozila sa Rezerviši dugmadima
Listing — kartice vozila sa Rezerviši dugmadima
TC-D01PASS D — KATALOG
Listing vozila sadrži 50+ elemenata

50+ div.gallery__item na /sr/vozni-park/

Vozni park listing
Vozni park listing
TC-D02PASS D — KATALOG
Kartice vozila imaju naziv, cenu, depozit, sliku, link

Primjeri: Ford Kuga 44€/dan, Depozit 700€ ✓ | Fiat Panda 22€/dan, 350€ ✓

Kartice vozila
Kartice vozila
TC-D03PASS D — KATALOG
Detalj stranice vozila postoje (HTTP 200, H1 prisutan)

3 proverene detalj stranice — sve HTTP 200, H1 prisutan

Detalj vozila — Ford Kuga
Detalj vozila — Ford Kuga
TC-D05PASS D — KATALOG
Slike vozila imaju src atribute (lazy load korišćen)

loading="lazy" prisutan na svim slikama vozila

Slike vozila na listingu
Slike vozila na listingu
TC-SEO03PASS J — SEO
Sajt je indexabilan — robots: index,follow

meta robots="index, follow" | googlebot="noodp" | 2× Google Site Verification | Schema.org ProfessionalService ✓

TC-A11Y01PASS I — ACCESSIBILITY
Slike imaju alt atribute

Svi provereni img elementi imaju alt. 3 praznih alt za dekorativne slike — ispravno.

TC-R01PASS G — RESPONSIVE
Hamburger meni element prisutan za mobile

button.navbar-toggle postoji u HTML-u

Mobile 390px — hamburger meni otvoren
Mobile 390px — hamburger meni otvoren
TC-R03PASS G — RESPONSIVE
Footer sadrži kontakt info na svim viewport-ima

tel, email, copyright vidljivi u footer HTML-u

Footer desktop
Footer desktop
TC-C03PASS C — REZERVACIJA
Booking forma postoji u DOM-u

HTML forma #book-form postoji. Dinamički deo (Remodal modal polja) zahteva JS — nije provereno.

Modal otvoren JS-om
Modal otvoren JS-om
📷 Screenshot evidencija — svi snimci (27)

Klikni na thumbnail za puni prikaz

🎯 Preporuke po prioritetu
P1 — KRITIČNO
  • TC-A11Y02: Ukloniti dupli viewport meta tag. Zadržati samo
  • TC-UX01: Uskladiti marketing tekst "dostupni 24 sata" sa stvarnim radnim vremenom (07-24h) i politikom naplate van radnog vremena
  • TC-UX02: Istaknuti uslov za inostranstvo (taksa 30€ + obavezna prethodna saglasnost) u marketing copy-u na homepage-u
  • TC-UX03: Dodati jasno upozorenje o dupljanju depozita za mlađe od 25g na listing i detalj stranicama vozila
P2 — VISOKO
  • TC-SEO02: Dodati semantički ispravne H1 tagove — Vozni park (dodati H1), Lokacije (promeniti "Kontakt Forma"), Blog (ukloniti booking CTA iz H1)
  • TC-SEO01: Dodati canonical tagove na sve stranice
  • TC-SEO01/B03: Implementirati hreflang tagove za SR/EN/DE jezičke verzije
P3 — SREDNJE
  • TC-D04: Ažurirati URL slug za Kia Sportage (/kia-sportage-automatik-2023/ → /kia-sportage-automatik-2025/)
  • TC-SEO01: Ažurirati OG image sa logo.svg na hero sliku (1200×630px)
  • TC-SEO01: Ukloniti rel=publisher Google+ link (servis ugašen 2019.)
  • TC-SEO01: Dodati Instagram i TikTok u Schema.org sameAs polje
  • TC-UX04: Popraviti Facebook href="#" — linkirati na pravi profil facebook.com/arrentacarbeograd
P4 — NISKO
  • TC-K01: Proveriti da li su oba GTM container-a (GTM-W32Z8XM, GTM-K2F34RS) potrebna — eliminisati duplo tagovanje eventova