1/** 2 * Kokobeo SEO Categories - POLSKA 3 * 188 kategorii à 50 miast à 20 wzorów = 188.000 keywords 4 * Plik: seo-categories-pl.js 5 * Aktywuje siÄ przy lang="pl" 6 */ 7(function() { 8 'use strict'; 9 10 function getLang() { 11 return (document.documentElement.lang || '').toLowerCase().substring(0, 2); 12 } 13 14 var C = [ 15 "Hydraulik","Elektryk","Ålusarz","Malarz","Stolarz", 16 "Firma sprzÄ tajÄ ca","Ogrodnik","ZÅota rÄ czka","Firma przeprowadzkowa","Technik HVAC", 17 "Murarz","Dezynsekcja","Dekarz","Spawacz","Glazurnik", 18 "Szklarz","Posadzkarz","Rozbiórki","Technik basenów","Instalator paneli sÅonecznych", 19 "Hydraulik mieszkaniowy","Hydraulik komercyjny","Hydraulik awaryjny 24H", 20 "Hydraulik przemysÅowy","Hydraulik ekologiczny", 21 "Elektryk mieszkaniowy","Elektryk komercyjny","Elektryk awaryjny 24H", 22 "Elektryk przemysÅowy","Elektryk smart home", 23 "Ålusarz awaryjny 24H","Ålusarz samochodowy","Ålusarz komercyjny", 24 "Ålusarz mieszkaniowy","Technik sejfów", 25 "Malarz wnÄtrz","Malarz elewacji","Malarz komercyjny", 26 "Malarz dekoracyjny","Tapeciarz", 27 "Stolarz meblowy","Stolarz","Stolarz wykoÅczeniowy","CieÅla", 28 "SprzÄ tanie domu","SprzÄ tanie biur","SprzÄ tanie gruntowne", 29 "SprzÄ tanie po remoncie","Mycie okien", 30 "Architekt krajobrazu","PielÄgnacja drzew","PielÄgnacja trawnika", 31 "Specjalista nawadniania","Projektant ogrodów", 32 "Montaż mebli","Naprawy ogólne","Naprawa regipsów","Mycie ciÅnieniowe", 33 "Przeprowadzki lokalne","Przeprowadzki miÄdzymiastowe","Przeprowadzki biurowe", 34 "Transport pianina","UsÅugi pakowania", 35 "Naprawa klimatyzacji","Naprawa ogrzewania","Wentylacja", 36 "Instalator pompy ciepÅa","Technik kotÅów", 37 "Murarz ceglany","Kamieniarz","Betoniarz","Blokarz", 38 "Dezynsekcja termitów","Deratyzacja","Zwalczanie pluskiew", 39 "Zwalczanie komarów", 40 "Naprawa dachu","Montaż dachu","Hydroizolacja", 41 "Naprawa rynien","PrzeglÄ d dachu", 42 "Naprawa sprzÄtu AGD","Naprawa pralki","Naprawa suszarki", 43 "Naprawa lodówki","Naprawa zmywarki","Naprawa piekarnika", 44 "Naprawa mikrofalówki","Naprawa zamrażarki", 45 "Naprawa AGD 24H","Instalacja AGD", 46 "Naprawa komputera","Naprawa komputera 24H","Wsparcie IT", 47 "Naprawa telefonu","Odzyskiwanie danych","Instalacja sieci", 48 "Naprawa drukarki","Usuwanie wirusów","Konfiguracja smart home", 49 "Instalacja monitoringu", 50 "Mechanik samochodowy","Blacharz","Wulkanizacja","Elektryk samochodowy", 51 "Mechanik mobilny","Naprawa samochodów 24H","Wymiana oleju","PrzeglÄ d techniczny", 52 "Fotograf","Fotograf Ålubny","Fotograf eventowy","Fotograf portretowy", 53 "Kamerzysta","Fotograf nieruchomoÅci", 54 "Organizator eventów","Wedding planner","Catering","DJ", 55 "Kwiaciarnia","Dekorator eventów","Wynajem sprzÄtu eventowego", 56 "Animator imprez dzieciÄcych", 57 "Trener personalny","Trener personalny z dojazdem","Trener personalny online", 58 "Masażysta","Masaż sportowy","Masaż leczniczy", 59 "Masaż relaksacyjny","Drenaż limfatyczny", 60 "Dietetyk","Fizjoterapeuta", 61 "Fryzjer","Barber","Kosmetyczka","Manicure i pedicure", 62 "Makijażystka","PrzedÅużanie rzÄs","Zabiegi na twarz","Depilacja", 63 "Korepetycje","Lektor jÄzyków","Nauczyciel muzyki", 64 "Korepetycje z matematyki","Korepetycje z informatyki","Przygotowanie do egzaminów", 65 "Opiekun psów","Opiekun kotów","Wyprowadzanie psów","Salon groomerski", 66 "Szkolenie psów", 67 "Adwokat","KsiÄgowy","Doradca finansowy", 68 "Notariusz","Doradca podatkowy","Doradca kredytowy", 69 "Programista stron www","Programista aplikacji","Grafik", 70 "Social media manager","Specjalista SEO","Copywriter", 71 "Web designer","Programista e-commerce","Konsultant marketingu cyfrowego", 72 "Montażysta wideo", 73 "UsÅugi szoferskie","Transfer lotniskowy","Kurier", 74 "Transport towarów","Wynajem auta z kierowcÄ ", 75 "Projektant wnÄtrz","Architekt","Generalny wykonawca", 76 "Projektant kuchni","Home stager", 77 "Krawiec","Szewc","Tapicer","Renowacja mebli", 78 "Montaż zasÅon","Montaż moskitier","Technik anten TV", 79 "Naprawa rowerów","Zegarmistrz","Stroiciel fortepianów" 80 ]; 81 82 // 50 polskich miast (wszystkie województwa) 83 var P = [ 84 "Warszawa","Kraków","Åódź","WrocÅaw","PoznaÅ","GdaÅsk","Szczecin","Bydgoszcz", 85 "Lublin","BiaÅystok","Katowice","Gdynia","CzÄstochowa","Radom","Sosnowiec","ToruÅ", 86 "Kielce","Rzeszów","Gliwice","Zabrze","Olsztyn","Bielsko-BiaÅa","Bytom","Zielona Góra",
87 "Rybnik","Ruda ÅlÄ ska","Opole","Tychy","Gorzów Wielkopolski","ElblÄ g", 88 "PÅock","DÄ browa Górnicza","WaÅbrzych","WÅocÅawek","Tarnów","Chorzów", 89 "Koszalin","Kalisz","Legnica","GrudziÄ dz","Jaworzno","SÅupsk", 90 "JastrzÄbie-Zdrój","Nowy SÄ cz","Jelenia Góra","Siedlce","MysÅowice", 91 "PiÅa","Ostrów Wielkopolski","Lubin" 92 ]; 93 94 var T = [ 95 "{p} {c}", 96 "{p} w {c}", 97 "najlepszy {p} {c}", 98 "{p} tanio {c}", 99 "{p} awaryjny {c}", 100 "{p} 24 godziny {c}", 101 "{p} w pobliżu {c}", 102 "{p} cena {c}", 103 "wycena {p} {c}", 104 "{p} z dojazdem {c}", 105 "zaufany {p} {c}", 106 "certyfikowany {p} {c}", 107 "usÅugi {p} {c}", 108 "szukam {p} {c}", 109 "znajdź {p} {c}", 110 "{p} opinie {c}", 111 "{p} cennik {c}", 112 "profesjonalny {p} {c}", 113 "{p} polecany {c}", 114 "{p} darmowa wycena {c}" 115 ]; 116 117 function shuffle(arr) { 118 var a = arr.slice(); 119 for (var i = a.length - 1; i > 0; i--) { 120 var j = Math.floor(Math.random() * (i + 1)); 121 var tmp = a[i]; a[i] = a[j]; a[j] = tmp; 122 } 123 return a; 124 } 125 126 function generateKeywords(count) { 127 var kws = []; 128 var cats = shuffle(C); 129 var provs = shuffle(P); 130 var pats = shuffle(T); 131 var numCats = Math.min(15, cats.length); 132 var numProvs = Math.min(12, provs.length); 133 var numPats = Math.min(8, pats.length); 134 for (var ci = 0; ci < numCats; ci++) { 135 for (var pi = 0; pi < numProvs; pi++) { 136 for (var ti = 0; ti < numPats; ti++) { 137 kws.push(pats[ti].replace('{p}', cats[ci]).replace('{c}', provs[pi])); 138 } 139 } 140 } 141 kws = shuffle(kws); 142 return kws.slice(0, count); 143 } 144 145 function injectKeywords() { 146 var lang = getLang(); 147 if (lang !== 'pl') return; 148 var existing = document.querySelector('meta[name="keywords"][data-source="seo-categories-pl"]'); 149 if (existing) existing.remove(); 150 var keywords = generateKeywords(80); 151 var meta = document.createElement('meta'); 152 meta.name = 'keywords'; 153 meta.content = keywords.join(', '); 154 meta.setAttribute('data-source', 'seo-categories-pl'); 155 document.head.appendChild(meta); 156 } 157 158 if (document.readyState === 'loading') { 159 document.addEventListener('DOMContentLoaded', injectKeywords); 160 } else { 161 injectKeywords(); 162 } 163 164 var obs = new MutationObserver(function(mutations) { 165 mutations.forEach(function(m) { 166 if (m.attributeName === 'lang') injectKeywords(); 167 }); 168 }); 169 obs.observe(document.documentElement, { attributes: true }); 170})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.