import { shouldBlockCrawler, extractUserAgent } from 'crawl-me-not'; import type { Handle } from '@sveltejs/kit'; export const handle: Handle = async ({ event, resolve }) => { const userAgent = extractUserAgent(event.request.headers); const result = shouldBlockCrawler(userAgent, { blockAI: true, blockSEO: false, debug: true }); if (result.isBlocked) { console.log(`Blocked ${result.crawlerType} crawler: ${result.userAgent}`); return new Response('Access denied', { status: 403, headers: { 'Content-Type': 'application/json', 'X-Blocked-Reason': `${result.crawlerType} crawler detected` } }); } return resolve(event); }; // If you need to compose multiple handles: // import { sequence } from '@sveltejs/kit/hooks'; // // export const handle = sequence( // crawlerBlockingHandle, // // your other handles... // );