Файл robots.txt используется для управления доступом
поисковых роботов к страницам веб-сайта. Он размещается в корневой
директории сайта и сообщает поисковым системам, какие разделы сайта
можно индексировать, а какие — нет. Стандартная структура файла проста и
включает в себя блоки User-agent и Disallow
или Allow:
User-agent: [имя робота]
Disallow: [путь к запрещенной директории или странице]
Allow: [путь к разрешенной директории или странице]
* для всех роботов.Дополнительно можно использовать директиву Sitemap, указывающую путь к карте сайта:
Sitemap: https://example.com/sitemap.xml
Это помогает роботам находить страницы сайта, оптимизируя процесс индексации.
robots.txt может привести к полной блокировке сайта для
поисковых систем.*
позволяет задавать шаблоны URL, а $ — конец строки.
Пример:Disallow: /private/*
Disallow: /*.pdf$
Карта сайта (sitemap.xml) представляет собой XML-файл,
содержащий список всех страниц веб-сайта, которые следует индексировать.
Структура базового элемента выглядит следующим образом:
<url>
<loc>https://example.com/page1</loc>
<lastmod>2026-03-23</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
daily, weekly, monthly).Библиотека Lighthouse позволяет анализировать сайт и собирать метаданные, необходимые для генерации карты сайта. Процесс включает:
robots.txt.sitemap.xml.Пример использования Node.js для генерации sitemap на основе анализа Lighthouse:
const fs = require('fs');
const lighthouse = require('lighthouse');
const chromeLauncher = require('chrome-launcher');
async function generateSitemap(urls) {
const sitemapHeader = '<?xml version="1.0" encoding="UTF-8"?>\n<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n';
const sitemapFooter = '</urlset>';
let sitemapBody = '';
for (const url of urls) {
const chrome = await chromeLauncher.launch({ chromeFlags: ['--headless'] });
const { lhr } = await lighthouse(url, { port: chrome.port });
await chrome.kill();
sitemapBody += `
<url>
<loc>${url}</loc>
<lastmod>${new Date().toISOString().split('T')[0]}</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>`;
}
const sitemapContent = sitemapHeader + sitemapBody + '\n' + sitemapFooter;
fs.writeFileSync('sitemap.xml', sitemapContent);
}
generateSitemap(['https://example.com', 'https://example.com/about']);
robots.txt и sitemap работают как связка: первый управляет доступом, второй оптимизирует индексацию. Правильное использование этих инструментов улучшает видимость сайта в поисковых системах и ускоряет обработку новых страниц.