Sitemap.xml або мапа сайту - детальний мануал

Sitemap.xml або мапа сайту - детальний мануал

мапа

При знайомстві з проектом, спеціаліст з оптимізації сайту обов'язково вводить в адресний рядок після імені сайту фразу «sitemap.xml». Аналіз мапи сайту дозволяє з'ясувати, чому не індексується той чи інший контент. Як створити і впровадити грамотну sitemap.xml, розповімо в цій статті.

Що таке XML-мапа

XML-мапа сайту - файл з інформацією для пошукових систем про сторінки, які необхідно проіндексувати. Іншими словами, мапа сайту - список всіх сторінок в форматі XML, доступних для сканування пошуковим роботом. При цьому варто відрізняти XML-мапу від мікророзмітки і звичайної мапи сайту, яка знаходиться за адресою http://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

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

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
     <loc>http://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="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
     <loc>http://www.example.com/sitemap1.xml</loc>
  </sitemap>
  <sitemap>
     <loc>http://www.example.com/sitemap2.xml.</loc>
  </sitemap>
  </sitemapindex>

XML sitemap для зображень

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

Дані 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="http://www.sitemaps.org/schemas/sitemap/0.9"
       xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
 <url>
   <loc>http://example.com/page.html</loc>
   <image:image>
     <image:loc>http://example.com/pic1.jpg</image:loc>
   </image:image>
   <image:image>
     <image:loc>http://example.com/pic1.jpg</image:loc>
   </image:image>
 </url> 
</urlset>
 

XML sitemap для відео

Якщо на сайті представлений унікальний відеоконтент, для нього також можна зробити окрему 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: 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="http://www.sitemaps.org/schemas/sitemap/0.9"
       xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>http://www.example.com/videos/video_1.html</loc>
    <video:video>
      <video:thumbnail_loc>http://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 від інтернет-магазину Moyo.</video:description>
      <video:content_loc>http://www.example.com/video123.flv</video:content_loc>
      <video:player_loc allow_embed="yes" autoplay="ap=1">
        http://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 Новин

Для сайтів новин можна створити окрему sitemap з динамічною генерацією та щоденним оновленням. Дані файли будуть працювати тільки для ресурсів, включених в списки 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> - властивості статті. Допустимі значення:
    • PressRelease - офіційний прес-реліз
    • Satire - стаття, яка виставляє предмет обговорення в комічній формі
    • Blog - будь-яка стаття, яка опублікована в блозі або в форматі блогу
    • OpEd - будь-яка стаття, що виражає особисту думку і розміщена в колонці редактора
    • Opinion - будь-яка стаття, що виражає особисту думку і не включена в колонку редактора. Сюди відносяться як рецензії колумністів, так і інтерв'ю
    • UserGenerated - матеріал, що створений користувачем та пройшов офіційну редакторську правку
  • < Keywords> - ключові слова по темі статті
  • < Stock_tickers> - список біржових/фінансових символів (не більше п'яти, через кому). Підходить для статей про бізнес. Перед кожним символом має вказуватися назва відповідної біржі, що збігається із записом у Google Фінансах, наприклад NASDAQ: AMAT або BOM: 500325

Приклад sitemap для Google Новин:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
       xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
 <url>
   <loc>http://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-мапу для багатомовних сайтів

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

Простір імен XHTML має бути зазначено так:

xmlns:xhtml="http://www.w3.org/1999/xhtml"

Також необхідно створити окремий елемент URL для кожної адреси. У свою чергу кожен елемент повинен включати:

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

Наприклад, на сайті є розділ українською мовою, призначений для користувачів з усього світу. Крім того, існують дві версії цієї сторінки: польською та англійською. Про різні мовні версії сайтів читайте в цій статті.

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

  • example.com/ua/
  • example.com/pl/
  • example.com/en/

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

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
 xmlns:xhtml="http://www.w3.org/1999/xhtml">

 <url>
   <loc>http://example.com/pl/</loc>
   <xhtml:link

                rel="alternate"
                hreflang="ua"

                href="http://www.example.com/ua/"
                />
   <xhtml:link

                rel="alternate"
                hreflang="en"

                href="http://www.example.com/en/"
                />
   <xhtml:link

                rel="alternate"
                hreflang="pl"

                href="http://www.example.com/pl/"

                />
 </url>

 <url>
   <loc>http://www.example.com/deutsch/</loc>
   <xhtml:link

                rel="alternate"
                hreflang="pl"

                href="http://www.example.com/pl/"

                />
    <xhtml:link

                rel="alternate"
                hreflang="en"

                href="http://www.example.com/en/"
                />
    <xhtml:link

                rel="alternate"
                hreflang="ua"

                href="http://www.example.com/ua/"
                />
 </url>

 <url>
   <loc>http://www.example.com/en/</loc>

    <xhtml:link

                rel="alternate"
                hreflang="pl"

                href="http://www.example.com/pl/"
                />
    <xhtml:link

                rel="alternate"
                hreflang="ua"

                href="http://www.example.com/ua/"

                />
<xhtml:link

                rel="alternate"
                hreflang="en"

                href="http://www.example.com/en/"
                />
 </url>

</urlset>

Рекомендації 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 слід помістити в кореневу директиву сайту: http: // < адреса сайту> /sitemap.xml.
  2. Якщо мап сайту кілька, необхідно створити індекс мап, де повинні бути перераховані посилання на всі XML-файли.
  3. Додати директиву sitemap в файл robots.txt.
  4. Вказати URL файлу в панелях вебмайстрів тих пошукових систем, які цікавлять, наприклад, Google Search Console.

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

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

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

Як знайти помилки в XML-мапах

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

консоль

Тут можна:

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

Висновки

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

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

Фото: flickr.com
Обробка: Vinci
назад
далі