Перейти к содержимому

Генератор XML-Сайтмапа

Создаёт файлы sitemap.xml с URL-адресами, приоритетами и частотой изменений.

Об этом инструменте

Карта сайта — это файл, который сообщает поисковым системам о наличии страниц на вашем веб-сайте и частоте их изменения. Генератор Sitemap XML создает правильно отформатированные файлы sitemap.xml, которые помогают Google, Bing и другим поисковым системам более эффективно индексировать ваш контент. Это особенно полезно для больших веб-сайтов с сотнями или тысячами страниц, где обнаружение ботами поисковых систем могло бы занять месяцы.

Для использования этого инструмента введите URL-адреса вашего веб-сайта по одному на строку, затем при необходимости назначьте каждому URL-адресу приоритет (от 0,0 до 1,0, где 1,0 — наивысший) и укажите частоту изменения (ежедневно, еженедельно, ежемесячно или ежегодно). Инструмент моментально создает допустимую XML-карту сайта, соответствующую официальному протоколу карт сайта. После этого вы можете скачать файл, загрузить его в корневой каталог вашего веб-сервера и отправить в Google Search Console и Bing Webmaster Tools для более быстрого индексирования.

Карты сайта особенно полезны, когда структура вашего веб-сайта сложна или когда страницы не имеют достаточного количества внутренних ссылок. Хотя они не заменяют хорошую архитектуру сайта, они сокращают время, необходимое поисковым системам для обнаружения новых или обновленных материалов, что делает их незаменимыми для SEO. Большинство современных веб-сайтов — блоги, интернет-магазины, сайты новостей и порталы документации — получают пользу от регистрации карты сайта в поисковых системах.

Часто задаваемые вопросы

Реализация кода

from datetime import date
from xml.etree.ElementTree import Element, SubElement, tostring
from xml.dom import minidom

def generate_sitemap(urls: list[dict]) -> str:
    """
    Generate sitemap.xml string.
    Each url dict: { loc, lastmod?, changefreq?, priority? }
    """
    root = Element("urlset")
    root.set("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")
    for entry in urls:
        url_el = SubElement(root, "url")
        SubElement(url_el, "loc").text = entry["loc"]
        if "lastmod" in entry:
            SubElement(url_el, "lastmod").text = entry["lastmod"]
        if "changefreq" in entry:
            SubElement(url_el, "changefreq").text = entry["changefreq"]
        if "priority" in entry:
            SubElement(url_el, "priority").text = str(entry["priority"])
    raw = tostring(root, encoding="unicode")
    dom = minidom.parseString(raw)
    return dom.toprettyxml(indent="  ")

urls = [
    {"loc": "https://example.com/",        "lastmod": str(date.today()), "changefreq": "daily",   "priority": 1.0},
    {"loc": "https://example.com/about",   "lastmod": str(date.today()), "changefreq": "monthly", "priority": 0.8},
    {"loc": "https://example.com/contact", "lastmod": str(date.today()), "changefreq": "monthly", "priority": 0.5},
]
print(generate_sitemap(urls))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.