-->

Sitemap.xml або карта сайту - посібник для новачків

 

При знайомстві з проектом SEO-фахівець обов'язково вводить в адресний рядок пошуковика фразу "sitemap.xml". Аналіз карти сайту дозволяє з'ясувати, чому не індексується той чи інший контент.

    Що таке XML-картка

    Що таке XML-картка


    XML-карта сайту - файл з інформацією для пошукових систем про сторінки, які необхідно проіндексувати. Іншими словами, карта сайту – список усіх сторінок у форматі XML, доступних для сканування пошуковим роботом. При цьому варто відрізняти XML-карту від звичайної картки сайту, яка знаходиться за адресою https://site.com/sitemap/.

    За допомогою XML-карток визначається:

    • місцезнаходження сторінок сайту;
    • час останнього оновлення кожної зі сторінок;
    • частота (періодичність) оновлення та важливість щодо інших сторінок сайту;
    • важливість (пріоритетність) сторінок у структурі.

    З яких елементів складається карта XML

    У першому рядку документа вказується версія xml і кодування UTF-8.

    Також використовуються особливі теги XML:

    sitemapindex - батьківський тег на початку та наприкінці файлу;
    sitemap — батьківський тег для кожного файлу sitemap, вказаного у файлі. При цьому цей тег - дочірній щодо sitemapindex;
    url - блок, який містить значення самого URL та інші елементи;
    loc - безпосередньо URL сторінки;
    changefreq - як часто ця сторінка може змінюватися. Можливі значення: always, hourly, daily, weekly, monthly, yearly, never;
    priority — пріоритет структурних елементів, що допомагає визначити, які сторінки є пріоритетнішими для краулінгу. Йому надається значення до одиниці, наприклад: 0,5.
    lastmod — час останнього оновлення контенту сторінки, не є обов'язковим параметром. Для сайтів із статичним контентом достатньо використовувати changfreq.

    Приклад структури файлу з XML-картою сайту:

    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"> 
     <url>    
     <loc>https://example.com/</loc>    
     <lastmod>2017-02-05</lastmod>  
       <changefreq>monthly</changefreq> 
        <priority>0.8</priority> 
     </url>
    </urlset>
    Для більших сайтів краще сформувати кілька XML-карт. Наприклад, цей індекс у форматі XML містить два файли sitemap:

    <?xml version="1.0" encoding="UTF-8"?>
      <sitemapindex xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">
      <sitemap>    
     <loc>https://www.example.com/sitemap1.xml</loc>  
    </sitemap> 
     <sitemap>    
     <loc>https://www.example.com/sitemap2.xml.</loc>  
    </sitemap>  
    </sitemapindex>

    XML-карта для зображень

    Окремі карти XML часто створюються для індексації зображень. Вони актуальні лише для Google, Яндекс не розпізнає image:

    Дані XML-карти можуть допомогти пошуковим системам знайти контент, який інакше не можна було б виявити (наприклад, якщо він завантажується за допомогою JavaScript), та вказати зображення, які потрібно сканувати та індексувати.

    Для карт зображень використовуються теги:

    <image:image>

    Містить всю інформацію про одне зображення. Кожен URL (тег <loc>) може містити до 1000 тегів <image:image>.

    <image:loc>

    URL-зображення.


    Крім того, можна використовувати необов'язкові теги:

    <image:caption>

    Підпис до зображення.

    <image:geo_location>

    Місце зйомки (країна, місто, тощо)

    <image:title>

    Назва зображення.

    <image:license>

    URL ліцензії зображення.


    Приклад XML-карти для зображень:
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"       xmlns:image="https://www.google.com/schemas/sitemap-image/1.1"> 
    <url>   
    <loc>https://example.com/page.html</loc>
    <image:image>     <image:loc>https://example.com/pic1.jpg</image:loc>   </image:image>   
    <image:image>     <image:loc>https://example.com/pic1.jpg</image:loc>   </image:image> 
    </url> 
    </urlset>

    XML-карта для відео

    Якщо на сайті представлений унікальний відеоконтент, для нього можна зробити окрему XML-карту.

    Цікаво, що в цій карті URL-відео можна відкрити для пошуку в розділі Google Відео. У результатах відображатиметься значок відео, який, до речі, можна зробити індивідуальним, а також інша вказана в карті інформація. Наприклад, назва.

    Які відомості про відео можна надсилати до Google за допомогою sitemap:

    • назву;
    • опис,
    • тривалість;
    • мініатюру і таке інше.
    Обов'язкові теги:

    • <loc> - сторінка, де знаходиться відео;
    • <video:title> - назва відео, до 100 символів;
    • <video:player_loc> – місце розташування плеєра для відео;
    • <video:content_loc> - місце розташування конкретного відео;
    • <video:thumbnail_loc> - прев'ю (мініатюра) відео, не менше ніж 120х90 px;
    • <video:video> - контейнер для опису відео;
    • <video:description> - опис відео, до 2000 символів.

    Можна використовувати інші теги, вони не обов'язкові і мають рекомендаційний характер:

    • <video:duration> - тривалість відео, до 8 годин, пишеться в секундах;
    • <video:category> - категорія відео, наприклад, техніка;
    • <video:uploader> - ім'я людини (компанії), яка додала відео. Дозволяється вказати одне ім'я для файлу;
    • <video:requires_subscription> — Вказує, чи потрібна для перегляду відео підписка. Як платна, і безкоштовна, з доступними значеннями: yes, no;
    • <video:publication_date> — дата публікації у форматі YYYY-MM-DD або YYYY-MM-DDThh:mm:ss+TZD;
    • <video:family_friendly> — тут вказується, чи відео може бути доступним для безпечного пошуку чи ні;
    • <video:restriction> — список країн, де відео може відтворюватися або не відтворюватися. Допустимі значення – коди країн у форматі ISO 3166. Для кожного відео може відображатися лише один тег <video: restriction>. Якщо тег <video: restriction> відсутній, передбачається, що можна відтворювати відео на всіх територіях;
    • <video:gallery_loc> - посилання на галерею;
    • <video:expiration_date> — дата та час, коли відео стає неактуальним;
    • <video:price> — вартість із зазначенням валюти у форматі ISO 4217;
    • <video:tag> - теги відео;
    • <video:view_count> - кількість переглядів відео;
    • <video:rating> - рейтинг відео (від 0 до 5);
    • <video:platform> - список майданчиків, де відео може відтворюватися та не відтворюватися. Доступні значення: web, mobile, tv. За відсутності тега передбачається, що відео можна відтворювати на всіх платформах;
    • <video:live> — вказує на те, чи є відео прямою трансляцією (live). Доступні значення: yes, no.

    Приклад:
    <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"       
    xmlns:video="https://www.google.com/schemas/sitemap-video/1.1">  
    
    <url>    
    <loc>https://www.example.com/videos/video_1.html</loc>   
     
    <video:video>     
     
    <video:thumbnail_loc>https://www.example.com/thumbs/video_1.jpg</video:thumbnail_loc>      
    
    <video:title>Обзор смартфона Xiaomi Redmi 3 Note Pro</video:title>      
    
    <video:description>Подробный обзор внешнего вида и функций смартфона 
     Xiaomi Redmi 3 Note Pro от интернет-магазина Example.
    </video:description>     
     
    <video:content_loc>https://www.example.com/video123.flv</video:content_loc>
    
    <video:player_loc allow_embed="yes" autoplay="ap=1"> 
    https://www.example.com/videoplayer.swf?video=123</video:player_loc>     
     <video:duration>600</video:duration>     
    
     <video:rating>4.3</video:rating>     
     
    <video:view_count>1223</video:view_count>          
    
    <video:publication_date>2017-01-05T19:20:30+03:00</video:publication_date>      
    
    <video:family_friendly>yes</video:family_friendly>        
    
    <video:live>no</video:live>    
    </video:video>  
    </url></urlset>
    Google підтримує такі формати:

    • .mpg, .mpeg, .mp4, .m4v;
    • .wmv;
    • .asf, .avi;
    • .ra, .ram, .rm;
    • .mov;
    • .flv.

    XML-карта для Google Новин

    Для сайтів-новинників можна створити окрему карту з динамічною генерацією та щоденним оновленням. Ці файли будуть працювати лише для ресурсів, включених до списків Google Новин. Якщо сайт не знаходиться у списку, можна надіслати запит на його додавання.

    Файл sitemap повинен містити лише URL-статей, опублікованих за останні два дні. Статті, опубліковані більше двох днів тому, можна видалити з файлу, при цьому вони залишаться в індексі Google Новин протягом 30 днів.

    Ця мапа сайту може містити не більше 1000 URL-адрес. Якщо на сайті за два дні з'являється більше контенту, можна створити файл індексу sitemap для кількох карток.

    Обов'язкові теги:

    • <news:publication> - загальний тег, у якому вказується видання. У нього є два обов'язкові дочірні теги:
    • <news:name> - назва видання;
    • <news:language> - мова у форматі ISO 639;
    • <publication_date> — дата публікації у форматі W3C із зазначенням повної дати. Пошуковий робот Google розуміє дати аж до часток секунд, наприклад:

    ГГГГ-ММ-ДДTчч:мм:cc.с±чч:мм (2017-05-10T19:20:30.45+01:00)
    • <news:title> - назва статті, аналогічна назві на сайті.
    Крім цього, є необов'язкові теги:

    • <news:genres> - властивості статті. Допустимі значення:
    1. PressRelease - офіційний прес-реліз;
    2. Satire – стаття, яка виставляє предмет обговорення у комічній формі.
    3. Blog — будь-яка стаття, яка опублікована у блозі або форматі блогу.
    4. OpEd — будь-яка стаття, що виражає особисту думку та розміщена в колонці редактора.
    5. Opinion - будь-яка стаття, що виражає особисту думку і не включена до колонки редактора. Сюди відносяться як рецензії колумністів, і інтерв'ю.
    6. UserGenerated - матеріал, створений користувачем і пройшов офіційну редакторську правку.
    • <keywords> — ключові слова на тему статті;
    • <stock_tickers> - список біржових/фінансових символів (не більше п'яти, через кому). Підходить для статей про бізнес. Перед кожним символом має бути вказана назва відповідної біржі, яка співпадає із записом у Google Фінансах, наприклад NASDAQ:AMAT або BOM:500325.
    Приклад sitemap для Google Новин:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"      
     xmlns:news="https://www.google.com/schemas/sitemap-news/0.9"> 
    <url>  
     
    <loc>https://example.ua/news/wow55.html</loc>  
     <news:news>     
    
    <news:publication>       
    <news:name>Новости</news:name>       
    
    <news:language>ru</news:language>     
    </news:publication>     
    
    <news:genres>Blog</news:genres>     
    
    <news:publication_date>2017-05-10</news:publication_date>     
    
    <news:title>Рацион питания среднестатистического студента</news:title>     
    
    <news:keywords>студенты, еда, мивина, пельмени, revo</news:keywords>   
    
    </news:news> 
    </url>
    </urlset>

    Як побудувати XML-карту для мультимовних сайтів


    Теги alternate, hreflang, media, type — навіщо та як їх використовувати
    Можна використовувати файли sitemap, щоб передати Google атрибут rel="alternate" hreflang="x". Завдяки цьому користувачам показуються сторінки потрібною мовою та URL-адресами з правильною регіональністю.

    Простір імен XHTML повинен бути вказаний так:

    xmlns:xhtml="https://www.w3.org/1999/xhtml"
    Також потрібно створити окремий елемент URL для кожної адреси. У свою чергу, кожен елемент повинен включати:

    Тег loc, який вказує на URL-адресу;
    Розділ xhtml:link rel="alternate" hreflang="XX" для кожної альтернативної версії сторінки, обов'язково включаючи поточну версію.
    Наприклад, на сайті є розділ російською мовою, призначений для користувачів з усього світу. Крім того, існують дві версії цієї сторінки: українською та англійською.

    Повний набір URL виглядає так:

    • example.com/ua/
    • example.com/ru/
    • example.com/en/

    Файл sitemap, наведений на прикладі нижче, повідомляє Google про те, що у сторінки example.com/ru/ існує відповідна версія українською та англійською мовами:

    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="https://www.w3.org/1999/xhtml"> 
    <url>   
    <loc>https://example.com/ru/</loc>   
    <xhtml:link rel="alternate" hreflang="ua"  href="https://www.example.com/ua/"/>   
    <xhtml:link rel="alternate" hreflang="en"  href="https://www.example.com/en/"/>   
    <xhtml:link rel="alternate" hreflang="ru"   href="https://www.example.com/ru/" /> 
    </url> 
    <url>   
    <loc>https://www.example.com/deutsch/</loc>   
    <xhtml:link  rel="alternate" hreflang="ru" href="https://www.example.com/ru/"/>    
    <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/"/>    
    <xhtml:link rel="alternate" hreflang="ua" href="https://www.example.com/ua/"/> 
    </url> 
    <url>   
    <loc>https://www.example.com/en/</loc>
    <xhtml:link  rel="alternate"  hreflang="ru" href="https://www.example.com/ru/"/>
    <xhtml:link  rel="alternate"   hreflang="ua" href="https://www.example.com/ua/"/>
    <xhtml:link  rel="alternate"  hreflang="en"  href="https://www.example.com/en/"/> 
    </url>
    </urlset>

    Рекомендації Яндекса

    Яндекс підтримує два формати файлів sitemap:

    • XML (рекомендується);
    • Текстовий файл.
    Вимоги для карток Яндекс:

    • розмір у стиснутому вигляді не повинен перевищувати 10 Мб;
    • Яндекс розпізнає Punycode (пунікод) як у закодованому вигляді, так і в оригіналі.

    Рекомендації Google

    Важливо:

    • до 50 000 посилань на файли sitemap;
    • загальний розмір до 50 Мб (у стиснутому вигляді).
    Формати, які підтримує Google як sitemap:

    • XML – стандартний файл;
    • RSS, media RSS та Atom 1.0 - підходить для блогів з фідом RSS або Atom;
    • Сайти Google. Якщо сайт створено та підтверджено за допомогою сервісу Google Сайти, файл sitemap створюється автоматично. Його не можна змінити, але можна надіслати до Google, щоб отримати відомості для звітів. Якщо один підкаталог містить більше 1000 сторінок, файл sitemap може відображатися некоректно.
    • Текстовий файл .txt.
    Основні вимоги до текстових файлів:

    • кодування UTF-8;
    • файл не повинен містити нічого крім списку URL;
    • текстовому файлу можна дати будь-яке ім'я, але з розширенням .txt (наприклад, sitemap.txt).

    Як впровадити XML-карту

    1. Файл із XML sitemap слід помістити в кореневу директиву сайту: https://<адреса сайту>/sitemap.xml
    2. Якщо карт сайту кілька, необхідно створити індекс карт, де мають бути перераховані посилання на всі файли XML.
    3. Додати директиву sitemap у файл robots.txt.
    4. Вказати URL файлу в панелях вебмайстрів цікавих пошукових систем, наприклад:
    • Google Search Console;
    • Вебмастер Bing;
    • Яндекс.Вебмайстер;
    • Кабінет веб-майстра MailRu.

    Файли sitemap враховуються при індексуванні сайту роботом, однак жодна з пошукових систем не гарантує, що всі URL, вказані у файлі, будуть додані до пошукового індексу.

    Для автоматичного створення XML-карт можна використовувати платні та безкоштовні онлайн-генератори, спеціальні плагіни CMS та програми, наприклад Netpeak Spider.

    Онлайн-генератори:

    • https://www.mysitemapgenerator.com/
    • https://www.xml-sitemaps.com/
    • https://htmlweb.ru/analiz/sitemap.php

    Повний перелік рекомендованих генераторів.

    Как анализировать карту сайта в Google Search Console

    В панели вебмастеров Google в разделе «Сканирование» есть пункт «Файлы sitemap»..

    вебмастеров Google


    Тут можна:
    • додати чи перевірити файли sitemap;
    • відстежити кількість відправлених та проіндексованих сторінок різних типів;
    • побачити помилки та проблеми в картах сайту;
    • надіслати картки XML заново або видалити їх.

    Висновки

    XML-карта сайту потрібна пошуковим роботам для виявлення всіх сторінок. Вона містить URL-адреси сторінок сайту, а також дані, такі як час їх останнього оновлення, частоту їх оновлення і важливість щодо інших сторінок сайту. Окремі карти можна створювати для зображень, відео, XML можна розмічати і Google Новостей.

    Створювати картку вручну не варто – використовуйте безкоштовні генератори чи спеціалізовані програми. Перевірити помилки в картах можна в панелях веб-майстрів Яндекс і Google.

    Постали питання? Із задоволенням відповім у коментарях.