1/** 2 * Kokobeo SEO Categories - ëíë¯¼êµ 3 * 188 categories à 40 cities à 20 patterns = 150.400 keywords 4 * File: seo-categories-kr.js 5 * Activates on lang="ko" 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 "ë°°ê´ê³µ","ì 기기ì¬","ì´ì ì리","íì¸í¸ê³µ","목ì", 16 "ì²ìì ì²´","ì ìì¬","ë§ë¥ì리기ì¬","ì´ì¬ì ì²´","ëë방기ì ì", 17 "미ì¥ì´","í´ì¶©ë°©ì ","ì§ë¶ì리","ì©ì ê³µ","íì¼ê³µ", 18 "ì 리기ì¬","ë°ë¥ìê³µ","ì² ê±°ê³µì¬","ììì¥ê¸°ì ì","íìê´í¨ëì¤ì¹", 19 "ê°ì ë°°ê´ê³µ","ìì ë°°ê´ê³µ","긴ê¸ë°°ê´ê³µ 24ìê°", 20 "ì°ì ë°°ê´ê³µ","ì¹í경배ê´ê³µ", 21 "ê°ì ì 기기ì¬","ìì ì 기기ì¬","긴ê¸ì ê¸°ê¸°ì¬ 24ìê°", 22 "ì°ì ì 기기ì¬","ì¤ë§í¸íì 기기ì¬", 23 "긴ê¸ì´ì ì리 24ìê°","ìëì°¨ì´ì ì리","ìì ì´ì ì리", 24 "ê°ì ì´ì ì리","ê¸ê³ 기ì ì", 25 "ì¤ë´íì¸í¸","ì¸ë¶íì¸í¸","ìì íì¸í¸", 26 "ì¥ìíì¸í¸","ë²½ì§ìê³µ", 27 "ê°êµ¬ëª©ì","ìºë¹ëì ì","ë§ê°ëª©ì","구조목ì", 28 "ê°ì ì²ì","ì¬ë¬´ì¤ì²ì","ì ë°ì²ì", 29 "ê³µì¬íì²ì","창문ì²ì", 30 "ì¡°ê²½ì¬","ì목ê´ë¦¬","ìëê´ë¦¬", 31 "ê´ê°ì 문ê°","ì ìëìì´ë", 32 "ê°êµ¬ì¡°ë¦½","ì¼ë°ì리","ìê³ ë³´ëì리","ê³ ìì¸ì²", 33 "ì§ìì´ì¬","ì¥ê±°ë¦¬ì´ì¬","ì¬ë¬´ì¤ì´ì¬", 34 "í¼ìë ¸ì´ë°","í¬ì¥ìë¹ì¤", 35 "ìì´ì»¨ì리","ëë°©ì리","í기공ì¬", 36 "íí¸ííì¤ì¹","ë³´ì¼ë¬ê¸°ì ì", 37 "ë²½ëê³µ","ìê³µ","ì½í¬ë¦¬í¸ê³µ","ë¸ë¡ê³µ", 38 "í°ê°ë¯¸ë°©ì ","ì¥ë°©ì ","ë¹ëí´ì¹", 39 "모기방ì ", 40 "ì§ë¶ìì ","ì§ë¶ì¤ì¹","ë°©ìê³µì¬", 41 "ííµì리","ì§ë¶ì ê²", 42 "ê°ì ì리","ì¸í기ì리","건조기ì리", 43 "ëì¥ê³ ì리","ì기ì¸ì²ê¸°ì리","ì¤ë¸ì리", 44 "ì ìë ì¸ì§ì리","ëëê³ ì리", 45 "ê°ì ì리 24ìê°","ê°ì ì¤ì¹", 46 "ì»´í¨í°ì리","ì»´í¨í°ì리 24ìê°","ITì§ì", 47 "ì¤ë§í¸í°ì리","ë°ì´í°ë³µêµ¬","ë¤í¸ìí¬ì¤ì¹", 48 "í린í°ì리","ë°ì´ë¬ì¤ì ê±°","ì¤ë§í¸íì¤ì ", 49 "CCTVì¤ì¹", 50 "ìëì°¨ì ë¹","íê¸ëì","íì´ì´ìµ","ìëì°¨ì 기", 51 "ì¶ì¥ì ë¹","ìëì°¨ì리 24ìê°","ìì§ì¤ì¼êµí","ìëì°¨ê²ì¬", 52 "ì¬ì§ìê°","ì¨ë©ì´¬ì","ì´ë²¤í¸ì´¬ì","íë¡íì´¬ì",
53 "ììì´¬ì","ë¶ëì°ì´¬ì", 54 "ì´ë²¤í¸ê¸°í","ì¨ë©íëë","ì¼ì´í°ë§","DJ", 55 "íë¡ë¦¬ì¤í¸","ì´ë²¤í¸ì¥ì","ì´ë²¤í¸ì¥ë¹ë í", 56 "ì´ë¦°ì´íí°", 57 "í¼ì¤ëí¸ë ì´ë","방문í¼ì¤ëí¸ë ì´ë","ì¨ë¼ì¸í¼ì¤ëí¸ë ì´ë", 58 "ë§ì¬ì§ì¬","ì¤í¬ì¸ ë§ì¬ì§","ì¹ë£ë§ì¬ì§", 59 "릴ë ì¤ë§ì¬ì§","림íë§ì¬ì§", 60 "ììì¬","물리ì¹ë£ì¬", 61 "í¤ì´ëìì´ë","ë°ë²","ìì¤í í°ì ","ë¤ì¼ìí¸", 62 "ë©ì´í¬ì ìí°ì¤í¸","ìëì¹ì°ì¥","í¼ë¶ê´ë¦¬","ì 모", 63 "ê³¼ì¸","ì´íê°ì¬","ìì ê°ì¬", 64 "ìíê³¼ì¸","ì»´í¨í°ê³¼ì¸","ìíì¤ë¹", 65 "ë°ë ¤ê²¬ëë´","ë°ë ¤ë¬ëë´","ë°ë ¤ê²¬ì°ì± ","ë°ë ¤ë물미ì©", 66 "ë°ë ¤ê²¬íë ¨", 67 "ë³í¸ì¬","íê³ì¬","ì¬ë¬´ìë´ì¬", 68 "ê³µì¦ì¸","ì¸ë¬´ì¬","ëì¶ìë´ì¬", 69 "ì¹ê°ë°ì","ì±ê°ë°ì","ê·¸ëí½ëìì´ë", 70 "SNSë§ì¼í°","SEOì 문ê°","ì¹´í¼ë¼ì´í°", 71 "ì¹ëìì´ë","ì´ì»¤ë¨¸ì¤ê°ë°","ëì§í¸ë§ì¼í 컨ì¤í´í¸",
72 "ììí¸ì§ì", 73 "기ì¬ìë¹ì¤","ê³µíí½ì ","íµìë¹ì¤", 74 "í물ì´ì¡","ë í°ì¹´ê¸°ì¬", 75 "ì¸í 리ì´ëìì´ë","ê±´ì¶ê°","ìê³µì ì²´", 76 "주방ëìì´ë","íì¤í ì´ì§", 77 "ìë³µì ","구ëìì ","ìíìì ","ê°êµ¬ë³µì", 78 "커í¼ì¤ì¹","ë°©ì¶©ë§ì¤ì¹","TVìí ëì¤ì¹", 79 "ìì ê±°ì리","ìê³ì리","í¼ìë ¸ì¡°ì¨ì¬" 80 ]; 81 82 // 40 Korean cities 83 var P = [ 84 "ìì¸","ë¶ì°","ì¸ì²","ë구","ëì ","ê´ì£¼","ì¸ì°","ì¸ì¢ ", 85 "ìì","ì±ë¨","ê³ ì","ì©ì¸","ì°½ì","íì±","ì²ì£¼","ì 주", 86 "ì²ì","ë¨ì주","ê¹í¬","íí","ì 주","í주","ìí¥","ê´ëª ", 87 "í¬í","ê¹í´","ìì°","ìì","구미","ìì°", 88 "ì¶ì²","ì주","ê°ë¦","ìì´","ì¬ì","ìì²", 89 "목í¬","êµ°ì°","경주","ìë" 90 ]; 91 92 var T = [ 93 "{p} {c}", 94 "{c} {p}", 95 "{c} ì¶ì² {p}", 96 "{p} {c} ì ë ´í", 97 "{p} {c} 긴ê¸", 98 "{p} {c} 24ìê°", 99 "{p} {c} ê·¼ì²", 100 "{p} {c} ë¹ì©", 101 "{p} {c} 견ì ", 102 "{p} {c} 방문", 103 "{p} {c} 믿ìë§í", 104 "{p} {c} ì¸ì¦", 105 "{p} ìë¹ì¤ {c}", 106 "{p} {c} 찾기", 107 "{p} {c} ìì½", 108 "{p} {c} í기", 109 "{p} {c} ê°ê²©", 110 "{p} {c} ì 문", 111 "{p} {c} ì¸ê¸°", 112 "{p} {c} 무ë£ê²¬ì " 113 ]; 114 115 function shuffle(arr) { 116 var a = arr.slice(); 117 for (var i = a.length - 1; i > 0; i--) { 118 var j = Math.floor(Math.random() * (i + 1)); 119 var tmp = a[i]; a[i] = a[j]; a[j] = tmp; 120 } 121 return a; 122 } 123 124 function generateKeywords(count) { 125 var kws = []; 126 var cats = shuffle(C); 127 var provs = shuffle(P); 128 var pats = shuffle(T); 129 var numCats = Math.min(15, cats.length); 130 var numProvs = Math.min(12, provs.length); 131 var numPats = Math.min(8, pats.length); 132 for (var ci = 0; ci < numCats; ci++) { 133 for (var pi = 0; pi < numProvs; pi++) { 134 for (var ti = 0; ti < numPats; ti++) { 135 kws.push(pats[ti].replace('{p}', cats[ci]).replace('{c}', provs[pi])); 136 } 137 } 138 } 139 kws = shuffle(kws); 140 return kws.slice(0, count); 141 } 142 143 function injectKeywords() { 144 var lang = getLang(); 145 if (lang !== 'ko') return; 146 var existing = document.querySelector('meta[name="keywords"][data-source="seo-categories-kr"]'); 147 if (existing) existing.remove(); 148 var keywords = generateKeywords(80); 149 var meta = document.createElement('meta'); 150 meta.name = 'keywords'; 151 meta.content = keywords.join(', '); 152 meta.setAttribute('data-source', 'seo-categories-kr'); 153 document.head.appendChild(meta); 154 } 155 156 if (document.readyState === 'loading') { 157 document.addEventListener('DOMContentLoaded', injectKeywords); 158 } else { 159 injectKeywords(); 160 } 161 162 var obs = new MutationObserver(function(mutations) { 163 mutations.forEach(function(m) { 164 if (m.attributeName === 'lang') injectKeywords(); 165 }); 166 }); 167 obs.observe(document.documentElement, { attributes: true }); 168})();
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.