При знайомстві з проєктом SEO-фахівець обов’язково вводить в адресний рядок фразу «sitemap.xml». Аналіз карти сайту дозволяє з’ясувати, чому не індексується той чи інший контент. Розповім, як створити та впровадити грамотну sitemap.xml.
- Що таке карта XML.
- Які є типи XML-Sitemap.
- Як знайти XML-Sitemap.
- З яких елементів складається XML-Sitemap.
- Як створити XML-Sitemap.
- Загальні відомості та поради Google щодо файлів XML-Sitemap.
- Загальні відомості та рекомендації Bing щодо файлів XML-Sitemap.
- Як побудувати XML-карту для мультимовних сайтів.
- XML-Sitemap для картинок.
- XML-Sitemap для відео.
- Sitemap для новин.
- Як запровадити карту сайту.
- Помилки у XML-Sitemap.
- Лайфхак.
- Висновки.
Що таке XML-карта
XML-Sitemap — файл для роботів пошукових систем з переліком всіх сторінок сайту у форматі XML. Він потрібен, щоб пошукові системи ефективніше сканували та індексували вміст сайту.
💡 Не варто плутати XML-Sitemap та html-sitemap для користувачів сайту.
Які є типи XML-Sitemap
Два види карт сайту:
- звичайна — містить не більше 50000 сторінок і важить до 50 Мб;
- індексна — файл з картою поєднує кілька звичайних карт сайту. Створюється для великих чи мультимовних сайтів. У таких файлів розмір не більше 50 Мб та ємність не більше 50 000 URL-адрес.
Як знайти XML-Sitemap
Несколько способов посмотреть карту сайта:
- У файлі robots.txt. Пропишіть у адресному рядку: https://site.com/robots.txt.У самому файлі, можливо, буде прописана директива XML-Sitemap у наступному форматі:
sitemap: https://site.com/sitemap.xml
- Якщо ви не змогли знайти посилання на файл у robots.txt, пропишіть в адресному рядку наступний запит:
https://site.com/sitemap.xml
💡 Якщо формат url для файлу Robots.txt є обов’язковим — /robots.txt, url для файлу Sitemap.xml може бути довільним.
/sitemap.xml —просто популярніша назва XML-карти, але вона може бути іншою, наприклад: /sitemap-categories.xml, /sitemap-en.xml і так далі.
- Ви також можете здійснити запит у пошуковій системі за допомогою пошукових операторів. Необхідно використовувати два оператори:
- site: — шукає за точною адресою;
- filetype: — шукає необхідний тип файлу.
Для пошуку файлу типу XML вам необхідно сформувати пошуковий запит:
site:site.com filetype:xml
Результат:
З яких елементів складається XML-Sitemap
Нагадую, sitemap може бути звичайним та індексним. Пропоную розглянути, з яких елементів складається кожен із цих типів.
Елементи звичайного sitemap
Обов’язкові елементи:
- у першому рядку вказується версія XML та обов’язкове для файлів карти сайту кодування — UTF-8:
- <urlset> — тег вказує стандарт поточного протоколу. Є батьківським по відношенню до наступних тегів;
- <url> — тег для кожного запису URL-адреси. Є батьківським по відношенню до тегів, що зазначені нижче, та дочірнім по відношенню до <urlset>;
- <loc> — тег, що вказує на точну URL-адресу сторінки. Є дочірнім по відношенню до <url>.
Необов’язкові елементи:
- <lastmod> — тег, який вказує на останню дату оновлення сторінки. Є дочірнім по відношенню до <url>. На відміну від попередніх тегів є необов’язковим. Майте на увазі, що Google враховує значення цього тегу, лише якщо воно збігається з фактичним часом останнього оновлення сторінки. Під час написання дати в цьому тезі слід використовувати формат W3C Datetime. Цей формат передбачає повну дату з годинами, хвилинами, секундами та часовим поясом (YYYY-MM-DDThh:mm:ss+TZD). Наприклад: 2022-05-16T19:20:30+03:00;
- <changefreq> — тег, який вказує на приблизну частоту оновлення сторінки. Допустимі значення: always, hourly, daily, weekly, monthly, yearly, never;
- <priority> — вказує на пріоритетність сторінки, порівняно з іншими сторінками. Значення коливається у діапазоні від 0,0 до 1,0.
💡 За останніми даними Google Search Central, пошукова система не враховує значення тегів <changefreq> і <priority>.
Приклад XML-карти сайту:
Елементи індексного sitemap
Обов’язкові елементи:
- у першому рядку вказується версія XML і обов’язкове для файлів карти сайту кодування — UTF-8;
- <sitemapindex> — обов’язковий батьківський тег по відношенню до всіх, наведених нижче. Вказує стандарт поточного протоколу;
- <sitemap> — обов’язковий тег, який містить інформацію про кожен файл sitemap, що входить до індексного sitemap. Є дочірнім по відношенню до <sitemapindex>;
- <loc> — обов’язковий тег, вказує місцезнаходження файлу sitemap. Є дочірнім по відношенню до <sitemap>.
Необов’язкові елементи:
- <lastmod> — необов’язковий тег, який вказує на останню дату оновлення файлу sitemap (але не окремих сторінок, вказаних у самому файлі). Є дочірнім по відношенню до <sitemap>.
Приклад індексної XML-карти сайту:
Як створити XML-Sitemap
Декілька способів створити карту сайту:
- За допомогою системи керування контентом (CMS). Такі системи як WordPress або Wix можуть генерувати доступну для пошукових систем карту сайту. Вам необхідно знайти інформацію про те, як у CMS, що ви використовуєте, генерується sitemap — процес відбувається автоматично або вам для цього необхідно виконати деякі операції.
- Вручну. Якщо сайт невеликий, можете створити карту сайту самостійно, використовуючи текстовий редактор та дотримуючись стандартів синтаксису;
- За допомогою сторонніх генераторів. Існує безліч сервісів, які можуть генерувати карти сайтів. Серед них:
- https://www.mysitemapgenerator.com/;
- генератор карти сайту xml від https://smallseotools.com/ (у безкоштовній версії є обмеження до 500 сторінок);
- https://www.xml-sitemaps.com/.
Звичайно таких генераторів багато, можете знайти зручний для себе.
Ще один спосіб — за допомогою Netpeak Spider. Слідуйте такому алгоритму:
- Проскануйте потрібну кількість URL-адрес.
- Відкрийте інструмент «Генератор Sitemap».
- Налаштуйте необхідні параметри.
- Натисніть «Створити...» і виберіть шлях для збереження файлів Sitemap.
Загальні відомості та поради Google щодо файлів XML-Sitemap
- Google скануватиме URL, які ви вкажете. Тому вказуйте коректні та точні URL-адреси.
- Усі URL, які ви вказуєте у сайтмапі, повинні відноситися до відповідного домену. Не вказуйте інший домен/піддомен.
- Карта сайту може бути розміщена в будь-якій частині сайту, проте впливатиме лише на каталоги, розташовані нижче батьківського. Тому слід розмістити XML-Sitemap у кореневому каталозі сайту.
- Посилання на звичайний файл XML або індексний можна вказати у файлі Robots.txt наступним чином: sitemap: https://site.com/sitemap.xml.
- Файли Sitemap повинні бути створені в кодуванні UTF-8, тобто застосовуватимуться лише символи ASCII.
- Якщо інші символи містяться в адресах сторінок, їх потрібно екранувати. Це зазвичай відбувається автоматично, якщо ви не створюєте адреси сторінок вручну. Якщо символи в URL неправильно закодовані та екрановані, при додаванні карти сайту ви можете отримати сповіщення Google, що сторінки з вашого XML-Sitemap не виявлені.
- Google не гарантує сканування кожної URL-адреси в сайтмап. Цей файл лише допомагає системі визначити, які сторінки ви вважаєте важливими.
- Google ігнорує порядок розташування URL у карті сайту.
- Файл XML-Sitemap має бути не більше 50 000 сторінок і вагою не більше 50 Мб. Якщо вага більша, створіть індексний сайт, який буде вміщувати кілька файлів з картами сайту.
- Включайте у XML-Sitemap тільки канонічні, відкриті для індексації та сканування сторінки, що віддають код стану 200, за винятком сторінок пагінації.
- Усі URL у XML-Sitemap повинні бути відкриті в robots.txt для сканування, індексації та не містити метатег "noindex".
- Сайтмап повинен автоматично регулярно оновлюватися при додаванні/видаленні, закритті/відкритті для індексації заданих сторінок.
Загальні відомості та рекомендації Bing щодо файлів XML-Sitemap
Пошукова система Bing не визначає кардинальних відмінностей у вимогах до XML-Sitemap, лише перефразує деякі стандарти, перелічені у посібнику Google. Звідси висновок, що, дотримуючись стандартів Google, ви створюєте універсальну XML-Sitemap також для Bing.
Як створити XML-карту для мультимовних сайтів
Існують три основні способи вказати пошуковій системі, що мультимовні версії сторінок не є дублями:
- атрибут rel=”alternate” hreflang=”x” у коді сторінки — найпоширеніший спосіб;
- за допомогою XML-Sitemap;
- за допомогою http-заголовків.
Варто зазначити, що в 99% випадків достатньо одного способу вказати мультимовність сайту за допомогою атрибуту rel=”alternate” hreflang=”x”.
💡 Якщо ви робите сайтмап для великого сайту, можете додатково вказати мультимовність за допомогою XML-Sitemap.
Щоб вказати альтернативні мовні версії сторінки у XML-Sitemap, необхідно:
- вказати простір імен у блоці <urlset>:
xmlns:xhtml="https://www.w3.org/1999/xhtml"
- в рамках тега <url>, нижче тега <loc>, в якому вказано URL сторінки, вказати тег <xhtml:link> для кожної мовної версії сторінки, а в межах <xhtml:link> — атрибути rel="alternate" hreflang=" x", в яких буде вказано конкретну мовну версію.
Наприклад, сторінка має три мовні версії: українську, російську та англійську. URL для мовних версій цієї сторінки виглядають так:
- https://site.com/ua/
- https://site.com/ru/
- https://site.com/en/
У XML-Sitemap мультимовні версії сторінки будуть виглядати так:
XML-Sitemap для картинок
В окремих випадках пошукова система не може знайти зображення на сайті. Наприклад, коли зображення завантажується за допомогою JavaScript. Є два способи вказати пошуковим роботам на зображення:
- Вказати посилання на них у звичайній XML-Sitemap.
- Створити окрему мапу сайту для картинок.
В обох випадках слід вказати простір імен XML, у якому задаються теги для зображень:
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
Також у рамках тегу <url> вказуються обов’язкові для зображень теги:
- <image:image> — містить всю інформацію про зображення. Для однієї сторінки можна вказати до 1000 зображень;
- <image:loc> — місцезнаходження файлу. У деяких випадках URL-адреса може відрізнятися від основного домену сайту. Для коректного сканування контенту обидва домени повинні бути підтверджені в Google Search Console.
Також у XML-карті сайту для зображень ви можете виявити необов’язкові теги, які, згідно з Google Search Central, пошуковою системою не враховуються, а саме:
- <image:caption> — підпис до зображення;
- <image:geo_location> — місце зйомки (країна, місто, тощо);
- <image:title> — назва зображення;
- <image:license> — URL ліцензії зображення.
Крім цих тегів, сайтмап для зображень має відповідати таким вимогам:
- потрібне кодування — UTF-8;
- XML-Sitemap для картинок має вміщувати не більше 50 000 URL-адрес і мати розмір не більше 50 Мб. Якщо карта сайту виходить за ці ліміти, необхідно створити файл індексу сайтмап.
- цей тип карти сайту має вміщувати лише канонічні, відкриті для індексації і сканування сторінки, що віддають код стану 200;
- у кожного URL не більше 1000 зображень;
- XML-Sitemap для картинок має містити лише повнорозмірні зображення без мініатюр;
- Посилання на XML-карту для зображень або файл індексу необхідно розмістити в robots.txt;
- XML-Sitemap для картинок має регулярно автоматично оновлюватися.
Приклад XML-карти для зображень, в якій вказано одну сторінку та два зображення:
XML-Sitemap для відео
Карта сайту для відео — спосіб повідомити пошуковій системі про наявність відео на сторінці, особливо якщо вони додані нещодавно або їх важко виявити. Це важливий момент пошукової оптимізації, особливо коли ви хочете, щоб ваші відео відображалися в результатах пошуку.
Загальні відомості та поради Google щодо файлів XML-Sitemap для відео:
- Потрібне кодування — UTF-8.
- Кожен файл сайтмап для відео може містити до 50 000 елементів відео та за обсягом не перевищувати 50 Мб. Якщо ви перевищуєте ці ліміти, можете, як і для основних сайтів, створити індексний файл, що буде містити інформацію про звичайні XML-Sitemap для відео.
- Можна створити окремий XML-Sitemap для відео або додати інформацію про відео в звичайний сайтмап.
- Дозволяється вказувати кілька відео з однієї сторінки.
- Не вносити відомості про відео, не пов’язані з основним вмістом сторінки. В іншому випадку відео може не потрапити до індексу пошукової системи.
- Googlebot ігнорує запис у файлі Sitemap, якщо за вказаним URL відео не знайдено.
- Створення XML-Sitemap для відео не гарантує індексацію файлів.
- Вказані сторінки мають бути канонічними, відкритими для індексації та сканування, віддавати код стану 200.
- Googlebot повинен мати доступ як до відеофайлу, так і до програвача. Не слід розміщувати їх на сторінках, які потребують авторизації, забороняти в robots.txt або блокувати іншими способами.
- Посилання на XML-карту сайту або файл індексу розмістити в robots.txt.
- XML-Sitemap для відео має регулярно автоматично оновлюватись.
Пропоную розглянути, із яких елементів складається XML-Sitemap для відео.
По-перше, необхідно вказати простір імен, у якому будуть визначені теги:
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"
Також при створенні сайту цього типу необхідно вказати наступні обов’язкові теги:
- <urlset> — тег, який вказує стандарт поточного протоколу. Є батьківським по відношенню до наступних тегів;
- <url> — тег для кожного запису URL-адреси. Є батьківським по відношенню до тегів, вказаним нижче, і дочірнім по відношенню до <urlset>;
- <loc> — тег, який вказує на точну URL-адресу сторінки. Є дочірнім по відношенню до <url>;
- <video:video> — батьківський тег для всієї інформації про одне відео;
- <video:thumbnail_loc> — посилання на значок відео;
- <video:title> — назва відео;
- <video:description> — опис відео, не більше 2048 символів;
- <video:content_loc> — фактична адреса відео;
- <video:player_loc> — посилання на програвач для відео.
Ви також можете вказати рекомендовані теги:
- <video:duration> — тривалість відео в секундах, в діапазоні від 1 до 28 800 (8 годин) включно;
- <video:expiration_date> — тег, який говорить про дату та час, коли відео стане недоступним. Не додавайте цей тег, якщо не хочете, щоб відео стало недоступним у пошуку Google. Дату необхідно вказувати у форматі W3C.
Необов’язкові теги:
- <video:rating> — рейтинг відео. Вказується в діапазоні від 0,0 до 5,0;
- <video:view_count> — кількість переглядів відео;
- <video:publication_date> — дата публікації відео у форматі W3C;
- <video:family_friendly> — інформація про доступність відео в безпечному пошуку. Якщо тег пропущено, відео буде доступне в безпечному пошуку. Допустимі значення: “yes” або “no”.
- <video:restriction> — тег, за допомогою якого можна заборонити або дозволити показ відео у певних країнах. За відсутності тега відео буде дозволено у всіх країнах. Щоб заборонити показ відео у певній країні, пропишіть у цьому тегу атрибут “relationship” та вкажіть значення allow (так) або deny (ні). Приклад коду, в якому відео заборонено для показу в результатах пошуку в Канаді:
<video:restriction relationship="deny">CA</video:restriction>
- <video:requires_subscription> — показує, чи потрібна підписка для перегляду відео. Допустимі значення: “yes” або “no”;
- <video:uploader> — ім’я користувача, який завантажив відео. Для одного відео можна вказати лише одне ім’я. Також в атрибуті info (необов’язково) можна вказати посилання з інформацією про завантаження;
- <video:live> — вказує, чи відео є прямою трансляцією. Допустимі значення: “yes” або “no”;
- <video:tag> — теги для відео. Ви можете вказати до 32 тегів для одного відео.
Google перерахував атрибути, які більше не враховує: <video:category>, <video:gallery_loc>, атрибути autoplay та allow_embed тега <video:player_loc>, а також теги <video:price> та <video:tvshow>.
Як може виглядати карта сайту для відео:
Sitemap для новин
Для новинних сайтів можна створити окрему карту з динамічною генерацією та щоденним оновленням. Ці файли будуть працювати лише для ресурсів, включених до списків Google Новин. Якщо сайту немає у списку, можна надіслати запит на його додавання.
Файл sitemap має містити лише URL статей, опублікованих за останні два дні. Статті, опубліковані більше двох днів тому, можна видалити з файлу, водночас вони залишаться в індексі Google Новин протягом 30 днів.
Ця мапа сайту може містити не більше 1000 URL-адрес. Таке обмеження пов’язано з тим, що файли XML-Sitemap для Google Новин скануються частіше, ніж звичайні сайтмапи, і таким чином пошукова система уникає надмірного навантаження. Якщо на сайті за два дні з’являється більше контенту, можна створити файл індексу sitemap для кількох карт.
Google рекомендує оновлювати XML-Sitemap для Google Новин по мірі публікації нових матеріалів. Розміщувати таку карту сайту необхідно або в кореневому каталозі, або в розділі новин сайту.
Основні елементи sitemap для новин:
- простір імен для новинних сайтмап:
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
Обов’язкові теги:
- <news:news> — батьківський тег для всіх тегів новин;
- <news:publication> — видання, яке опублікувало статтю. Містить два обов’язкові дочірні елементи:
<news:name> — назва видання;
<news:language> — мова у форматі ISO 639-1;
- <news:publication_date> — точна дата у форматі W3C;
- <news:title> — заголовок статті, який слід зазначити в тому ж вигляді, що й на сайті.
Приклад sitemap для Google Новин:
Як запровадити карту сайту
Декілька способів вказати пошуковій системі на XML-Sitemap.
- За допомогою Google Search Console.
- Виконати запит ping — надіслати GET-запит на вказану адресу, вказавши повну URL-адресу вашого XML-Sitemap:
https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP
де:
FULL_URL_OF_SITEMAP — повна адреса XML-карти сайту.
Наприклад
https://www.google.com/ping?sitemap=https://site.com/sitemap1.xml
- Розмістити адресу карти сайту в robots.txt — вона буде виявлена при наступному скануванні сайту. Приклад:
Sitemap: https://site.com/sitemap1.xml
XML-Sitemap аналізується лише при першому виявленні, а не при кожному скануванні сайту. Якщо ви змінили файл, повідомте про це пошукову систему за допомогою запиту ping.
Помилки в XML-Sitemap
Дотримуючись наведених вище інструкцій, ви можете уникнути основних помилок під час створення сайтмап. Якщо ж виникла помилка при створенні цього файлу, ви побачите це в Google Search Console в пункті «Файли Sitemap»:
Ви також можете перевірити помилки за допомогою Netpeak Spider. Для цього виберіть «Інструменти» — «Валідатор XML Sitemap»:
Вставляйте посилання на відповідну карту сайту та натискайте кнопку «Старт»:
Після сканування валідатор вкаже на помилки в сайтмап (1). Після натискання кнопки «В таблицю» (2) URL сторінок перемістяться з валідатора в робоче поле програми, де ви можете продовжити роботу:
Як це виглядає:
Лайфхак
Деякі фахівці стверджують, що великі карти сайту не завжди повністю скануються та внутрішні посилання не завжди швидко індексуються. Є деякі кейси, де встановлення обмеження місткості для сайтмап в 10 000 сторінок або 1000 сторінок давало більш ефективні результати.
Можна зробити висновок, що якщо у вас є певні проблеми на сайті зі скануванням url та їх індексацією або, наприклад, якщо вам необхідно швидко заганяти нові сторінки карток товарів в індекс, можна спробувати роздробити свої sitemap на дрібніші частини та внести їх до індексного сайтмап .
Передбачається, що менші списки URL-адрес пошуковій системі обробити легше. При цьому сайтмапи не варто дробити занадто дрібно, на десятки тисяч файлів, так як Google Search Console у своїх звітах показує інформацію тільки про 1000 URL-адрес сайтмап, тобто ви можете не отримати дані про URL-адреси XML-Sitemaps з GSC.
Необхідно розраховувати обсяг кожного сайтмапу, виходячи з розмірів сайту. Виходячи з деяких кейсів, можна тестувати дроблення файлів sitemap за розділами, кількістю урлів, новизною контенту.
Висновки
- XML-карта сайту потрібна пошуковим роботам для виявлення та індексації необхідних сторінок сайту. Вона містить URL-адреси сторінок сайту, а також додаткові дані, такі як час їхнього останнього оновлення. Дуже важливо дотримуватись вимог до файлів цього типу, щоб пошукова система вчасно сканувала та вносила в індекс необхідні сторінки сайту.
- Окремі карти можна створювати для зображення, відео. XML можна розмічати і для Google Новин.
- Створювати карту вручну варто лише в тому випадку, якщо ваш сайт невеликий, інакше це може тривати дуже довго.
- Використовуйте інструменти CMS, генератори та інше програмне забезпечення для створення сайтмап, а також періодично перевіряйте свої XML на коректність.
- Сайтмап мають регулярно автоматично оновлюватися, щоб робота пошукової системи в найкоротші терміни після оновлення вносила в індекс актуальні версії сторінок, або не сканувала сторінки, для яких були змінені інструкції та правила доступу.
Свіжі
Як завдяки просуванню каналу в Telegram отримати перші ліди та впізнаваність у вузькій ніші
Докладно про наш підхід у просуванні та створенні контенту для телеграм-каналу у вузькій ніші
Ad Monetization. Як отримати обліковий запис Google AdX — покрокова інструкція
У статті я розповім про основи Google AdX і два способи доступу до облікового запису, розгляну їхні переваги й недоліки, а також поділюсь кейсами
Як відстежувати події в Google Analytics 4 через DebugView
Покрокова інструкція до активації та використання DebugView