23 июля 2013

yandex-verification и Google Site с собственным доменом

Захотелось мне добавить мой сайт в Яндекс.Вебмастер. Казалось бы, чего проще? Бери, да добавляй - Яндекс весь такой хороший, предоставляет аж четыре способа проверки того, что сайт принадлежит именно тебе, а не кому-то другому: размещение у себя на сайте специального HTML-файла, специального TXT-файла, помещение к себе на страницу тега meta, или создание TXT-записи в DNS, содержащие код верификации. Выбирай, не хочу.

Но, оказывается, не всё так гладко, как кажется на первый взгляд, когда используешь Google Sites.

Начнём с файлов. Как с TXT, так и с HTML файлом наблюдается одна и та же проблема: разместить у себя на сайте файл с нужным именем и содержанием можно, но Яндекс отказывается его верифицировать, т.к. движок Google Sites при обращении по URL файла возвращает HTTP-код не 200, а 302 - перенаправление на внутренние страницы своего движка, отвечающие за скачивание файла.

Верификация через DNS работает для корневого домена 2 уровня (например haunted-soft.com, zapretili.info или populov.com), но у меня не получилось верифицировать домен 3-го уровня (например ru.haunted-soft.com, www.zapretili.info или serge.populov.com). В справке самого Яндекса об этом вообще ничего не сказано, но удалось нагуглить, что для этого Яндекс требует добавить в DNS запись TXT с префиксом, соответствующим субдомену. GoDaddy этого вообще не разрешает сделать, мотивируя тем, что запись CNAME с таким префиксом уже существует, а eNom разрешает, но верификация всё равно не проходит. Проверял как с префиксом, так и без.

Остаётся мета-тэг. Заранее обрадую тем, что этот способ работает, но Google Sites - это конструктор сайтов, и писать HTML-код напрямую в текст страницы не разрешает, поэтому потребуется небольшая пляска с бубном. У Google есть собственный механизм для проверки подлинности владельца сайта через мета-тэг, аналогичный тому, что использует Яндекс. И в панели управления Google Site'ом для этого предусмотрено соответствующее поле. Благо, для верификации в Google Webmaster Tools я использовал DNS, и это поле у меня осталось неиспользованным. Но здесь тоже есть небольшой подвох: Google использует мета-тэг с name=google-site-verification, а Яндекс, соответственно, name=yandex-verification. Если просто скопипастить тэг из панели Яндекс.Вебмастер в панель управления сайтом Google, то тэг не сохранится. Но есть небольшая лазейка (уж не знаю, баг или фича): тег Яндекса можно сохранить в два шага:

1. Сначала сохраняем любой рабочий тэг верификации от гугла (пример можно взять прямо в панели управления сайтом):


2. Проверяем, что он сохранился и заменяем его яндексовским:


Если с первого раза не сохраняется, попробуйте сначала заменить name, сохранить, а затем заменить content и снова сохранить.

Всё, проверяем, что тег сохранился, и нажимаем в панели Яндекс.Вебмастер кнопочку "Проверить", и voilà, теперь вы авторизованный владелец сайта!

Комментариев нет: