Введение
Уже более 7 лет поддерживается возможность регистрации и приобретения доменных имен в зоне .РФ. Проще говоря, адресов сайтов, которые написаны русскими символами. Для рядового обывателя подобное нововведение стало приятным дополнением, а вот для SEO специалистов доставило только неудобства.
По сей день многие сервисы и инструменты не поддерживают кириллические символы в URL адресах. Один из них — файл robots.txt. Сегодня речь пойдет именно о нем.
Кириллический домен в robots.txt
Так как файл robots.txt не поддерживает кириллические символы, необходимо перевести их в так называемый punycode. Punycode (по-русски «паникод») — это метод преобразования Unicode-символов (в нашем случае кириллицу) в ACE-последовательности, которые состоят из алфавитно-цифровых символов. Так как именно такие последовательности латинских символов поддерживаются в доменных именах.
Перевод кириллического домена в punycode возможен при помощи многочисленных online конверторов, которые предоставляют такую возможность совершенно бесплатно. Один из них — http://wwhois.ru/punycode.php. Именно его мы и приведем в качестве примера.
Создаем robots.txt для кириллического домена
Предположим, что у нас есть домен www.цифровые-ежи.рф, по которому доступен сайт на WordPress. Перед нами стоит задача создать и настроить robots.txt.
По большому счету, сам домен в файле robots.txt Вам понадобится только в инструкциях host и sitemap.xml. Поэтому, создаем пустой файл формата .txt и добавляем в него шаблонные инструкции для нашей CMS WordPress.
После этого, следуем по ссылке http://wwhois.ru/punycode.php и преобразовываем наш домен в punycode.
Далее, пользуясь инструкциями к размещению директив host и sitemap.xml добавляем уже преобразованный в punycode домен «.РФ».
У нас получился следующий файл.
User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag
Host: xn—-ctbjbfhf6br3bu9d.xn--p1ai
Sitemap: http://xn—-ctbjbfhf6br3bu9d.xn--p1ai/sitemap.xml
Кириллический URL в robots.txt
Несмотря на то, что домен сайта написан на латинице, в индекс могут попасть нежелательные URL, содержащие кириллические символы. Это случается по ряду следующих причин:
-
Некоторые CMS по умолчанию прописывают кириллические символы для адресов, меток, тегов и разделов;
-
Загружаются изображения с русскоязычными названиями;
-
В латинские URL по ошибке вставляются кириллические символы;
-
Множество других причин, таких как некорректная работа компонента, неверная выгрузка товаров и т.д.
Такие URL имеют вид: http://dh-agency.ru/киррилический-урл.
Если Вы добавите в robots.txt URL подобного вида, то непременно увидите ошибку. Все дело в том, что даже такие адреса туда добавлять нельзя. Чтобы успешно работать с такого рода ссылками необходимо преобразовать их в понятную для робота последовательность символов.
Сделать это можно при помощи «online кодировщика», к примеру https://www.design-sites.ru/utility/url-encoding.php
Подобные преобразованные адреса уже поддерживаются файлом robots.txt. Не нужно путать кодировку URL с Punycode, это разные вещи.
Подробнее о punycode
Punycode был разработан специально для преобразования доменов содержащих Unicode-символы (символы, не входящие в латинский алфавит) в последовательность ASCII.
Все дело в том, что единый стандарт доменных имен поддерживает исключительно 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для ряда языков основанных на латинице, к примеру английского, этого вполне достаточно.
Но что делать с другими языками, которые содержат множество дополнительных символов? К примеру, немецкие ä (а умлаут) или ö (о умлаут)?
Что бы решить данную задачу, была придумана система перевода доменов в однозначную ACE-последовательность (ASCII Compatible Encoding), которая в свою очередь состоит исключительно из 26 символов латинского алфавита, цифр от 0 до 9 и дефисов.
Именно такую конвертацию необходимо сделать, чтобы полноценно работать с доменными именами написанными на кириллице.
С яндексом понятно… он РФ’ки любит. А что с гуглом? Тоже Punycode?