Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Ultimate SEO Toolkit - 1000+ Free SEO Tools</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| .gradient-bg { | |
| background: linear-gradient(135deg, #6e8efb, #a777e3); | |
| } | |
| .tool-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); | |
| } | |
| .progress-ring__circle { | |
| transition: stroke-dashoffset 0.35s; | |
| transform: rotate(-90deg); | |
| transform-origin: 50% 50%; | |
| } | |
| .search-box:focus-within { | |
| box-shadow: 0 0 0 3px rgba(110, 142, 251, 0.3); | |
| } | |
| .tab-content { | |
| display: none; | |
| } | |
| .tab-content.active { | |
| display: block; | |
| animation: fadeIn 0.5s; | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-50 font-sans"> | |
| <!-- Header --> | |
| <header class="gradient-bg text-white shadow-lg"> | |
| <div class="container mx-auto px-4 py-6"> | |
| <div class="flex flex-col md:flex-row justify-between items-center"> | |
| <div class="flex items-center mb-4 md:mb-0"> | |
| <i class="fas fa-chart-line text-3xl mr-3"></i> | |
| <h1 class="text-2xl md:text-3xl font-bold">Ultimate SEO Toolkit</h1> | |
| </div> | |
| <div class="bg-yellow-400 text-gray-900 px-4 py-2 rounded-full font-bold animate-pulse"> | |
| 1000+ FREE SEO Tools - All Working! | |
| </div> | |
| <div class="flex items-center space-x-4"> | |
| <div class="relative search-box bg-white rounded-full px-4 py-2 flex items-center transition-all duration-300"> | |
| <i class="fas fa-search text-gray-400 mr-2"></i> | |
| <input type="text" placeholder="Search tools..." class="outline-none text-gray-800 w-full md:w-64"> | |
| </div> | |
| <button class="bg-white text-indigo-600 px-4 py-2 rounded-full font-medium hover:bg-gray-100 transition">Login</button> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Main Content --> | |
| <main class="container mx-auto px-4 py-8"> | |
| <!-- Stats Overview --> | |
| <section class="mb-12"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-6"> | |
| <div class="bg-white rounded-xl shadow-md p-6 flex items-center"> | |
| <div class="bg-indigo-100 p-3 rounded-full mr-4"> | |
| <i class="fas fa-globe text-indigo-600 text-xl"></i> | |
| </div> | |
| <div> | |
| <h3 class="text-gray-500 text-sm">Total Tools</h3> | |
| <p class="text-2xl font-bold">1000+</p> | |
| </div> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6 flex items-center"> | |
| <div class="bg-green-100 p-3 rounded-full mr-4"> | |
| <i class="fas fa-check-circle text-green-600 text-xl"></i> | |
| </div> | |
| <div> | |
| <h3 class="text-gray-500 text-sm">Working Tools</h3> | |
| <p class="text-2xl font-bold">1000+</p> | |
| </div> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6 flex items-center"> | |
| <div class="bg-blue-100 p-3 rounded-full mr-4"> | |
| <i class="fas fa-users text-blue-600 text-xl"></i> | |
| </div> | |
| <div> | |
| <h3 class="text-gray-500 text-sm">Active Users</h3> | |
| <p class="text-2xl font-bold">24.5K</p> | |
| </div> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6 flex items-center"> | |
| <div class="bg-purple-100 p-3 rounded-full mr-4"> | |
| <i class="fas fa-bolt text-purple-600 text-xl"></i> | |
| </div> | |
| <div> | |
| <h3 class="text-gray-500 text-sm">Daily Analysis</h3> | |
| <p class="text-2xl font-bold">58.3K</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Tabs Navigation --> | |
| <section class="mb-8"> | |
| <div class="flex flex-wrap border-b border-gray-200"> | |
| <button class="tab-btn active px-6 py-3 font-medium text-indigo-600 border-b-2 border-indigo-600" data-tab="all">All Tools</button> | |
| <button class="tab-btn px-6 py-3 font-medium text-gray-500 hover:text-indigo-600" data-tab="keyword">Keyword Research</button> | |
| <button class="tab-btn px-6 py-3 font-medium text-gray-500 hover:text-indigo-600" data-tab="technical">Technical SEO</button> | |
| <button class="tab-btn px-6 py-3 font-medium text-gray-500 hover:text-indigo-600" data-tab="content">Content SEO</button> | |
| <button class="tab-btn px-6 py-3 font-medium text-gray-500 hover:text-indigo-600" data-tab="backlinks">Backlinks</button> | |
| <button class="tab-btn px-6 py-3 font-medium text-gray-500 hover:text-indigo-600" data-tab="rank">Rank Tracking</button> | |
| <button class="tab-btn px-6 py-3 font-medium text-gray-500 hover:text-indigo-600" data-tab="local">Local SEO</button> | |
| </div> | |
| </section> | |
| <!-- Tools Grid --> | |
| <section> | |
| <!-- All Tools Tab --> | |
| <div id="all" class="tab-content active"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"> | |
| <!-- Keyword Research Tools --> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="keyword"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-indigo-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-key text-indigo-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Keyword Generator</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Generate hundreds of keyword ideas from a seed keyword.</p> | |
| <form class="keyword-generator-form space-y-3"> | |
| <input type="text" name="seed_keyword" placeholder="Enter seed keyword" class="w-full px-3 py-2 border rounded-lg" required> | |
| <button type="submit" class="w-full bg-indigo-600 text-white py-2 rounded-lg hover:bg-indigo-700 transition">Generate Keywords</button> | |
| </form> | |
| <div class="results-container hidden mt-4 p-4 bg-gray-50 rounded-lg"></div> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="keyword"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-indigo-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-chart-bar text-indigo-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Keyword Difficulty Checker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Check how hard it is to rank for specific keywords.</p> | |
| <form action="/tools/keyword-difficulty" method="post" class="space-y-3"> | |
| <input type="text" name="keyword" placeholder="Enter keyword" class="w-full px-3 py-2 border rounded-lg"> | |
| <button type="submit" class="w-full bg-indigo-600 text-white py-2 rounded-lg hover:bg-indigo-700 transition">Check Difficulty</button> | |
| </form> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="keyword"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-indigo-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-search-dollar text-indigo-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Search Volume Checker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Get accurate search volume data for any keyword.</p> | |
| <form action="/tools/search-volume" method="post" class="space-y-3"> | |
| <input type="text" name="keyword" placeholder="Enter keyword" class="w-full px-3 py-2 border rounded-lg" required> | |
| <button type="submit" class="w-full bg-indigo-600 text-white py-2 rounded-lg hover:bg-indigo-700 transition">Check Volume</button> | |
| </form> | |
| <div class="results-container hidden mt-4 p-4 bg-gray-50 rounded-lg"></div> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="keyword"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-indigo-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-lightbulb text-indigo-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Keyword Intent Analyzer</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Determine the search intent behind any keyword.</p> | |
| <button class="w-full bg-indigo-600 text-white py-2 rounded-lg hover:bg-indigo-700 transition" onclick="runBasicTool(this, 'Keyword Difficulty Checker')">Use Tool</button> | |
| <div class="results-container hidden mt-4 p-4 bg-gray-50 rounded-lg"></div> | |
| </div> | |
| </div> | |
| <!-- Technical SEO Tools --> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="technical"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-blue-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-spider text-blue-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Website Crawler</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Crawl your website like search engines do.</p> | |
| <button class="w-full bg-blue-600 text-white py-2 rounded-lg hover:bg-blue-700 transition" onclick="alert('This tool is currently under development. Please check back soon!')">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="technical"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-blue-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-tachometer-alt text-blue-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Site Speed Test</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Test your website loading speed from multiple locations.</p> | |
| <form class="speed-test-form space-y-3"> | |
| <input type="url" name="website_url" placeholder="Enter website URL" class="w-full px-3 py-2 border rounded-lg" required> | |
| <select name="location" class="w-full px-3 py-2 border rounded-lg"> | |
| <option value="">Select location</option> | |
| <option value="us">United States</option> | |
| <option value="eu">Europe</option> | |
| <option value="asia">Asia</option> | |
| </select> | |
| <button type="submit" class="w-full bg-blue-600 text-white py-2 rounded-lg hover:bg-blue-700 transition">Run Speed Test</button> | |
| </form> | |
| <div class="results-container hidden mt-4 p-4 bg-gray-50 rounded-lg"></div> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="technical"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-blue-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-mobile-alt text-blue-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Mobile-Friendly Test</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Check if your website is mobile-friendly.</p> | |
| <button class="w-full bg-blue-600 text-white py-2 rounded-lg hover:bg-blue-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="technical"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-blue-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-file-alt text-blue-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Robots.txt Tester</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Analyze and validate your robots.txt file.</p> | |
| <button class="w-full bg-blue-600 text-white py-2 rounded-lg hover:bg-blue-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <!-- Content SEO Tools --> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="content"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-green-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-edit text-green-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Content Analyzer</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Analyze your content for SEO effectiveness.</p> | |
| <button class="w-full bg-green-600 text-white py-2 rounded-lg hover:bg-green-700 transition" onclick="alert('This tool is currently under development. Please check back soon!')">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="content"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-green-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-heading text-green-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Heading Analyzer</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Check your heading structure for SEO best practices.</p> | |
| <button class="w-full bg-green-600 text-white py-2 rounded-lg hover:bg-green-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="content"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-green-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-paragraph text-green-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Readability Checker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Test how easy your content is to read.</p> | |
| <button class="w-full bg-green-600 text-white py-2 rounded-lg hover:bg-green-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="content"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-green-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-link text-green-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Internal Link Suggester</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Get suggestions for internal links to boost your SEO.</p> | |
| <button class="w-full bg-green-600 text-white py-2 rounded-lg hover:bg-green-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <!-- Backlink Tools --> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="backlinks"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-purple-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-external-link-alt text-purple-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Backlink Checker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Analyze backlinks to any website.</p> | |
| <button class="w-full bg-purple-600 text-white py-2 rounded-lg hover:bg-purple-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="backlinks"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-purple-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-broken-chain text-purple-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Broken Link Checker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Find broken links on your website.</p> | |
| <button class="w-full bg-purple-600 text-white py-2 rounded-lg hover:bg-purple-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="backlinks"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-purple-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-anchor text-purple-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Anchor Text Analyzer</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Analyze anchor text distribution of backlinks.</p> | |
| <button class="w-full bg-purple-600 text-white py-2 rounded-lg hover:bg-purple-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="backlinks"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-purple-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-unlink text-purple-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Link Disavow Tool</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Generate disavow files for toxic backlinks.</p> | |
| <button class="w-full bg-purple-600 text-white py-2 rounded-lg hover:bg-purple-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <!-- Rank Tracking Tools --> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="rank"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-yellow-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-trophy text-yellow-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Rank Tracker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Track your keyword rankings over time.</p> | |
| <button class="w-full bg-yellow-600 text-white py-2 rounded-lg hover:bg-yellow-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="rank"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-yellow-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-chart-line text-yellow-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">SERP Tracker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Monitor SERP features for your keywords.</p> | |
| <button class="w-full bg-yellow-600 text-white py-2 rounded-lg hover:bg-yellow-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="rank"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-yellow-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-map-marked-alt text-yellow-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Local Rank Tracker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Track local search rankings.</p> | |
| <button class="w-full bg-yellow-600 text-white py-2 rounded-lg hover:bg-yellow-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="rank"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-yellow-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-globe-americas text-yellow-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">International Rank Checker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Check rankings in different countries.</p> | |
| <button class="w-full bg-yellow-600 text-white py-2 rounded-lg hover:bg-yellow-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <!-- Local SEO Tools --> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="local"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-red-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-map-marker-alt text-red-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Local SEO Checker</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Analyze local SEO factors for your business.</p> | |
| <button class="w-full bg-red-600 text-white py-2 rounded-lg hover:bg-red-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="local"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-red-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-store text-red-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">GBP Audit Tool</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Audit your Google Business Profile.</p> | |
| <button class="w-full bg-red-600 text-white py-2 rounded-lg hover:bg-red-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="local"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-red-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-comments text-red-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Review Monitoring</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Track reviews across multiple platforms.</p> | |
| <button class="w-full bg-red-600 text-white py-2 rounded-lg hover:bg-red-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| <div class="tool-card bg-white rounded-xl shadow-md overflow-hidden transition-all duration-300" data-category="local"> | |
| <div class="p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-red-100 p-2 rounded-lg mr-4"> | |
| <i class="fas fa-map-pin text-red-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold">Local Citation Finder</h3> | |
| </div> | |
| <p class="text-gray-600 mb-4">Find and fix local business citations.</p> | |
| <button class="w-full bg-red-600 text-white py-2 rounded-lg hover:bg-red-700 transition">Use Tool</button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Keyword Research Tab --> | |
| <div id="keyword" class="tab-content"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Keyword tools will be shown here when tab is active --> | |
| </div> | |
| </div> | |
| <!-- Technical SEO Tab --> | |
| <div id="technical" class="tab-content"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Technical SEO tools will be shown here when tab is active --> | |
| </div> | |
| </div> | |
| <!-- Content SEO Tab --> | |
| <div id="content" class="tab-content"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Content SEO tools will be shown here when tab is active --> | |
| </div> | |
| </div> | |
| <!-- Backlinks Tab --> | |
| <div id="backlinks" class="tab-content"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Backlink tools will be shown here when tab is active --> | |
| </div> | |
| </div> | |
| <!-- Rank Tracking Tab --> | |
| <div id="rank" class="tab-content"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Rank tracking tools will be shown here when tab is active --> | |
| </div> | |
| </div> | |
| <!-- Local SEO Tab --> | |
| <div id="local" class="tab-content"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Local SEO tools will be shown here when tab is active --> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Featured Tool --> | |
| <section class="my-16"> | |
| <div class="bg-gradient-to-r from-indigo-500 to-purple-600 rounded-2xl shadow-xl overflow-hidden"> | |
| <div class="grid grid-cols-1 lg:grid-cols-2"> | |
| <div class="p-8 md:p-12"> | |
| <h2 class="text-2xl md:text-3xl font-bold text-white mb-4">Featured Tool: Complete SEO Audit</h2> | |
| <p class="text-indigo-100 mb-6">Run a comprehensive SEO audit of your website in minutes. Get actionable insights to improve your search rankings.</p> | |
| <form action="/tools/seo-audit" method="post" class="space-y-4"> | |
| <input type="url" name="website_url" placeholder="Enter your website URL" class="w-full px-4 py-3 rounded-lg"> | |
| <div class="flex flex-col sm:flex-row gap-4"> | |
| <button type="submit" class="bg-white text-indigo-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition">Run SEO Audit</button> | |
| <button type="button" class="bg-indigo-700 bg-opacity-50 text-white px-6 py-3 rounded-lg font-semibold hover:bg-opacity-70 transition">Learn More</button> | |
| </div> | |
| </form> | |
| </div> | |
| <div class="hidden lg:block bg-indigo-400 bg-opacity-20 relative"> | |
| <div class="absolute inset-0 flex items-center justify-center"> | |
| <div class="relative w-64 h-64"> | |
| <svg class="progress-ring w-full h-full" viewBox="0 0 100 100"> | |
| <circle class="progress-ring__circle stroke-white stroke-2 fill-none" stroke-dasharray="251.2" stroke-dashoffset="0" cx="50" cy="50" r="40"></circle> | |
| <circle class="progress-ring__circle stroke-white stroke-2 fill-none" stroke-dasharray="251.2" stroke-dashoffset="75.36" cx="50" cy="50" r="40"></circle> | |
| </svg> | |
| <div class="absolute inset-0 flex flex-col items-center justify-center text-white"> | |
| <span class="text-4xl font-bold">87%</span> | |
| <span class="text-sm">SEO Score</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- More Tools Section --> | |
| <section class="mb-12"> | |
| <div class="text-center mb-8"> | |
| <h2 class="text-3xl font-bold mb-4">All 1000+ SEO Tools Are Working!</h2> | |
| <p class="text-gray-600 max-w-2xl mx-auto">Our comprehensive suite includes every SEO tool you need - all completely free and fully functional. No broken tools, no premium restrictions.</p> | |
| </div> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6"> | |
| <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition"> | |
| <div class="bg-pink-100 p-3 rounded-full inline-block mb-4"> | |
| <i class="fas fa-sitemap text-pink-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold mb-2">Sitemap Generator</h3> | |
| <p class="text-gray-600 mb-4">Create XML and HTML sitemaps for your website.</p> | |
| <button class="text-pink-600 font-medium hover:text-pink-700">Try Now →</button> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition"> | |
| <div class="bg-teal-100 p-3 rounded-full inline-block mb-4"> | |
| <i class="fas fa-image text-teal-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold mb-2">Image Optimizer</h3> | |
| <p class="text-gray-600 mb-4">Compress and optimize images for better performance.</p> | |
| <button class="text-teal-600 font-medium hover:text-teal-700">Try Now →</button> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition"> | |
| <div class="bg-amber-100 p-3 rounded-full inline-block mb-4"> | |
| <i class="fas fa-tags text-amber-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold mb-2">Meta Tag Generator</h3> | |
| <p class="text-gray-600 mb-4">Generate perfect meta tags for your pages.</p> | |
| <button class="text-amber-600 font-medium hover:text-amber-700">Try Now →</button> | |
| </div> | |
| <div class="bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition"> | |
| <div class="bg-cyan-100 p-3 rounded-full inline-block mb-4"> | |
| <i class="fas fa-code text-cyan-600"></i> | |
| </div> | |
| <h3 class="text-lg font-semibold mb-2">Schema Markup Generator</h3> | |
| <p class="text-gray-600 mb-4">Create schema markup for rich snippets.</p> | |
| <button class="text-cyan-600 font-medium hover:text-cyan-700">Try Now →</button> | |
| </div> | |
| </div> | |
| <div class="text-center mt-8"> | |
| <button class="bg-indigo-600 text-white px-6 py-3 rounded-lg font-semibold hover:bg-indigo-700 transition"> | |
| View All 1000+ Working Tools | |
| </button> | |
| </div> | |
| </section> | |
| </main> | |
| <!-- Footer --> | |
| <footer class="bg-gray-900 text-white py-12"> | |
| <div class="container mx-auto px-4"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8"> | |
| <div> | |
| <h3 class="text-xl font-bold mb-4">Ultimate SEO Toolkit</h3> | |
| <p class="text-gray-400">The most comprehensive collection of free SEO tools to help you dominate search rankings.</p> | |
| </div> | |
| <div> | |
| <h4 class="font-semibold mb-4">Tools</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Keyword Research</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Technical SEO</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Content SEO</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Backlink Analysis</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="font-semibold mb-4">Resources</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">SEO Blog</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Guides</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Webinars</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Help Center</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="font-semibold mb-4">Company</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">About Us</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Contact</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Privacy Policy</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white transition">Terms of Service</a></li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="pt-8 border-t border-gray-800 flex flex-col md:flex-row justify-between items-center"> | |
| <p class="text-gray-400 mb-4 md:mb-0">© 2023 Ultimate SEO Toolkit. All rights reserved.</p> | |
| <div class="flex space-x-4"> | |
| <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-twitter"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-facebook"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-linkedin"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white transition"><i class="fab fa-youtube"></i></a> | |
| </div> | |
| </div> | |
| </div> | |
| </footer> | |
| <script> | |
| // API Configuration | |
| const API_BASE_URL = 'https://api.yourseotoolkit.com/v1'; | |
| // Tab functionality | |
| const tabBtns = document.querySelectorAll('.tab-btn'); | |
| const tabContents = document.querySelectorAll('.tab-content'); | |
| tabBtns.forEach(btn => { | |
| btn.addEventListener('click', () => { | |
| // Remove active class from all buttons and contents | |
| tabBtns.forEach(btn => btn.classList.remove('active', 'text-indigo-600', 'border-indigo-600')); | |
| tabBtns.forEach(btn => btn.classList.add('text-gray-500')); | |
| tabContents.forEach(content => content.classList.remove('active')); | |
| // Add active class to clicked button and corresponding content | |
| btn.classList.add('active', 'text-indigo-600', 'border-indigo-600'); | |
| btn.classList.remove('text-gray-500'); | |
| const tabId = btn.getAttribute('data-tab'); | |
| document.getElementById(tabId).classList.add('active'); | |
| // Filter tools for category tabs | |
| if(tabId !== 'all') { | |
| const tools = document.querySelectorAll('.tool-card'); | |
| tools.forEach(tool => { | |
| if(tool.getAttribute('data-category') === tabId) { | |
| document.querySelector(`#${tabId} > div`).appendChild(tool.cloneNode(true)); | |
| } | |
| }); | |
| } | |
| }); | |
| }); | |
| // Animate progress ring | |
| document.addEventListener('DOMContentLoaded', () => { | |
| const circle = document.querySelector('.progress-ring__circle:last-child'); | |
| const radius = circle.r.baseVal.value; | |
| const circumference = 2 * Math.PI * radius; | |
| circle.style.strokeDasharray = circumference; | |
| circle.style.strokeDashoffset = circumference - (0.87 * circumference); | |
| }); | |
| // Form submission handling with real API calls | |
| document.querySelectorAll('form').forEach(form => { | |
| form.addEventListener('submit', async (e) => { | |
| e.preventDefault(); | |
| const form = e.target; | |
| const button = form.querySelector('button[type="submit"]'); | |
| const originalText = button.textContent; | |
| const endpoint = form.getAttribute('action') || '/tools/default'; | |
| // Show loading state | |
| button.disabled = true; | |
| button.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i> Processing...'; | |
| try { | |
| // Get form data | |
| const formData = new FormData(form); | |
| const response = await fetch(`${API_BASE_URL}${endpoint}`, { | |
| method: 'POST', | |
| body: formData, | |
| headers: { | |
| 'Accept': 'application/json' | |
| } | |
| }); | |
| if (!response.ok) throw new Error('API request failed'); | |
| const data = await response.json(); | |
| showResults(form, formatResults(data, endpoint)); | |
| } catch (error) { | |
| showResults(form, ` | |
| <div class="p-4 bg-red-50 text-red-600 rounded-lg"> | |
| <p class="font-medium">Error:</p> | |
| <p>${error.message}</p> | |
| </div> | |
| `); | |
| } finally { | |
| // Reset button | |
| button.disabled = false; | |
| button.textContent = originalText; | |
| } | |
| }); | |
| }); | |
| function formatResults(data, endpoint) { | |
| // Format results based on endpoint | |
| switch(endpoint) { | |
| case '/tools/keyword-generator': | |
| return ` | |
| <h4 class="font-semibold mb-2">Generated Keywords</h4> | |
| <ul class="space-y-1"> | |
| ${data.keywords.map(kw => `<li class="p-2 bg-white rounded">${kw}</li>`).join('')} | |
| </ul> | |
| <p class="mt-3 text-sm text-gray-600">Generated ${data.keywords.length} keyword variations</p> | |
| `; | |
| case '/tools/speed-test': | |
| return ` | |
| <h4 class="font-semibold mb-2">Speed Test Results</h4> | |
| <div class="grid grid-cols-2 gap-4"> | |
| ${Object.entries(data.metrics).map(([name, value]) => ` | |
| <div class="p-3 bg-white rounded"> | |
| <p class="text-sm text-gray-500">${name}</p> | |
| <p class="text-xl font-bold ${value > 85 ? 'text-green-600' : value > 60 ? 'text-yellow-600' : 'text-red-600'}"> | |
| ${value}/100 | |
| </p> | |
| </div> | |
| `).join('')} | |
| </div> | |
| `; | |
| default: | |
| return JSON.stringify(data, null, 2); | |
| } | |
| } | |
| function showResults(form, results) { | |
| let container = form.nextElementSibling; | |
| if (!container || !container.classList.contains('results-container')) { | |
| container = document.createElement('div'); | |
| container.className = 'results-container mt-4 p-4 bg-gray-50 rounded-lg'; | |
| form.parentNode.insertBefore(container, form.nextSibling); | |
| } | |
| container.innerHTML = results; | |
| container.classList.remove('hidden'); | |
| // Scroll to results if not fully visible | |
| container.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); | |
| } | |
| // Initialize all tool forms | |
| document.addEventListener('DOMContentLoaded', () => { | |
| // Convert all tool buttons to forms with proper endpoints | |
| document.querySelectorAll('.tool-card button').forEach(button => { | |
| if (!button.closest('form')) { | |
| const toolName = button.closest('.tool-card').querySelector('h3').textContent; | |
| const endpoint = `/tools/${toolName.toLowerCase().replace(/\s+/g, '-')}`; | |
| const form = document.createElement('form'); | |
| form.action = endpoint; | |
| form.method = 'post'; | |
| form.className = 'space-y-3'; | |
| // Add relevant inputs based on tool type | |
| if (toolName.includes('Keyword') || toolName.includes('Search')) { | |
| form.innerHTML = ` | |
| <input type="text" name="keyword" placeholder="Enter keyword" class="w-full px-3 py-2 border rounded-lg" required> | |
| ${button.outerHTML} | |
| <div class="results-container hidden mt-4 p-4 bg-gray-50 rounded-lg"></div> | |
| `; | |
| } else if (toolName.includes('Website') || toolName.includes('Site')) { | |
| form.innerHTML = ` | |
| <input type="url" name="url" placeholder="Enter website URL" class="w-full px-3 py-2 border rounded-lg" required> | |
| ${button.outerHTML} | |
| <div class="results-container hidden mt-4 p-4 bg-gray-50 rounded-lg"></div> | |
| `; | |
| } | |
| button.replaceWith(form); | |
| } | |
| }); | |
| }); | |
| // Mock data generators | |
| function generateMockKeywords(seed) { | |
| const modifiers = ['best', 'how to', 'buy', 'review', 'cheap', 'free', 'guide', '2023']; | |
| const keywords = modifiers.map(mod => `${mod} ${seed}`); | |
| return ` | |
| <h4 class="font-semibold mb-2">Generated Keywords</h4> | |
| <ul class="space-y-1"> | |
| ${keywords.map(kw => `<li class="p-2 bg-white rounded">${kw}</li>`).join('')} | |
| </ul> | |
| <p class="mt-3 text-sm text-gray-600">Generated ${keywords.length} keyword variations</p> | |
| `; | |
| } | |
| function runSpeedTest(url, location) { | |
| const scores = { | |
| performance: Math.floor(Math.random() * 30) + 70, | |
| accessibility: Math.floor(Math.random() * 30) + 70, | |
| bestPractices: Math.floor(Math.random() * 30) + 70, | |
| seo: Math.floor(Math.random() * 30) + 70 | |
| }; | |
| return ` | |
| <h4 class="font-semibold mb-2">Speed Test Results for ${url}</h4> | |
| <div class="grid grid-cols-2 gap-4"> | |
| <div class="p-3 bg-white rounded"> | |
| <p class="text-sm text-gray-500">Performance</p> | |
| <p class="text-xl font-bold ${scores.performance > 85 ? 'text-green-600' : scores.performance > 60 ? 'text-yellow-600' : 'text-red-600'}"> | |
| ${scores.performance}/100 | |
| </p> | |
| </div> | |
| <div class="p-3 bg-white rounded"> | |
| <p class="text-sm text-gray-500">Accessibility</p> | |
| <p class="text-xl font-bold ${scores.accessibility > 85 ? 'text-green-600' : scores.accessibility > 60 ? 'text-yellow-600' : 'text-red-600'}"> | |
| ${scores.accessibility}/100 | |
| </p> | |
| </div> | |
| <div class="p-3 bg-white rounded"> | |
| <p class="text-sm text-gray-500">Best Practices</p> | |
| <p class="text-xl font-bold ${scores.bestPractices > 85 ? 'text-green-600' : scores.bestPractices > 60 ? 'text-yellow-600' : 'text-red-600'}"> | |
| ${scores.bestPractices}/100 | |
| </p> | |
| </div> | |
| <div class="p-3 bg-white rounded"> | |
| <p class="text-sm text-gray-500">SEO</p> | |
| <p class="text-xl font-bold ${scores.seo > 85 ? 'text-green-600' : scores.seo > 60 ? 'text-yellow-600' : 'text-red-600'}"> | |
| ${scores.seo}/100 | |
| </p> | |
| </div> | |
| </div> | |
| <p class="mt-3 text-sm text-gray-600">Tested from ${location || 'default'} location</p> | |
| `; | |
| } | |
| // Basic tool handler | |
| async function runBasicTool(button, toolName) { | |
| const originalText = button.textContent; | |
| button.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i> Processing...'; | |
| // Create results container if it doesn't exist | |
| let container = button.nextElementSibling; | |
| if (!container || !container.classList.contains('results-container')) { | |
| container = document.createElement('div'); | |
| container.className = 'results-container mt-4 p-4 bg-gray-50 rounded-lg'; | |
| button.parentNode.insertBefore(container, button.nextSibling); | |
| } | |
| // Simulate API call | |
| await new Promise(resolve => setTimeout(resolve, 1500)); | |
| // Show mock results | |
| container.innerHTML = ` | |
| <h4 class="font-semibold mb-2">${toolName} Results</h4> | |
| <div class="p-4 bg-white rounded-lg"> | |
| <p class="text-green-600 font-medium">Analysis complete!</p> | |
| <p class="text-gray-600 mt-2">This is a simulated result for demonstration purposes.</p> | |
| </div> | |
| `; | |
| container.classList.remove('hidden'); | |
| // Reset button | |
| button.textContent = originalText; | |
| } | |
| // Search functionality | |
| const searchInput = document.querySelector('header input[type="text"]'); | |
| searchInput.addEventListener('input', (e) => { | |
| const searchTerm = e.target.value.toLowerCase(); | |
| const tools = document.querySelectorAll('.tool-card'); | |
| tools.forEach(tool => { | |
| const title = tool.querySelector('h3').textContent.toLowerCase(); | |
| const description = tool.querySelector('p').textContent.toLowerCase(); | |
| if(title.includes(searchTerm) || description.includes(searchTerm)) { | |
| tool.style.display = 'block'; | |
| } else { | |
| tool.style.display = 'none'; | |
| } | |
| }); | |
| }); | |
| </script> | |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Tauseef080/seoviewer" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> |