Кириллический домен в robots.txt

Кириллические URL в robots.txt

Введение

Уже более 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.

Преобразование в 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

Перевод кириллических URL для robots.txt

Подобные преобразованные адреса уже поддерживаются файлом robots.txt. Не нужно путать кодировку URL  с Punycode, это разные вещи.

Подробнее о punycode

Punycode был разработан специально для преобразования доменов содержащих Unicode-символы (символы, не входящие в латинский алфавит) в последовательность ASCII.

Все дело в том, что единый стандарт доменных имен поддерживает исключительно 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для ряда языков основанных на латинице, к примеру английского, этого вполне достаточно.

Но что делать с другими языками, которые содержат множество дополнительных символов? К примеру, немецкие ä (а умлаут) или ö (о умлаут)?

Что бы решить данную задачу, была придумана система перевода доменов в однозначную ACE-последовательность (ASCII Compatible Encoding), которая в свою очередь состоит исключительно из 26 символов латинского алфавита, цифр от 0 до 9 и дефисов.

Именно такую конвертацию необходимо сделать, чтобы полноценно работать с доменными именами написанными на кириллице.

Понравилась статья? Сделай репост

1 комментарий

  1. Alexanderrr:

    С яндексом понятно… он РФ’ки любит. А что с гуглом? Тоже Punycode?

Добавить комментарий

Войти с помощью: