.com

Материалът е на известния специалист по мрежови технологии от Сингапур Christopher Forno.

Докато търсих свободни имена в .com зоната, бях твърде неприятно изненадан от броя заети, но неизползвани домейни. По всичко личи, че вече са регистрирани всички произносими комбинации от букви на всички основни езици от целия свят. И дори непроизносимите комбинации. Дали пазарът на домейни е толкова голям или аз някак все не се сещам как да не избирам вече регистрирани имена на домейни? Да погледнем голата статистика…

Към днешен ден са регистрирани 137 милиона домейнни имена от типа .com. Според данните на Verisign, в активната зона към 27.01.2019 година са налични 137 756 106 .com домейна. Преди да направя своята проверка, проверих коректността на това число с файла от DNS зоната.

Една трета от тези имена на домейни се използват за различните предприятия, за лични уеб сайтове, електронна поща и т.н. Другата една трета от всичките тези имена на домейни очевидно не се употребява, а последната една трета част се използва за най-различни спекулативни цели.

Ето как се използват домейните:

 .com

Как получих тези числа

Започнах да обхождам по случаен начин домейните от първо ниво, които бяха в DNS файла, който изтеглих на 21.01.2019 година. Обхождането продължи до 23.01.2019, когато достигнах 100 000 валидни имена на домейни. Не всички записи бяха валидни – някои от тях са примамки за лов на хора, които нелегално разпространяват файловете от домейната зона, а около 1% от тях са сървъри за имена. След като ги махнах, останаха 98 854 валидни домейни.

За всеки един домейн събрах следните данни:

WHOIS записаВсички DNS записи за домейните от първо ниво и www поддомейнитеHTTP и HTTPS отговоритеСкрийншотите на главните страници, които направих в Mozilla Firefox 64.0 под Linux

Сканирането отне малко повече от 48 часа с помощта на един сървър в сингапурския дата център. След това стартирах втория етап на обхождането, но този път за всички домейни, които не можаха да се включат чрез HTTP и HTTPS, и дадоха грешка. И накрая, ръчно проверих 2188 домейна, за които излязоха грешки за таймаут или DOM събитията бяха блокирани с JavaScript код.

След това написах допълнителен скрипт за ускоряване ръчната класификация на сайтовете на базата на техните скрийншоти и съдържанието.

 .com

С помощта на този скрипт категоризацията на сайтовете отне 2 дни. Не всички сайтове трябваше да се класифицират ръчно: в редица случаи категорията бе очевидна по полето , така че можеха да се използват регулярни изрази. В други случаи скрийншотът не бе достатъчен и се налагаше ръчното отваряне на домейна в браузъра за проверка.</p>Обобщена статистика и изводи<p><strong>Топ-10 на .com регистраторите</strong></p><p><a href="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/103.png?ssl=1"><img class="aligncenter size-full wp-image-304359" src="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/103.png?resize=696%2C434&ssl=1" alt=" .com " width="696" height="434" srcset="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/103.png?w=798&ssl=1 798w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/103.png?resize=300%2C187&ssl=1 300w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/103.png?resize=768%2C479&ssl=1 768w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/103.png?resize=696%2C434&ssl=1 696w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/103.png?resize=673%2C420&ssl=1 673w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>GoDaddy е регистрирал една трета от всичките получени от мен имена на домейни. Това са приблизително 45 милиона домейна. Една трета от тях са паркирани домейни. Или с други думи, над 10% от всички .com домейни в интернет разпространяват рекламите и съобщенията на GoDaddy</p><p>Въпреки, че в изследваните от мен домейни се виждат 1851 регистратора, те се управляват от малък брой оператори. Така например, само DropCatch.com контролира над хиляда регистратора: DropCatch.com 1000 LLC, DropCatch.com 1001 LLC, DropCatch.com 1002 и т.н. Аналогични схеми с подобно номериране използват и другите. Много рядко се срещат сложни и неочевидни схеми.</p><p>През изтеклата една година са регистрирани още 25% домейни</p><p><strong>Възраст на домейните в години</strong></p><p><a href="https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/104.png?ssl=1"><img class="aligncenter size-full wp-image-304358" src="https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/104.png?resize=696%2C304&ssl=1" alt=" .com " width="696" height="304" srcset="https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/104.png?w=780&ssl=1 780w, https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/104.png?resize=300%2C131&ssl=1 300w, https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/104.png?resize=768%2C336&ssl=1 768w, https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/104.png?resize=696%2C304&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p>Категории на домейнитеСъдържание: 31% или около 43 милиона<p><a href="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/105.jpg?ssl=1"><img class="aligncenter size-full wp-image-304357" src="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/105.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/105.jpg?w=813&ssl=1 813w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/105.jpg?resize=300%2C153&ssl=1 300w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/105.jpg?resize=768%2C391&ssl=1 768w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/105.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Съдържанието е домейн с всякаква уникална информация. Това е категорията, в която поставях и всички уеб сайтове, за които имах някакви съмнения.</p>Реклама: 23% или приблизително 31 милиона домейна<p><a href="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/106.jpg?ssl=1"><img class="aligncenter size-full wp-image-304356" src="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/106.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/106.jpg?w=813&ssl=1 813w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/106.jpg?resize=300%2C153&ssl=1 300w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/106.jpg?resize=768%2C391&ssl=1 768w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/106.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Обърнете внимание, че половината домейни от тази категория са паркирани домейни на GoDaddy, на които GoDaddy поставя рекламите на Google въз основа на ключовите думи, свързани с домейна.</p>Без уеб сървър: 11% или около 16 милиона<p>Ако не можех на осъществя връзка или да получа отговор по портовете 80 или 443 за домейна от първо ниво или за www субдомейна, при условие, че няма MX записи, поставях домейна в тази категория. Навярно някои от тези домейни така или иначе се използват – например като FTP или гейм сървър, но ми се струва, че това се прави рядко. И още, тук поставих всички сайтове с IPv6 протокола, понеже сървърът, който използвах за обхождането бе настроен само за IP4.</p>Нищо – 9,2% или приблизително 13 милиона<p><a href="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/107-1.jpg?ssl=1"><img class="aligncenter size-full wp-image-304355" src="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/107-1.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/107-1.jpg?w=813&ssl=1 813w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/107-1.jpg?resize=300%2C153&ssl=1 300w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/107-1.jpg?resize=768%2C391&ssl=1 768w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/107-1.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Празният домейн е този, за който уеб сървърът отговаря на запитванията, но връща празни страници, грешка 404 или незапълнени шаблони (възможно е това да е инсталиран WordPress с настройките по подразбиране).</p><p>Разликата между паркирания и празния домейн е, че за празния домейн се предполага, че е настроен от потребителя, но още не е добавено съдържание.</p>За продан: 7,1% или около 9,8 милиона<p><a href="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/108.jpg?ssl=1"><img class="aligncenter size-full wp-image-304354" src="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/108.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/108.jpg?w=813&ssl=1 813w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/108.jpg?resize=300%2C153&ssl=1 300w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/108.jpg?resize=768%2C391&ssl=1 768w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/108.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Много домейни се продават чрез различни брокери и търговски площадки. Почти половината от тях се продават от HugeDomains, въпреки че в техния сайт можем да видим надписа за над 200 000 достъпни домейна.</p>Грешка: 5,7% или ~7,9 милиона<p><a href="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/109.jpg?ssl=1"><img class="aligncenter size-full wp-image-304353" src="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/109.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/109.jpg?w=813&ssl=1 813w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/109.jpg?resize=300%2C153&ssl=1 300w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/109.jpg?resize=768%2C391&ssl=1 768w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/109.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Ако домейнът връща грешка от какъвто и да било тип – HTTP или има грешка в страницата, то той бе класифициран тук.</p>Паркирани: 4,8% или ~6,5 милиона<p><a href="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/110.jpg?ssl=1"><img class="aligncenter size-full wp-image-304352" src="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/110.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/110.jpg?w=813&ssl=1 813w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/110.jpg?resize=300%2C153&ssl=1 300w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/110.jpg?resize=768%2C391&ssl=1 768w, https://i1.wp.com/www.kaldata.com/wp-content/uploads/2019/02/110.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Паркираните домейни показват страницата на регистратора или съобщават, че домейнът още не е настроен. За да попадне в тази категория, домейнът трябва да показва страница без външна реклама. Той може да рекламира собствените си услуги, но не може да помества обяви от рекламните мрежи.</p>Хазартни игри: 3,0% или ~4 милиона<p><a href="https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/111-1.jpg?ssl=1"><img class="aligncenter size-full wp-image-304351" src="https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/111-1.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/111-1.jpg?w=813&ssl=1 813w, https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/111-1.jpg?resize=300%2C153&ssl=1 300w, https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/111-1.jpg?resize=768%2C391&ssl=1 768w, https://i2.wp.com/www.kaldata.com/wp-content/uploads/2019/02/111-1.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Почти всички сайтове от тази категория са на китайски език и често работят под псевдоними. Най-често това са кратки редове от цифри и съгласни (например 17770012 или tdwhtr). Те много си приличат и използват един и същи шаблон. Изображенията им също са подобни и имат автоматично генерирани логотипи. Явно по този начин привличат хората.</p>Поща: 2.6% или ~3,5 милиона<p>Ако домейнът не е подходящ за никоя категория, но има MX запис в DNS за email, то го слагах в тази категория. Не съм проверявал дали работи пощенският сървър и доставката. Възможно е някои от тези домейни да не се използват за електронна поща.</p>Пренасочващи 1,1% или ~1,6<p>Това са „домейните на тщеславието“, които препращат към страници на Facebook, към алтернативни страници на компаниите и т.н.</p>Частни 0,64% или ~0,9 милиона<p><a href="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/112.jpg?ssl=1"><img class="aligncenter size-full wp-image-304350" src="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/112.jpg?resize=696%2C354&ssl=1" alt=" .com " width="696" height="354" srcset="https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/112.jpg?w=813&ssl=1 813w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/112.jpg?resize=300%2C153&ssl=1 300w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/112.jpg?resize=768%2C391&ssl=1 768w, https://i0.wp.com/www.kaldata.com/wp-content/uploads/2019/02/112.jpg?resize=696%2C354&ssl=1 696w" sizes="(max-width: 696px) 100vw, 696px" data-recalc-dims="1" /></a></p><p>Това са сайтове, страниците в които са недостъпни без правилните потребителско име и парола, а в някои случаи искат и регистрация.</p>Порно 0,59% или ~0,8 милиона<p>Подобно на хазартните сайтове, много порносайтове използват псевдоними. И тук повечето сайтове са на китайски език, а домейните следват едни и същи шаблони за имената. Тъй като почти всички сайтове от този тип показват порнографски материали без предупреждение, реших да не правя скрийншоти.</p></div> </article> <!-- AdSense --> <div class="adsense-inline"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8037167107458968" data-ad-slot="6582135542" data-ad-format="auto" data-full-width-responsive="true"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </div> <!-- Comments --> <div class="section-block"> <div class="section-head last">Коментари</div> <div class="comments-area"> <div id="alert">Все още няма коментари</div> </div><!-- /.comments-area --> </div><!-- /.section-block comments --> </div><!-- /.left-page --> <!-- ─────────────── Sidebar ─────────────── --> <div class="side-right"> <div class="sidebar-block"> <div class="section-head cl">Статистика</div> <table class="widget-table"> <tr><td class="gore">Прегледи</td><td class="gore">163</td></tr> <tr><td class="gore">Коментари</td><td class="gore">0</td></tr> <tr><td class="gore">Добавена на</td><td class="gore">22 Фев 2019</td></tr> <tr><td class="gore">Източник</td><td class="gore">Kaldata</td></tr> </table> </div> <!-- Related news --> <div class="sidebar-block"> <div class="section-head cl">Още новини</div> <div class="related-list"> <a class="related-item" href="pages/novini/106594/dizaynerskiqt-geniy-koyto-promeni-sveta-razgadavane-na-revolyucionnite-principi-na-stiv-djobs.html">Дизайнерският гений, който промени света: разгадаване на революционните принципи на Стив Джобс</a> <a class="related-item" href="pages/novini/106593/za-pyrvi-pyt-amerikanski-ucheni-registriraha-kvantov-skok-v-zvuka-v-realno-vreme.html">За първи път: Американски учени регистрираха квантов скок в звука в реално време</a> <a class="related-item" href="pages/novini/106592/temperaturna-inovaciq-kitayski-ucheni-syzdadoha-boq-koqto-ohlajda-povyrhnostite-boqdisani-s-neq-s-25-C.html">Температурна иновация: Китайски учени създадоха боя, която охлажда повърхностите, боядисани с нея с 25°C</a> <a class="related-item" href="pages/novini/106591/oon-startira-s-Google-statisticheska-platforma-za-ii-sistemite.html">ООН стартира с Google статистическа платформа за ИИ системите</a> <a class="related-item" href="pages/novini/106590/jena-prekara-6-meseca-v-zatvor-poradi-greshka-na-sistema-za-licevo-razpoznavane-a-sega-iska-10-mln-dolara-obezshtetenie.html">Жена прекара 6 месеца в затвор, поради грешка на система за лицево разпознаване, а сега иска 10 млн. долара обезщетение</a> <a class="related-item" href="pages/novini/106589/kitay-razraboti-pravila-v-sluchay-che-izkustveniqt-intelekt-izleze-izvyn-kontrol.html">Китай разработи правила в случай, че изкуственият интелект излезе извън контрол</a> </div> </div> </div><!-- /.side-right --> <div style="clear:both"></div> </main> <!-- ── Mobile bottom tab bar ── --> <nav class="mobile-tabbar" aria-label="Долна навигация"> <a href="/" class="mt-item"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 11l9-8 9 8"/><path d="M5 10v10h14V10"/></svg> <span>Начало</span> </a> <a href="pages/clips.html" class="mt-item"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="6" width="14" height="12" rx="2"/><path d="M17 10l4-2v8l-4-2z"/></svg> <span>Видео</span> </a> <a href="pages/novini.html" class="mt-item active"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7 8h10M7 12h10M7 16h6"/></svg> <span>Новини</span> </a> <a href="pages/fun.html" class="mt-item"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M8 14s1.5 2 4 2 4-2 4-2"/><circle cx="9" cy="10" r=".6" fill="currentColor"/><circle cx="15" cy="10" r=".6" fill="currentColor"/></svg> <span>Забава</span> </a> <a href="#" class="mt-item" onclick="itbgToggleDrawer(true);return false;"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4 21c1-4 4-6 8-6s7 2 8 6"/></svg> <span>Аз</span> </a> </nav> <!-- ── FOOTER ── --> <footer class="site-footer"> <div class="site-footer-inner"> <nav class="footer-nav" aria-label="Навигация в подвала"> <div class="footer-nav-col"> <span class="footer-nav-heading">Съдържание</span> <a href="pages/novini.html">IT новини</a> <a href="pages/clips.html">Видео клипове</a> <a href="pages/games.html">Безплатни игри</a> <a href="pages/fun.html">Забавно</a> <a href="pages/polezno.html">Полезно</a> </div> <div class="footer-nav-col"> <span class="footer-nav-heading">Уебмастъри</span> <a href="pages/web-sites.html">Каталог сайтове</a> <a href="pages/website-checker.html">Проверка на сайт</a> <a href="pages/webmasters.html">За уебмастъри</a> <a href="pages/addsite.html">Добави сайт</a> </div> <div class="footer-nav-col"> <span class="footer-nav-heading">IT-BG.org</span> <a href="pages/itbg.html">За нас</a> <a href="pages/contact.html">Контакти</a> <a href="pages/banners.html">Реклама</a> <a href="pages/sitemap.html">Карта на сайта</a> <a href="pages/privacy.html">Поверителност</a> </div> </nav> <div class="footer-copy"> <a href="https://it-bg.org" title="Българският ИТ портал"><strong>IT-BG.org</strong></a> - Всички права запазени<br> Създаден от: <a href="http://vilieff.com" target="_blank" rel="noopener">В. Илиев</a>  ·  Хостинг: <a href="https://bulinfo.net/" target="_blank" rel="noopener">Bulinfo.net</a> </div> </div> </footer> <script> function itbgToggleAssistant(e) { e.preventDefault(); var box = document.getElementById('userBoxDiv'); if (!box) return; box.style.display = (box.style.display === 'none' || box.style.display === '') ? 'block' : 'none'; } // ── Mobile drawer ── function itbgToggleDrawer(open) { var d = document.getElementById('itbgDrawer'); var o = document.getElementById('itbgDrawerOverlay'); if (!d || !o) return; if (open) { o.hidden = false; // allow the overlay to render before transitioning the panel in requestAnimationFrame(function(){ d.classList.add('open'); o.classList.add('open'); }); d.setAttribute('aria-hidden', 'false'); document.body.classList.add('drawer-locked'); } else { d.classList.remove('open'); o.classList.remove('open'); d.setAttribute('aria-hidden', 'true'); document.body.classList.remove('drawer-locked'); setTimeout(function(){ o.hidden = true; }, 250); } } // ── Mobile search bar ── function itbgToggleSearch() { var s = document.getElementById('itbgMobileSearch'); if (!s) return; s.hidden = !s.hidden; if (!s.hidden) { var inp = document.getElementById('itbgMobileSearchInput'); if (inp) inp.focus(); } } document.addEventListener('keydown', function(e){ if (e.key === 'Escape') itbgToggleDrawer(false); }); // Redirect search to the pretty-URL format pages/search/{query}.html // so the existing .htaccess rewrite picks it up cleanly. function itbgSearch(form) { var q = form.querySelector('[name="query"]').value.trim(); if (!q) return false; if (typeof gtag === 'function') gtag('event', 'search', { search_term: q }); window.location.href = 'pages/search/' + encodeURIComponent(q) + '.html'; return false; } </script> <!-- ── Cookie consent bar ── --> <div id="itbgConsent" class="consent-bar" hidden> <p>Използваме бисквитки за статистика и реклами (Google Analytics и AdSense). Повече в <a href="pages/privacy.html">политиката за поверителност</a>.</p> <div class="consent-actions"> <button type="button" class="btn-ghost" onclick="itbgConsent(false)">Само необходимите</button> <button type="button" class="btn-solid" onclick="itbgConsent(true)">Приемам</button> </div> </div> <script> // ── Consent bar logic ── function itbgConsent(ok) { var exp = new Date(Date.now() + (ok ? 365 : 180) * 864e5).toUTCString(); document.cookie = 'itbg_consent=' + (ok ? 'yes' : 'no') + '; expires=' + exp + '; path=/; SameSite=Lax'; if (ok && typeof gtag === 'function') { gtag('consent', 'update', { 'ad_storage': 'granted', 'ad_user_data': 'granted', 'ad_personalization': 'granted', 'analytics_storage': 'granted' }); } var bar = document.getElementById('itbgConsent'); if (bar) bar.hidden = true; } if (document.cookie.indexOf('itbg_consent=') === -1) { document.getElementById('itbgConsent').hidden = false; } // ── GA4 event tracking (delegated, no per-page code needed) ── (function () { function track(name, params) { if (typeof gtag === 'function') gtag('event', name, params || {}); } // Tool usage: SMS, translation, website checker document.addEventListener('submit', function (e) { var f = e.target; if (!f || f.tagName !== 'FORM') return; if (f.querySelector('[name="sendsms"]')) { track('tool_used', { tool: 'sms' }); } else if (f.className.indexOf('translation-form') !== -1) { var from = f.querySelector('[name="from"]'), to = f.querySelector('[name="to"]'); track('tool_used', { tool: 'translation', lang_from: from ? from.value : '', lang_to: to ? to.value : '' }); } else if ((f.getAttribute('action') || '').indexOf('website-checker') !== -1) { track('tool_used', { tool: 'website_checker' }); } }, true); // Directory, partner-bar and outbound clicks document.addEventListener('click', function (e) { var a = e.target.closest ? e.target.closest('a[href]') : null; if (!a) return; var href = a.getAttribute('href') || ''; if (href.indexOf('click.php?id=') !== -1) { track('directory_click', { item_id: href.split('id=')[1] }); } else if (a.closest('.partner-bar')) { track('outbound_click', { link_url: href, location: 'partner_bar' }); } else if (/^https?:\/\//.test(href) && href.indexOf('it-bg.org') === -1) { track('outbound_click', { link_url: href, location: 'content' }); } }, true); // Content engagement: wrap legacy vote/fav functions if present on this page ['vote', 'favadd', 'favdel'].forEach(function (fn) { if (typeof window[fn] !== 'function') return; var orig = window[fn]; var types = { 1: 'news', 2: 'clip', 3: 'game' }; window[fn] = function () { try { if (fn === 'vote') { track('content_vote', { item_id: String(arguments[1]), content_type: types[arguments[2]] || String(arguments[2]) }); } else { track(fn === 'favadd' ? 'favorite_added' : 'favorite_removed', { item_id: String(arguments[0]), content_type: types[arguments[1]] || String(arguments[1]) }); } } catch (err) {} return orig.apply(this, arguments); }; }); })(); </script> </body> </html>