sitweb-seo-toolkit / index.html
Wbazin25's picture
Tu es expert en développement de plugins WordPress, en intégration OAuth2 Google (Search Console / URL Inspection, Google Ads API, Google Analytics 4 Data API), en SEO avancé, Core Web Vitals et UX.
1e287d3 verified
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SitWeb SEO Toolkit - Tableau de Bord</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
.card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
</style>
</head>
<body class="bg-gray-50 min-h-screen font-sans">
<!-- Header -->
<header class="bg-white shadow-sm">
<div class="container mx-auto px-4 py-4 flex justify-between items-center">
<h1 class="text-xl font-bold text-indigo-700">SitWeb SEO Toolkit</h1>
<nav>
<ul class="flex space-x-6">
<li><a href="#" class="text-indigo-600 font-medium">Tableau de bord</a></li>
<li><a href="#" class="text-gray-600 hover:text-indigo-600">Indexation</a></li>
<li><a href="#" class="text-gray-600 hover:text-indigo-600">Optimisation</a></li>
<li><a href="#" class="text-gray-600 hover:text-indigo-600">Mots-clés</a></li>
<li><a href="#" class="text-gray-600 hover:text-indigo-600">Concurrence</a></li>
<li><a href="#" class="text-gray-600 hover:text-indigo-600">Backlinks</a></li>
<li><a href="#" class="text-gray-600 hover:text-indigo-600">Performance</a></li>
<li><a href="#" class="text-gray-600 hover:text-indigo-600">Paramètres</a></li>
</ul>
</nav>
</div>
</header>
<!-- Main Content -->
<main class="container mx-auto px-4 py-8">
<!-- KPI Cards -->
<section class="mb-12">
<h2 class="text-2xl font-semibold mb-6 text-gray-800">Aperçu Rapide</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
<div class="bg-white p-6 rounded-lg shadow card">
<div class="flex items-center">
<div class="p-3 bg-green-100 rounded-full mr-4">
<i data-feather="check-circle" class="text-green-600"></i>
</div>
<div>
<p class="text-gray-500 text-sm">Pages Indexées</p>
<p class="text-2xl font-bold">87%</p>
</div>
</div>
</div>
<div class="bg-white p-6 rounded-lg shadow card">
<div class="flex items-center">
<div class="p-3 bg-blue-100 rounded-full mr-4">
<i data-feather="trending-up" class="text-blue-600"></i>
</div>
<div>
<p class="text-gray-500 text-sm">Progression 30j</p>
<p class="text-2xl font-bold">+12%</p>
</div>
</div>
</div>
<div class="bg-white p-6 rounded-lg shadow card">
<div class="flex items-center">
<div class="p-3 bg-yellow-100 rounded-full mr-4">
<i data-feather="alert-triangle" class="text-yellow-600"></i>
</div>
<div>
<p class="text-gray-500 text-sm">Anomalies</p>
<p class="text-2xl font-bold">5</p>
</div>
</div>
</div>
<div class="bg-white p-6 rounded-lg shadow card">
<div class="flex items-center">
<div class="p-3 bg-purple-100 rounded-full mr-4">
<i data-feather="target" class="text-purple-600"></i>
</div>
<div>
<p class="text-gray-500 text-sm">Opportunités</p>
<p class="text-2xl font-bold">23</p>
</div>
</div>
</div>
</div>
</section>
<!-- Charts Section -->
<section class="mb-12">
<h2 class="text-2xl font-semibold mb-6 text-gray-800">Analyse de Performance</h2>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
<div class="bg-white p-6 rounded-lg shadow">
<h3 class="text-lg font-medium mb-4">Évolution de l'Indexation</h3>
<canvas id="indexationChart" height="100"></canvas>
</div>
<div class="bg-white p-6 rounded-lg shadow">
<h3 class="text-lg font-medium mb-4">Trafic GA4 (30 jours)</h3>
<canvas id="trafficChart" height="100"></canvas>
</div>
</div>
</section>
<!-- Recent Activity -->
<section>
<h2 class="text-2xl font-semibold mb-6 text-gray-800">Activité Récente</h2>
<div class="bg-white rounded-lg shadow overflow-hidden">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Page</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Statut</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Position</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">CTR</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">/produits/chaussures-de-running</td>
<td class="px-6 py-4 whitespace-nowrap"><span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Indexée</span></td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">8</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">3.2%</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<button class="text-indigo-600 hover:text-indigo-900 mr-3">Analyser</button>
<button class="text-blue-600 hover:text-blue-900">Optimiser</button>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">/blog/guide-achat-chaussures</td>
<td class="px-6 py-4 whitespace-nowrap"><span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">Non Indexée</span></td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">-</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">-</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<button class="text-indigo-600 hover:text-indigo-900 mr-3">Analyser</button>
<button class="text-blue-600 hover:text-blue-900">Optimiser</button>
</td>
</tr>
<tr>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">/contact</td>
<td class="px-6 py-4 whitespace-nowrap"><span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Indexée</span></td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">25</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1.1%</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
<button class="text-indigo-600 hover:text-indigo-900 mr-3">Analyser</button>
<button class="text-blue-600 hover:text-blue-900">Optimiser</button>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</main>
<!-- Footer -->
<footer class="bg-white border-t mt-12">
<div class="container mx-auto px-4 py-6">
<p class="text-center text-gray-500 text-sm">© 2023 SitWeb SEO Toolkit. Tous droits réservés.</p>
</div>
</footer>
<script>
// Initialize Feather Icons
feather.replace();
// Initialize AOS
AOS.init({
duration: 800,
easing: 'ease-out-quart'
});
// Indexation Chart
const indexCtx = document.getElementById('indexationChart').getContext('2d');
new Chart(indexCtx, {
type: 'line',
data: {
labels: ['Juil', 'Août', 'Sept', 'Oct', 'Nov', 'Déc'],
datasets: [{
label: 'Pages Indexées (%)',
data: [75, 78, 82, 84, 86, 87],
borderColor: '#4f46e5',
backgroundColor: 'rgba(79, 70, 229, 0.1)',
tension: 0.3,
fill: true
}]
},
options: {
responsive: true,
plugins: {
legend: {
display: false
}
},
scales: {
y: {
beginAtZero: false,
min: 70,
max: 100
}
}
}
});
// Traffic Chart
const trafficCtx = document.getElementById('trafficChart').getContext('2d');
new Chart(trafficCtx, {
type: 'bar',
data: {
labels: ['Juil', 'Août', 'Sept', 'Oct', 'Nov', 'Déc'],
datasets: [{
label: 'Visiteurs Uniques',
data: [12000, 15000, 18000, 21000, 24000, 28000],
backgroundColor: '#8b5cf6'
}]
},
options: {
responsive: true,
plugins: {
legend: {
display: false
}
}
}
});
</script>
</body>
</html>