A Seo elemző szoftver fejlesztés alatt áll, az esetleges kellemetlenségekért elnézést kérünk!
Összesen 1 figyelmeztetés!
Az AI helyezések megtekintéséhez előbb írj be egy kérdést!
Összesen 1 figyelmeztetés!
A kulcsszó figyelő szolgáltatáshoz kérjük vásárolj Jarvis előfizetést!
Összesen 9 elfogadott szabály!
Duplikációs problémákat okozhat!
Összesen 3 hiba!
Az SSL tanúsítvány egy digitális hitelesítés, amely titkosított kapcsolatot biztosít a webkiszolgáló és a felhasználó böngészője között. Segít megvédeni az adatokat a lehallgatástól, biztosítja a weboldal hitelességét, javítja a Google rangsorolást és növeli a felhasználói bizalmat.
Összesen 1 figyelmeztetés!
A HTTP/2 a HTTP protokoll továbbfejlesztett verziója, amely gyorsabb adatátvitelt tesz lehetővé multiplexálással, tömörítéssel és jobb kapcsolatkezeléssel. Csökkenti a késleltetést, javítja a weboldalak betöltési sebességét és hatékonyabban kezeli a párhuzamos kéréseket, mint a HTTP/1.1.
Összesen 1 elfogadott szabály!
A címsorok (<h1>, <h2>, <h3>, stb.) HTML-elemek, amelyek a weboldalak tartalmát hierarchikusan tagolják. Az <h1> a főcím, míg az alacsonyabb szintű címsorok (pl. <h2>, <h3>) az alfejezeteket jelölik. Fontosságuk abban rejlik, hogy segítik a keresőmotorokat a tartalom megértésében, javítják az oldalak SEO-ját, és átláthatóbbá teszik az információt az olvasók számára. A helyes címsorhasználat strukturáltabb, könnyebben fogyasztható tartalmat eredményez.
| <h1> | <h2> | <h3> | <h4> | <h5> | <h6> |
| 1 db | 4 db | 2 db | 5 db | 0 db | 0 db |
<h1 class="hero-quote reveal delay-1 active" data-i18n="idx-hero-title">Az órajavítás művészete generációkon át</h1>
<h2 class="section-title reveal delay-1 active" data-i18n="idx-about-title">Három generációaz órás szakmában</h2>
<h2 class="section-title reveal delay-1 active" data-i18n="idx-it">Az oktatóink</h2>
<h4 class="instructor-name">Vályi Emőke</h4>
<h4 class="instructor-name">Vályi Zsolt</h4>
<h4 class="instructor-name">Szabó Sándor</h4>
<h4 class="instructor-name">Nagyfi József</h4>
<h4 class="instructor-name">Páter László</h4>
<h3 class="modal-name" id="modalName"></h3>
<h2 class="section-title reveal delay-1" data-i18n="idx-grad-title">Évfolyamaink</h2>
<h2 class="section-title reveal delay-1" data-i18n="idx-cont">Beszéljünk!</h2>
<h3 class="contact-modal-title" data-i18n="kap-cb2">Kérdésem van</h3>
Összesen 3 elfogadott szabály!
Összesen 1 hiba!
Nem ajánlott, ha a headingekben HTML tag található!
Nem ajánlott, ha a headingekben HTML tag található!
Nem ajánlott, ha a headingekben HTML tag található!
Összesen 3 figyelmeztetés!
A Dublin Core egy metaadat-szabvány, amely segít azonosítani és leírni a webes tartalmakat strukturált módon. Olyan alapvető információkat tartalmaz, mint a cím, szerző, kulcsszavak, leírás vagy a publikálás dátuma. Használata előnyös, mert javítja a keresőmotorok és más rendszerek számára a tartalom értelmezhetőségét, így segíthet a jobb indexelésben és kereshetőségben. Emellett támogatja az adatcserét és a digitális archívumok rendszerezését is.
Összesen 1 hiba!
Az Open Graph (OG) egy metaadat-protokoll, amelyet a Facebook fejlesztett ki, és lehetővé teszi, hogy a weboldalak jobban megjelenjenek a közösségi médiában. Az OG-címkék (og:title, og:description, og:image, stb.) segítségével beállítható, hogy például egy Facebook-megosztásnál milyen cím, kép és leírás jelenjen meg. Ez javítja a kattintási arányt (CTR), a felhasználói élményt, és növeli az oldal láthatóságát a közösségi platformokon.
Összesen 1 hiba!
A W3C (World Wide Web Consortium) egy nemzetközi szervezet, amely a webes szabványokat fejleszti és felügyeli. Célja, hogy a web mindenki számára elérhető, kompatibilis és biztonságos legyen. A W3C ajánlásainak betartása biztosítja, hogy egy weboldal jól működjön minden böngészőben, gyorsabb legyen, és megfeleljen az akadálymentességi (WCAG) és SEO-irányelveknek. Ez hosszú távon jobb felhasználói élményt és szélesebb elérhetőséget eredményez.
A(z) sorban
A(z) 71 sorban
A(z) 71 sorban
Összesen 3 hiba!
A Flash tartalom az Adobe Flash technológiával készült animációkat, videókat vagy interaktív elemeket jelent. Régebben népszerű volt a weboldalakon, de ma már elavult és nem támogatott. Alternatíva: HTML5, CSS3 és JavaScript segítségével minden Flash-funkcionalitás korszerűbben és hatékonyabban megvalósítható.
Összesen 1 elfogadott szabály!
A framek és iframek olyan HTML-elemek, amelyek más weboldalak vagy tartalmak beágyazására szolgálnak. Hátrányuk, hogy rontják a SEO-t, biztonsági kockázatot jelentenek, lassítják az oldalt és mobilon problémás lehet a megjelenítésük. Helyettük érdemes API-kat, AJAX-ot vagy JavaScriptet használni.
A 404 hibaoldal akkor jelenik meg, ha egy felhasználó olyan oldalt próbál elérni, amely nem létezik. Fontos, hogy legyen egy egyedi 404 oldal, mert javítja a felhasználói élményt, segít a látogatók visszairányításában, és csökkentheti a visszafordulási arányt. SEO szempontból is hasznos, ha megfelelő navigációt vagy keresési lehetőséget biztosít.
Összesen 1 elfogadott szabály!
A scriptek olyan programkódok (pl. JavaScript, PHP), amelyek egy weboldalon vagy szerveren futnak, hogy dinamikus funkciókat biztosítsanak. Segítségükkel interaktív elemek, adatkezelés, automatizáció és egyedi felhasználói élmény valósítható meg.
<script src="js/lang.js"></script> (133 KB)
Összesen 1 elfogadott szabály!
A stílusfájlok (pl. CSS) olyan fájlok, amelyek egy weboldal megjelenését szabályozzák. Segítségükkel beállíthatók a színek, betűtípusok, elrendezések és egyéb vizuális elemek, hogy az oldal esztétikus és felhasználóbarát legyen.
<link href="css/style-v2.css"> (47 KB)
- <body> <!-- Navigation --> <nav class="nav" id="nav"> <a href="index.html" class="nav-logo">OKTATÓ<span>RA</span></a> <ul class="nav-links"> <li><a href="index.html#about" data-i18n="nav-rolunk">Rólunk</a></li> <li><a href="tortenet.html" data-i18n="nav-tortenet">Történet</a></li> <li><a href="kepzesek.html" data-i18n="nav-kepzesek">Képzések</a></li> <li><a href="index.html#team" data-i18n="nav-oktatok">Oktatók</a></li> <li><a href="alapitvany.html" data-i18n="nav-alapitvany">Alapítvány</a></li> <li><a href="kiadvanyok.html" data-i18n="nav-kiadvanyok">Kiadványok</a></li> <li><a href="wow.html" data-i18n="nav-wow">WOW</a></li> <li><a href="index.html#contact" data-i18n="nav-kapcsolat">Kapcsolat</a></li> </ul> <div class="nav-info"> <div class="nav-social"> <a href="https://www.facebook.com/groups/1570638836522320" target="_blank"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> <path d="M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12c0 4.84 3.44 8.87 8 9.8V15H8v-3h2V9.5C10 7.57 11.57 6 13.5 6H16v3h-2c-.55 0-1 .45-1 1v2h3v3h-3v6.95c5.05-.5 9-4.76 9-9.95z"> </path> </svg> </a> <a href="https://instagram.com/valyi_oktatora" target="_blank"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> <path d="M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6m9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8 1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"> </path> </svg> </a> </div> </div> </nav> <!-- Hero Section --> <section class="hero"> <p class="hero-tagline reveal-fade active" data-i18n="idx-hero-tagline">1927 óta a magyar órás oktatásban</p> <h1 class="hero-quote reveal delay-1 active" data-i18n="idx-hero-title"> Az órajavítás <span class="highlight">művészete</span><br> generációkon át </h1> <p class="hero-subtitle reveal delay-2 active" data-i18n="idx-hero-subtitle"> Hagyomány és precizitás minden mozdulatban.<br><span class="highlight">A Vályi család évtizedek tudását adja tovább.</span> </p> <a href="kepzesek.html" class="hero-cta reveal delay-3 active" data-i18n="idx-hero-cta"> Jelentkezem a képzésre → </a> <div class="scroll-indicator"> <span data-i18n="idx-scroll">Görgess</span> <span>↓</span> </div> </section> <!-- About Section --> <section class="about" id="about"> <div class="container"> <div class="about-grid"> <div class="about-visual reveal-left active"> <img src="images/valyi_cimer.png" alt="Vályi címer"> </div> <div class="about-content"> <span class="section-label reveal active" data-i18n="idx-about-label">Miért a Vályi család?</span> <h2 class="section-title reveal delay-1 active" data-i18n="idx-about-title">Három generáció<br>az órás szakmában</h2> <p class="section-text reveal delay-2 active" data-i18n="idx-about-text"> A Vályi család és a Vályi órásképzés története 1927-ig nyúlik vissza. Az órásmesterség titkai apáról fiúra szálltak, és ma már a harmadik generáció adja tovább ezt a felbecsülhetetlen tudást. </p> <div class="about-stats reveal delay-3 active"> <div class="stat"> <div class="stat-number">97</div> <div class="stat-label" data-i18n="idx-stat-1">Év tapasztalat</div> </div> <div class="stat"> <div class="stat-number">3</div> <div class="stat-label" data-i18n="idx-stat-2">Generáció</div> </div> <div class="stat"> <div class="stat-number">500+</div> <div class="stat-label" data-i18n="idx-stat-3">Végzett hallgató</div> </div> </div> </div> </div> </div> </section> <!-- Instructors Section --> <section class="instructors" id="team"> <div class="container"> <span class="section-label reveal active" style="text-align: center; display: block;" data-i18n="idx-il">Csapatunk</span> <h2 class="section-title reveal delay-1 active" style="text-align: center;" data-i18n="idx-it">Az oktatóink </h2> <div class="instructors-grid"> <div class="instructor-card reveal delay-1 active" onclick="openModal("emoke")" style="background-image: url("images/oktatora-49.webp");"> <div class="gradient-overlay"> <h4 class="instructor-name">Vályi Emőke</h4> <p class="instructor-role" data-i18n="idx-r1">Szakmai vezető és oktató</p> </div> </div> <div class="instructor-card reveal delay-2 active" onclick="openModal("zsolt")" style="background-image: url("images/oktatok-4.webp");"> <div class="gradient-overlay"> <h4 class="instructor-name">Vályi Zsolt</h4> <p class="instructor-role" data-i18n="idx-r2">Szakmai tanácsadó</p> </div> </div> <div class="instructor-card reveal delay-3 active" onclick="openModal("sandor")" style="background-image: url("images/oktatok-12.webp");"> <div class="gradient-overlay"> <h4 class="instructor-name">Szabó Sándor</h4> <p class="instructor-role" data-i18n="idx-r3">Gyakorlati oktató</p> </div> </div> <div class="instructor-card reveal delay-1" onclick="openModal("jozsef")" style="background-image: url("images/oktatok-16.webp");"> <div class="gradient-overlay"> <h4 class="instructor-name">Nagyfi József</h4> <p class="instructor-role" data-i18n="idx-r2">Szakmai tanácsadó</p> </div> </div> <div class="instructor-card reveal delay-2" onclick="openModal("laszlo")" style="background-image: url("images/oktatok-14.webp");"> <div class="gradient-overlay"> <h4 class="instructor-name">Páter László</h4> <p class="instructor-role" data-i18n="idx-r3">Gyakorlati oktató</p> </div> </div> </div> <!-- Instructor Modal --> <div class="modal-overlay" id="instructorModal"> <div class="modal-card"> <button class="modal-close" onclick="closeModal()">×</button> <div class="modal-avatar" id="modalAvatar"></div> <h3 class="modal-name" id="modalName"></h3> <p class="modal-role" id="modalRole"></p> <div class="modal-divider"></div> <p class="modal-bio" id="modalBio"></p> </div> </div> </div> </section> <!-- Végzett Hallgatóink Section --> <section class="graduates" id="graduates"> <div class="container"> <span class="section-label reveal" style="text-align: center; display: block;" data-i18n="idx-grad-label">Végzett Hallgatóink</span> <h2 class="section-title reveal delay-1" style="text-align: center;" data-i18n="idx-grad-title">Évfolyamaink </h2> </div> <div class="grad-carousel-wrapper"> <div class="grad-viewport"> <div class="grad-slider" id="gradSlider"> <div class="grad-slide"><img src="images/2012-2013%201.%20csoport.jpg" alt="2012/2013 I. évfolyam" onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2012/2013 I.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2012-2013%202.%20csoport.jpg" alt="2012/2013 II. évfolyam" onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2012/2013 II.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2013-2014%20osztaly.jpg" alt="2013/2014" onclick="openGradFullscreen(this.src)" style="object-position: top;"> <div class="grad-overlay"> <div class="grad-year">2013/2014</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2014-2015%20osztaly.jpg" alt="2014/2015" onclick="openGradFullscreen(this.src)" style="object-position: center"> <div class="grad-overlay"> <div class="grad-year">2014/2015</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2015-2016%20(1).JPG" alt="2015/2016" onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2015/2016</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img src="images/2016-2017.jpg" alt="2016/2017" onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2016/2017</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2017-2018.jpg" alt="2017/2018" onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2017/2018</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2018-2019_01.jpg" alt="2018/2019 - I." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2018/2019 - I.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2018-2019_2.jpg" alt="2018/2019 - II." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2018/2019 - II.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2019-2020_1.jpg" alt="2019/2020 - I." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2019/2020 - I.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2019-2020_2.jpg" alt="2019/2020 - II." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2019/2020 - II.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2020-2021_1.jpg" alt="2020/2021 - I." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2020/2021 - I.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2020-2021_2.jpg" alt="2020/2021 - II." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2020/2021 - II.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2021-2022_1.jpg" alt="2021/2022 - I." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2021/2022 - I.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2021-2022_2.jpg" alt="2021/2022 - II." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2021/2022 - II.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2023-2024_1.jpg" alt="2022/2023" onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2022/2023</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2023-2024_2.jpg" alt="2023/2024" onclick="openGradFullscreen(this.src)" style="object-position: top;"> <div class="grad-overlay"> <div class="grad-year">2023/2024</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2024-2025_1.jpg" alt="2024/2025 - I." onclick="openGradFullscreen(this.src)"> <div class="grad-overlay"> <div class="grad-year">2024/2025 - I.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> <div class="grad-slide"><img loading="lazy" src="images/2024-2025_2.jpg" alt="2024/2025 - II." onclick="openGradFullscreen(this.src)" style="object-position: top;"> <div class="grad-overlay"> <div class="grad-year">2024/2025 - II.</div> <div class="grad-sub" data-i18n="idx-grad-sub">Végzett évfolyam</div> </div> </div> </div> </div> <div class="grad-controls"> <button class="grad-btn" onclick="gradGo(-1)">‹</button> <div class="grad-dots" id="gradDots"></div> <div class="grad-counter"><span id="gradCurrent">01</span> / <span id="gradTotal">11</span></div> <button class="grad-btn" onclick="gradGo(1)">›</button> </div> </div> <!-- Fullscreen Image Overlay --> <div class="grad-fullscreen" id="gradFullscreen" onclick="closeGradFullscreen()"> <img id="gradFullImg" src="" alt=""> <button class="grad-fs-close">×</button> </div> </section> <style> .graduates { background: linear-gradient(180deg, #111 0%, #0a0a0a 100%); padding: 150px 0; } .grad-carousel-wrapper { max-width: 1400px; margin: 60px auto 0; padding: 0 60px; } .grad-viewport { overflow: hidden; border-radius: 24px; border: 1px solid rgba(255, 255, 255, 0.06); position: relative; background: #111; } .grad-slider { display: flex; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); } .grad-slide { flex: 0 0 100%; position: relative; } .grad-slide img { width: 100%; height: 520px; object-fit: cover; display: block; cursor: pointer; transition: transform 0.4s ease; } .grad-slide img:hover { transform: scale(1.02); } .grad-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10, 10, 10, 0.7) 0%, transparent 50%, rgba(10, 10, 10, 0.4) 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 50px; pointer-events: none; } .grad-year { font-size: 72px; font-weight: 800; color: rgba(219, 157, 0, 0.9); line-height: 1; margin-bottom: 8px; } .grad-sub { font-size: 14px; color: rgba(255, 255, 255, 0.6); letter-spacing: 3px; text-transform: uppercase; } .grad-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; } .grad-btn { width: 52px; height: 52px; border-radius: 50%; background: rgba(219, 157, 0, 0.1); border: 1px solid rgba(219, 157, 0, 0.3); color: #db9d00; font-size: 22px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s; font-family: inherit; } .grad-btn:hover { background: rgba(219, 157, 0, 0.25); } .grad-dots { display: flex; gap: 8px; } .grad-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, 0.15); transition: all 0.3s; cursor: pointer; } .grad-dot.active { background: #db9d00; width: 24px; border-radius: 4px; } .grad-counter { font-size: 14px; color: #666; letter-spacing: 2px; } .grad-counter span { color: #db9d00; font-weight: 700; font-size: 18px; } /* Fullscreen overlay */ .grad-fullscreen { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.95); z-index: 100000; display: none; justify-content: center; align-items: center; cursor: zoom-out; } .grad-fullscreen.active { display: flex; } .grad-fullscreen img { max-width: 94vw; max-height: 94vh; object-fit: contain; border-radius: 8px; box-shadow: 0 0 80px rgba(219, 157, 0, 0.1); } .grad-fs-close { position: absolute; top: 24px; right: 32px; width: 48px; height: 48px; border-radius: 50%; background: rgba(219, 157, 0, 0.15); border: 1px solid rgba(219, 157, 0, 0.3); color: #db9d00; font-size: 28px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s; font-family: inherit; } .grad-fs-close:hover { background: rgba(219, 157, 0, 0.3); } @media (max-width: 768px) { .grad-carousel-wrapper { padding: 0 20px; } .grad-slide img { height: 300px; } .grad-year { font-size: 42px; } .grad-overlay { padding: 30px; } } </style> <!-- Contact Section - Light Theme --> <section class="contact" id="contact"> <div class="container"> <div class="contact-grid"> <div> <span class="section-label reveal" data-i18n="idx-conl">Kapcsolat</span> <h2 class="section-title reveal delay-1" data-i18n="idx-cont">Beszéljünk!</h2> <p class="section-text reveal delay-2" style="color: #555;" data-i18n="idx-conx"> Kérdésed van a képzésekkel kapcsolatban? Lépj velünk kapcsolatba! </p> <a href="javascript:void(0)" onclick="openMainContactModal()" class="contact-cta reveal delay-3" data-i18n="idx-conb"> Kérdésem van → </a> </div> <div class="contact-info reveal-right"> <p><strong data-i18n="idx-conc">Vályi Oktatási Központ</strong></p> <p>📍 Hamarosan...</p> <p>📞 <a href="tel:+36303373717">+36 30 337 3717</a></p> <p>✉️ <!--email_off--><a href="mailto:valyioktatas@gmail.com">valyioktatas@gmail.com</a><!--/email_off--></p> <p style="margin-top: 30px;"> <a href="https://www.facebook.com/groups/1570638836522320" target="_blank">Facebook</a> · <a href="https://instagram.com/valyi_oktatora" target="_blank">Instagram</a> </p> </div> </div> </div> </section> <!-- Footer --> <footer class="footer"> <div class="container"> <div class="footer-content"> <div class="footer-logo">OKTATÓRA</div> <div class="footer-legal" style="display:flex; flex-wrap:wrap; justify-content:center; gap: 20px; font-size: 13px; margin: 15px 0;"> <a href="aszf.html" style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;" onmouseover="this.style.color="#db9d00"" onmouseout="this.style.color="rgba(255,255,255,0.6)"">ÁSZF</a> <a href="adatkezeles.html" style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;" onmouseover="this.style.color="#db9d00"" onmouseout="this.style.color="rgba(255,255,255,0.6)"">Adatkezelési tájékoztató</a> <a href="cookie.html" style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;" onmouseover="this.style.color="#db9d00"" onmouseout="this.style.color="rgba(255,255,255,0.6)"">Cookie tájékoztató</a> <a href="impresszum.html" style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;" onmouseover="this.style.color="#db9d00"" onmouseout="this.style.color="rgba(255,255,255,0.6)"">Impresszum</a> </div> <p class="footer-copy" data-i18n="footer-copy">© 2026 Vályi Oktatási Központ · Vályi Huba Alapítvány</p> <div class="footer-social"> <a href="https://www.facebook.com/groups/1570638836522320" target="_blank"> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"> <path d="M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12c0 4.84 3.44 8.87 8 9.8V15H8v-3h2V9.5C10 7.57 11.57 6 13.5 6H16v3h-2c-.55 0-1 .45-1 1v2h3v3h-3v6.95c5.05-.5 9-4.76 9-9.95z"> </path> </svg> </a> <a href="https://instagram.com/valyi_oktatora" target="_blank"> <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"> <path d="M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6m9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8 1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"> </path> </svg> </a> </div> </div> </div> </footer> <script src="js/lang.js"></script> <!-- Contact Modal --> <div class="contact-modal-overlay" id="contactModalMain"> <div class="contact-modal-card"> <button class="contact-modal-close" onclick="closeContactModalMain()">×</button> <h3 class="contact-modal-title" data-i18n="kap-cb2">Kérdésem van</h3> <form id="contactFormMain"> <div class="form-group-contact"> <label data-i18n="kap-fm-name">Név *</label> <input type="text" id="mainContactName" required=""> </div> <div class="form-group-contact"> <label data-i18n="kap-fm-email">E-mail cím *</label> <input type="email" id="mainContactEmail" required=""> </div> <div class="form-group-contact"> <label data-i18n="kap-fm-msg">Üzenet</label> <textarea id="mainContactMessage" rows="4" required=""></textarea> </div> <div id="contactFormFeedback" style="display:none; text-align:center; margin-bottom:15px; font-weight:600; color:#db9d00;"></div> <button type="submit" class="contact-submit-btn" id="mainContactSubmit" data-i18n="kap-fm-send">Küldés →</button> </form> </div> </div> <script> // Navigation scroll effect const nav = document.getElementById('nav'); window.addEventListener('scroll', () => { if (window.scrollY > 100) { nav.classList.add('scrolled'); } else { nav.classList.remove('scrolled'); } }); // Contact Modal Logic const contactModalMain = document.getElementById('contactModalMain'); function openMainContactModal() { contactModalMain.classList.add('active'); document.body.style.overflow = 'hidden'; } function closeContactModalMain() { contactModalMain.classList.remove('active'); document.body.style.overflow = ''; } contactModalMain.addEventListener('click', function (e) { if (e.target === contactModalMain) closeContactModalMain(); }); document.getElementById('contactFormMain').addEventListener('submit', function (e) { e.preventDefault(); const btn = document.getElementById('mainContactSubmit'); const feedback = document.getElementById('contactFormFeedback'); const name = document.getElementById('mainContactName').value; const email = document.getElementById('mainContactEmail').value; const message = document.getElementById('mainContactMessage').value; btn.disabled = true; btn.innerText = 'Küldés...'; feedback.style.display = 'none'; fetch('send_email.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: name, email: email, message: message, type: 'Kapcsolatfelvétel' }) }) .then(response => response.json()) .then(data => { feedback.style.display = 'block'; if (data.success) { feedback.style.color = '#db9d00'; feedback.innerText = 'Köszönjük! Üzenetét megkaptuk.'; document.getElementById('contactFormMain').reset(); setTimeout(closeContactModalMain, 2000); } else { feedback.style.color = '#ff4444'; feedback.innerText = 'Hiba történt. Kérjük próbálja újra.'; } }) .catch(error => { feedback.style.display = 'block'; feedback.style.color = '#ff4444'; feedback.innerText = 'Hálózati hiba történt.'; }) .finally(() => { btn.disabled = false; btn.innerText = 'Küldés →'; }); }); // ===== Graduates Carousel ===== let gradIdx = 0; const gradSlider = document.getElementById('gradSlider'); const gradTotal = gradSlider.children.length; const gradDots = document.getElementById('gradDots'); for (let i = 0; i < gradTotal; i++) { const dot = document.createElement("div"); dot.className = "grad-dot" + (i === 0 ? " active" : ""); dot.onclick = () => gradGoTo(i); gradDots.appendChild(dot); } document.getElementById('gradTotal').textContent = String(gradTotal).padStart(2, '0'); function gradGo(dir) { gradGoTo((gradIdx + dir + gradTotal) % gradTotal); } function gradGoTo(i) { gradIdx = i; gradSlider.style.transform = 'translateX(-' + (gradIdx * 100) + '%)'; document.querySelectorAll('.grad-dot').forEach((d, j) => d.classList.toggle('active', j === gradIdx)); document.getElementById('gradCurrent').textContent = String(gradIdx + 1).padStart(2, '0'); } // Touch swipe let gradStartX = 0; const gradVP = document.querySelector('.grad-viewport'); gradVP.addEventListener('touchstart', e => gradStartX = e.touches[0].clientX); gradVP.addEventListener('touchend', e => { const diff = gradStartX - e.changedTouches[0].clientX; if (Math.abs(diff) > 50) gradGo(diff > 0 ? 1 : -1); }); // Fullscreen image function openGradFullscreen(src) { event.stopPropagation(); document.getElementById('gradFullImg').src = src; document.getElementById('gradFullscreen').classList.add('active'); document.body.style.overflow = 'hidden'; } function closeGradFullscreen() { document.getElementById('gradFullscreen').classList.remove('active'); document.body.style.overflow = ''; } document.addEventListener('keydown', function (e) { if (e.key === 'Escape') closeGradFullscreen(); if (document.getElementById('gradFullscreen').classList.contains('active')) return; if (e.key === 'ArrowLeft') gradGo(-1); if (e.key === 'ArrowRight') gradGo(1); }); // Scroll reveal animation window.addEventListener('scroll', function () { var reveals = document.querySelectorAll('.reveal'); for (var i = 0; i < reveals.length; i++) { var windowHeight = window.innerHeight; var elementTop = reveals[i].getBoundingClientRect().top; if (elementTop < windowHeight - 100) { reveals[i].classList.add("active"); } } }); setTimeout(() => window.dispatchEvent(new Event('scroll')), 100); </script> </body>
Összesen 4 elfogadott szabály!
A(z) css/style-v2.css fájl tömörítésével 23 KB (49%) adatmennyiséget takaríthatna meg!
Összesen 2 hiba!
A kulcsszavak olyan szavak vagy kifejezések, amelyek egy tartalom fő témáját jelölik. Segítségükkel a keresőmotorok és a felhasználók könnyebben megtalálják az adott oldalt vagy cikket a releváns keresések során.
| Kulcsszó | db | Title | Descripton | Heading |
| végzett | 21 | |||
| évfolyam | 19 | |||
| vályi | 9 | |||
| oktató | 4 | |||
| 2019 | 4 | |||
| 2020 | 4 | |||
| 2021 | 4 | |||
| család | 3 | |||
| generáció | 3 | |||
| szakmai | 3 | |||
| Kulcsszó (2 szavas) | db | Title | Descripton | Heading |
| végzett évfolyam | 12 | |||
| vályi család | 2 | |||
| kérdésem van | 2 | |||
| oktató ra | 1 | |||
| rólunk történet | 1 | |||
| képzések oktatók | 1 | |||
| alapítvány kiadványok | 1 | |||
| wow kapcsolat | 1 | |||
| 1927 óta | 1 | |||
| a magyar | 1 | |||
| Kulcsszó (3 szavas) | db | Title | Descripton | Heading |
| oktató ra rólunk | 1 | |||
| történet képzések oktatók | 1 | |||
| alapítvány kiadványok wow | 1 | |||
| kapcsolat 1927 óta | 1 | |||
| a magyar órás | 1 | |||
| oktatásban az órajavítás | 1 | |||
| művészete generációkon át | 1 | |||
| hagyomány és precizitás | 1 | |||
| minden mozdulatban a | 1 | |||
| vályi család évtizedek | 1 |
Összesen 1 figyelmeztetés!
Összesen 1 elfogadott szabály!
Összesen 2 elfogadott szabály!
- <a href="index.html" class="nav-logo">
- <a href="index.html#about" data-i18n="nav-rolunk">
- <a href="tortenet.html" data-i18n="nav-tortenet">
- <a href="kepzesek.html" data-i18n="nav-kepzesek">
- <a href="index.html#team" data-i18n="nav-oktatok">
- <a href="alapitvany.html" data-i18n="nav-alapitvany">
- <a href="kiadvanyok.html" data-i18n="nav-kiadvanyok">
- <a href="wow.html" data-i18n="nav-wow">
- <a href="index.html#contact" data-i18n="nav-kapcsolat">
- <a href="https://www.facebook.com/groups/1570638836522320" target="_blank">
- <a href="https://instagram.com/valyi_oktatora" target="_blank">
- <a href="kepzesek.html" class="hero-cta reveal delay-3 active" data-i18n="idx-hero-cta">
- <a href="javascript:void(0)" onclick="openMainContactModal()" class="contact-cta reveal delay-3"
data-i18n="idx-conb">
- <a href="tel:+36303373717">
- <a href="https://www.facebook.com/groups/1570638836522320" target="_blank">
- <a href="https://instagram.com/valyi_oktatora" target="_blank">
- <a href="aszf.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
- <a href="adatkezeles.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
- <a href="cookie.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
- <a href="impresszum.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
- <a href="https://www.facebook.com/groups/1570638836522320" target="_blank">
- <a href="https://instagram.com/valyi_oktatora" target="_blank">
Összesen 4 hiba!
Az inline CSS olyan stílus, amelyet közvetlenül egy HTML elem style attribútumában határozunk meg. Hátránya, hogy nehezíti a kód karbantarthatóságát, rontja a teljesítményt, és megnehezíti a stílusok egységes kezelését. Érdemes helyette külső vagy belső CSS fájlokat használni.
<span class="section-label reveal active" style="text-align: center; display: block;"
data-i18n="idx-il">
<h2 class="section-title reveal delay-1 active" style="text-align: center;" data-i18n="idx-it">
<div class="instructor-card reveal delay-1 active" onclick="openModal("emoke")"
style="background-image: url("images/oktatora-49.webp");">
<div class="instructor-card reveal delay-2 active" onclick="openModal("zsolt")"
style="background-image: url("images/oktatok-4.webp");">
<div class="instructor-card reveal delay-3 active" onclick="openModal("sandor")"
style="background-image: url("images/oktatok-12.webp");">
<div class="instructor-card reveal delay-1" onclick="openModal("jozsef")"
style="background-image: url("images/oktatok-16.webp");">
<div class="instructor-card reveal delay-2" onclick="openModal("laszlo")"
style="background-image: url("images/oktatok-14.webp");">
<span class="section-label reveal" style="text-align: center; display: block;"
data-i18n="idx-grad-label">
<h2 class="section-title reveal delay-1" style="text-align: center;" data-i18n="idx-grad-title">
<img loading="lazy" src="images/2013-2014%20osztaly.jpg" alt="2013/2014"
onclick="openGradFullscreen(this.src)" style="object-position: top;">
<img loading="lazy" src="images/2014-2015%20osztaly.jpg" alt="2014/2015"
onclick="openGradFullscreen(this.src)" style="object-position: center">
<img loading="lazy" src="images/2023-2024_2.jpg" alt="2023/2024"
onclick="openGradFullscreen(this.src)" style="object-position: top;">
<img loading="lazy" src="images/2024-2025_2.jpg" alt="2024/2025 - II."
onclick="openGradFullscreen(this.src)" style="object-position: top;">
<p class="section-text reveal delay-2" style="color: #555;" data-i18n="idx-conx">
<p style="margin-top: 30px;">
<div class="footer-legal"
style="display:flex; flex-wrap:wrap; justify-content:center; gap: 20px; font-size: 13px; margin: 15px 0;">
<a href="aszf.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
<a href="adatkezeles.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
<a href="cookie.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
<a href="impresszum.html"
style="color: rgba(255,255,255,0.6); text-decoration: none; transition: color 0.3s;"
onmouseover="this.style.color="#db9d00""
onmouseout="this.style.color="rgba(255,255,255,0.6)"">
<div id="contactFormFeedback"
style="display:none; text-align:center; margin-bottom:15px; font-weight:600; color:#db9d00;">
Inline CSS leírása
Összesen 1 hiba!
A HTML kimenet tömörítése csökkenti a fájl méretét, gyorsítja az oldal betöltését, csökkenti a sávszélesség-használatot, és javítja a SEO-t és a felhasználói élményt.
A HTML kimenet tömörítésével 11 KB (31%) adatmennyiséget takaríthatna meg!
Összesen 1 hiba!
A <table> használatát érdemes kerülni, mert nem rugalmas a dizájn szempontjából, és nehezíti a mobilbarát, reszponzív weboldalak készítését. A táblázatok inkább adatok megjelenítésére szolgálnak, nem pedig oldalstruktúrák formázására. A CSS rugalmasabb, könnyebben karbantartható és jobb SEO-t biztosít.
Összesen 1 elfogadott szabály!
Az elavult kódok és attribútumok azok, amelyek már nem támogatottak a modern böngészők vagy a webes szabványok által. Ilyen például a <font> tag vagy a bgcolor attribútum. Ezeket azért érdemes kerülni, mert nem biztosítanak jó kompatibilitást a különböző eszközökkel, nem felelnek meg a webes szabványoknak, és hátráltathatják a weboldal fejlődését, például a reszponzív dizájn vagy az akadálymentesség szempontjából. A helyettesítő modern megoldások (pl. CSS) jobban támogatottak, könnyebben karbantarthatók és elősegítik a jobb teljesítményt.
Összesen 2 elfogadott szabály!
A robots.txt egy szöveges fájl, amelyet a weboldal gyökérkönyvtárában helyezünk el, és arra szolgál, hogy szabályozza, mely keresőrobotok (például Googlebot) férhetnek hozzá az oldal bizonyos részeihez. Ezzel megadhatjuk, hogy a keresőmotorok indexelhetik-e az oldalt, vagy éppen mely URL-eket ne kövessenek. Segít a keresőoptimalizálásban, például ha nem akarjuk, hogy bizonyos oldalak megjelenjenek a keresési eredmények között.
Összesen 1 figyelmeztetés!
A strukturált adatok olyan formázott információk, amelyeket a weboldal HTML-jébe ágyazunk be, és amelyeket a keresőmotorok (például Google) könnyen értelmezhetnek. Ezek az adatok segítenek a keresőmotoroknak jobban megérteni az oldal tartalmát, például termékek, események, értékelések, receptek stb. A strukturált adatokat leggyakrabban JSON-LD, Microdata vagy RDFa formátumban alkalmazzák. A használatuk elősegíti a rich snippetek (gazdag találatok) megjelenését a keresőmotorokban, ami javíthatja a weboldal láthatóságát és kattintási arányát.
Összesen 1 figyelmeztetés!
Az AMP (Accelerated Mobile Pages) egy olyan technológia, amely a mobil weboldalak betöltési sebességének gyorsítására szolgál. Az AMP oldalak minimalizálják a kódot, optimalizálják a képeket és egyes elemeket, hogy azok gyorsabban jelenjenek meg a mobil eszközökön. Az AMP előnyös, mert javítja a felhasználói élményt a gyorsabb betöltéssel, csökkenti a weboldal adatforgalmát, és pozitív hatással lehet a SEO-ra, mivel a Google előnyben részesíti a gyorsan betöltődő mobiloldalakat a keresési eredményekben.
Összesen 1 figyelmeztetés!
<title>OKTATÓRA – 1927 óta a magyar órás oktatásban!</title>
Karakterszám: 45 (Ajánlott: 50–60 karakter)
Összesen 2 elfogadott szabály!
A szöveg/kód arány egy SEO mutató, amely a weboldalon található szöveges tartalom és a HTML kód mennyiségét viszonyítja egymáshoz. A magas szöveg/kód arány azt jelenti, hogy az oldal több releváns szöveges tartalmat tartalmaz, míg alacsony arány esetén túl sok a felesleges kód vagy médiaelem, amelyek nem hozzák hozzá a tartalomhoz. A keresőmotorok általában a nagyobb szöveges tartalommal rendelkező oldalakat preferálják, mert ezek jobban tükrözik az oldal valódi tartalmát, így érdemes ezt az arányt optimalizálni a jobb SEO érdekében.
Összesen 1 hiba!
Összesen 21 kép van az oldalon!
Összesen 1 elfogadott szabály!
Összesen 63 hiba!
Sajnos ezen még dolgozni érdemes. Weboldaladon rengeteg olyan hibát találtunk, amelyek megakadályozzák hogy a SEO-ból szép eredményeket érj el. Vedd fel velünk a kapcsolatot, hogy orvosolhassuk ezeket, és felállíthassuk SEO stratégiád!
Keresőoptimalizálás cikkek SEO szakembereinktől, saját kutatásunk, gyakorlati tapasztalataink és külföldi irodalom alapján.