Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Кол-во редиректов для файла robots.txt 3 слишком большое! Это может вызывать затруднение при индексации поисковыми роботами!
Проверяемая страница не запрещена в robots.txt.
Цепочка редиректов для файла robots.txt:
http://kahthong.com/robots.txt
301 MovedPermanently
https://kahthong.com/robots.txt
301 MovedPermanently
https://kt.my/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="en" data-theme="cupcake">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Adam Leow - Developer & Co-founder of Keyword Tool | kt.my</title>
<meta name="description" content="Adam Leow is a full-stack developer and co-founder of Keyword Tool, the keyword research tool used by millions.">
<meta name="author" content="Adam Leow">
<link rel="canonical" href="https://kt.my/">
<meta name="theme-color" id="theme-color" content="#faf7f5">
<script>
(function(){
var s = localStorage.getItem('theme');
var t = s || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dracula' : 'cupcake');
document.documentElement.setAttribute('data-theme', t);
var tc = document.getElementById('theme-color');
if (tc) tc.setAttribute('content', t === 'dracula' ? '#282a36' : '#faf7f5');
})();
</script>
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'><rect width='128' height='128' fill='%231e1e2e' rx='16'/><text x='64' y='84' font-family='monospace' font-size='56' font-weight='700' text-anchor='middle'><tspan fill='%23f38ba8'>K</tspan><tspan fill='%23fab387'>T</tspan></text></svg>">
<!-- Open Graph -->
<meta property="og:title" content="Adam Leow - Developer & Co-founder of Keyword Tool | kt.my">
<meta property="og:description" content="Adam Leow is a full-stack developer and co-founder of Keyword Tool, the keyword research tool used by millions.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://kt.my/">
<meta property="og:image" content="https://kt.my/images/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://kt.my/images/og-image.png">
<meta name="twitter:title" content="Adam Leow - Developer & Co-founder of Keyword Tool | kt.my">
<meta name="twitter:description" content="Adam Leow is a full-stack developer and co-founder of Keyword Tool, the keyword research tool used by millions.">
<!-- Preload fonts -->
<link rel="preload" href="/fonts/google-sans-code-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/google-sans-code-bold.woff2" as="font" type="font/woff2" crossorigin>
<!-- DaisyUI + Tailwind + Google Sans Code (prebuilt) -->
<link href="/css/style.css" rel="stylesheet">
<!-- JSON-LD Person schema -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Adam Leow",
"url": "https://kt.my",
"jobTitle": "Co-Founder & CTO",
"worksFor": [
{
"@type": "Organization",
"name": "Keyword Tool",
"url": "https://keywordtool.io"
}
]
}
</script>
<style>
:root { font-size: 112.5% !important; /* 18px base (16px * 1.125) */ }
@media (max-height: 700px) {
:root { font-size: 100% !important; /* 16px base for small screens */ }
}
body { font-family: 'Google Sans Code', 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', 'Courier New', monospace; }
html { scroll-behavior: smooth; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.cursor-blink::after { content: '█'; animation: blink 1s step-end infinite; margin-left: 2px; }
</style>
</head>
<body class="min-h-screen">
<!-- Sticky Header -->
<header class="sticky top-0 z-50 backdrop-blur-sm bg-base-100/80 border-b border-base-300">
<nav class="navbar max-w-3xl mx-auto px-6">
<div class="flex-1">
<a href="/" class="text-xl font-bold tracking-tight">kt.my</a>
</div>
<div class="flex-none">
<button onclick="toggleTheme()" class="btn btn-ghost btn-circle" aria-label="Toggle theme">
<!-- Sun icon (shown in dark mode) -->
<svg id="sun-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:none;">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
<!-- Moon icon (shown in light mode) -->
<svg id="moon-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
</button>
</div>
</nav>
</header>
<!-- Main content -->
<main class="max-w-3xl mx-auto px-6">
<!-- Hero section -->
<section class="py-10 sm:py-20">
<div class="flex flex-col sm:flex-row items-center sm:items-start justify-between gap-8">
<div>
<h1 class="text-3xl sm:text-4xl font-bold mb-2">Adam Leow</h1>
<p class="text-lg opacity-70 cursor-blink">co-founder & cto @ keywordtool.io</p>
<p class="leading-relaxed opacity-80 mt-6">
I co-founded <a href="https://keywordtool.io" class="link" target="_blank" rel="noopener">Keyword Tool</a> - used by millions to discover long-tail keywords across Google, YouTube, Amazon, and more. It's the go-to keyword research tool for SEO professionals, content creators, and Fortune 500 teams worldwide.
</p>
</div>
<!-- KT Code Block monogram -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="256" height="256" class="rounded-lg shrink-0" role="img" aria-label="KT monogram styled as a code editor window">
<rect width="128" height="128" fill="#1e1e2e" rx="6"/>
<rect x="0" y="0" width="128" height="22" fill="#181825" rx="6"/>
<rect x="0" y="16" width="128" height="6" fill="#181825"/>
<rect x="6" y="4" width="48" height="18" fill="#1e1e2e" rx="3"/>
<text x="12" y="17" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#cdd6f4">monogram.ts</text>
<rect x="0" y="22" width="18" height="106" fill="#181825"/>
<text x="9" y="36" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7" fill="#45475a" text-anchor="middle">1</text>
<text x="9" y="50" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7" fill="#45475a" text-anchor="middle">2</text>
<text x="9" y="64" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7" fill="#45475a" text-anchor="middle">3</text>
<text x="9" y="78" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7" fill="#45475a" text-anchor="middle">4</text>
<text x="9" y="92" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7" fill="#45475a" text-anchor="middle">5</text>
<text x="9" y="106" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7" fill="#45475a" text-anchor="middle">6</text>
<text x="22" y="36" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#cba6f7">const</text>
<text x="48" y="36" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#89dceb">mark</text>
<text x="70" y="36" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#cdd6f4">=</text>
<text x="22" y="50" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#89b4fa">type</text>
<text x="44" y="50" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#a6e3a1">Logo</text>
<text x="64" y="50" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#cdd6f4">=</text>
<text x="22" y="72" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="30" font-weight="700" fill="#f38ba8" letter-spacing="0">K</text>
<text x="54" y="72" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="30" font-weight="700" fill="#fab387">T</text>
<text x="22" y="92" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7" fill="#6c7086">// kt.my</text>
<text x="22" y="106" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#cba6f7">export</text>
<text x="52" y="106" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#89dceb">default</text>
<text x="86" y="106" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="7.5" fill="#a6e3a1">mark</text>
<rect x="0" y="116" width="128" height="12" fill="#181825"/>
<text x="22" y="125" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="6.5" fill="#89b4fa">TypeScript</text>
<text x="90" y="125" font-family="'Google Sans Code', 'SF Mono', 'Fira Code', 'Courier New', monospace" font-size="6.5" fill="#6c7086">ln 3, col 4</text>
</svg>
</div>
</section>
<!-- Projects section -->
<section class="py-6 sm:py-12">
<h2 class="text-2xl font-bold mb-6">projects</h2>
<!-- Keyword Tool card -->
<a href="https://keywordtool.io" target="_blank" rel="noopener" class="card bg-base-200 border border-base-300 hover:shadow-lg transition-shadow duration-200 no-underline relative max-w-lg">
<img src="/images/keyword-tool-logo.png" alt="Keyword Tool logo" width="32" height="32" loading="lazy" class="absolute top-3 right-3 rounded">
<div class="card-body">
<div class="flex items-center gap-2">
<h3 class="card-title text-base">Keyword Tool</h3>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="opacity-50" aria-hidden="true"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
</div>
<p class="text-sm opacity-70 -mt-1">The #1 keyword research tool</p>
<p class="text-sm opacity-80 mt-2">Discover long-tail keywords across Google, YouTube, Amazon, Bing, and more. Powered by autocomplete data from multiple search engines. Used by Fortune 500 teams and SEO professionals worldwide.</p>
</div>
</a>
</section>
</main>
<!-- Footer -->
<footer class="border-t border-base-300 mt-10 sm:mt-20">
<div class="max-w-3xl mx-auto px-6 py-8 flex flex-col sm:flex-row items-center justify-between gap-4 text-sm opacity-70">
<span>© <script>document.write(new Date().getFullYear())</script> Adam Leow</span>
<a href="/cdn-cgi/l/email-protection#81e9e4ededeec1eaf5afecf8" class="link link-hover"><span class="__cf_email__" data-cfemail="721a171e1e1d3219065c1f0b">[email protected]</span></a>
</div>
</footer>
<!-- Theme toggle script -->
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
(function() {
const html = document.documentElement;
const LIGHT = 'cupcake';
const DARK = 'dracula';
function getSystemTheme() {
return window.matchMedia('(prefers-color-scheme: dark)').matches ? DARK : LIGHT;
}
function applyTheme(theme) {
html.setAttribute('data-theme', theme);
var tc = document.getElementById('theme-color');
if (tc) tc.setAttribute('content', theme === DARK ? '#282a36' : '#faf7f5');
}
const saved = localStorage.getItem('theme');
applyTheme(saved || getSystemTheme());
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', function(e) {
if (!localStorage.getItem('theme')) {
var next = e.matches ? DARK : LIGHT;
applyTheme(next);
updateToggleIcon(next);
}
});
window.toggleTheme = function() {
const current = html.getAttribute('data-theme');
const next = current === DARK ? LIGHT : DARK;
localStorage.setItem('theme', next);
applyTheme(next);
updateToggleIcon(next);
};
window.updateToggleIcon = function(theme) {
const sunIcon = document.getElementById('sun-icon');
const moonIcon = document.getElementById('moon-icon');
if (sunIcon && moonIcon) {
sunIcon.style.display = theme === DARK ? 'block' : 'none';
moonIcon.style.display = theme === DARK ? 'none' : 'block';
}
};
updateToggleIcon(html.getAttribute('data-theme'));
})();
</script>
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"fc32be84dcdb44cf8fc93457813ea54d","r":1}' crossorigin="anonymous"></script>
</body>
</html>