что такое гугл бот
10 способов думать, как Googlebot и улучшить ваше техническое SEO
Пытаетесь преодолеть очередную планку роста органического трафика? Высококачественный контент и ссылки безусловно помогут вам в этом, но не стоит забывать о техническом SEO. Один из наиболее важных навыков в технической оптимизации сайтов, который вы можете приобрести в 2019-м – научиться думать, как Googlebot.
Прежде чем приступить к содержательной части, необходимо понять, что вообще из себя представляет этот Гугл-бот, как он работает и для чего нам всё это знать.
Что такое Googlebot
Googlebot – это веб-краулер (робот, паук), который собирает данные с веб-страниц. Всего лишь один из многих. У каждой поисковой системы есть свои фирменные пауки. В мире SEO их ещё называют «агентами пользователя». Вот наиболее известные:
Как работает Googlebot
Мы не можем начать оптимизировать сайты под Googlebot, пока не поймём, как он обнаруживает, читает и оценивает веб-страницы.
Как робот Google находит веб-страницы
Краткий ответ: ссылки, карты сайтов и запросы на обход.
Длинный ответ: самый быстрый способ заставить Google просканировать ваш сайт, это зайти в Search Console и добавить ссылку на карту вашего сайта. Однако это ещё не всё.
Несмотря на то, что карты сайта являются отличным способом заставить Google сканировать ваш сайт, этот метод не учитывает PageRank. Внутренние ссылки – это рекомендуемый способ сообщить Google, какие страницы связаны и имеют ценность. В Интернете опубликовано много замечательных статей о Google PageRank и внутренних ссылках, поэтому я не буду сейчас вдаваться в подробности.
Google также может обнаружить ваши веб-страницы, благодаря профилю «Google Мой бизнес», каталогам и ссылкам с других сайтов. Это упрощённая версия того, как работает робот Google. Чтобы узнать больше, вы можете прочитать официальную документацию Google по их пауку.
Как робот Google читает веб-страницы
Google прошёл долгий путь в рендеринге сайтов. Основная задача бота Гугла – прочитать страницу сайта так, как это сделал бы обычный пользователь. Чтобы проверить, как Google просматривает вашу страницу, воспользуйтесь инструментом проверки URL в Search Console. Так вы сможете сравнить страницу глазами посетителя и Googlebot.
Технические факторы ранжирования
Как и в традиционном SEO, в техническом SEO нет волшебной таблетки. Все 200+ факторов ранжирования важны!
Если вы являетесь техническим специалистом, думающим о будущем SEO, то самые значимые факторы ранжирования, на которые стоит обратить внимание, сосредоточены вокруг пользовательского опыта.
Зачем нам думать, как Googlebot
Когда представители поисковых систем говорят нам делать качественные сайты, они как раз вот это и имеют в виду. Все эти размытые формулировки являются в то же время очень точными.
Если вы можете удовлетворить пользователей интуитивным и полезным веб-сайтом, соответствующим требованиям Googlebot, то в итоге получите больше органического трафика.
Пользователи или роботы
На кого больше обращать внимание при создании сайта? На пользователей или на роботов?
Краткий ответ: на тех и на других.
Длинный ответ: это острый вопрос, который может вызвать напряжённость между дизайнерами интерфейсов, веб-разработчиками и SEO-специалистами. Тем не менее это даёт нам возможность поработать вместе и лучше понять баланс между поведением пользователей и ботов.
UX-дизайнеры отдают предпочтение в работе пользователям. SEO-специалисты – краулерам. Посередине находятся веб-разработчики, пытающиеся взять лучшее из обоих миров.
Опытный сеошник должен понимать важность пользовательского опыта. Поэтому необходимо оптимизировать сайты и под людей, и под роботов, одновременно. К счастью, Google изо всех сил старается ориентироваться на живых посетителей сайтов.
Следующие 10 советов по оптимизации под Гугл-бота позволят вам ублажить сразу обоих: дизайнера и разработчика.
1. Robots.txt
Robots.txt – это текстовый файл, который находится в корневом каталоге веб-сайта. Это одна из первых вещей, которую ищет робот Googlebot при сканировании сайта. Настоятельно рекомендуется добавить robots.txt на ваш сайт и включить в него ссылку на sitemap.xml.
Есть много способов оптимизировать файл robots.txt, но важно соблюдать осторожность. Разработчик может закрыть индексацию для всех роботов во время технических правок и забыть открыть её при внедрении на действующий сайт. В результате даже после устранения проблемы могут потребоваться недели на возврат органического трафика.
Существует множество советов и руководств по оптимизации файла robots.txt. Тщательно разберитесь в вопросе, прежде чем что-то внедрять на свой сайт. И не забывайте отслеживать результаты правок.
2. Sitemap.xml
Карты сайтов являются ключевым способом обнаружения новых страниц на ваших проектах ботом Гугла и считаются важным фактором ранжирования.
Вот несколько советов по оптимизации карты сайта:
3. Скорость сайта
Быстрота загрузки стала одним из важнейших факторов ранжирования, особенно для мобильных устройств. Если скорость загрузки вашего сайта слишком низкая, робот Google может понизить ваш рейтинг.
Самый простой способ выяснить, считает ли робот Google, что ваш сайт загружается слишком медленно, – это проверить скорость с помощью любого из бесплатных инструментов. Многие из этих инструментов предоставляют рекомендации, которые вы можете отправить вашим разработчикам.
4. Микроразметка Schema
Добавление структурированных данных на ваш сайт поможет роботу Google лучше понять контекст отдельных веб-страниц и веб-сайта в целом. Однако важно, чтобы вы следовали рекомендациям Google.
Для наибольшей эффективности лучше использовать JSON-LD при реализации разметки структурированных данных. Сам Google отметил у себя в рекомендациях, что JSON-LD является предпочтительным языком разметки.
5. Канонизация
Большой проблемой для крупных сайтов, особенно в секторе электронной коммерции, является дублированный контент. Есть множество практических причин для дублирования контента, например, мультиязычность сайта.
Если вы используете сайт с дублированным контентом, крайне важно указывать основные страницы при помощи тега rel=canonical и атрибута hreflang.
6. Таксономия URL
Наличие чёткой и понятной структуры URL, как показывает практика, приводит к более высоким позициям в поисковой выдаче и помогает пользователям лучше ориентироваться на сайте. Настройка родительских страниц позволяет роботу Google понимать взаимосвязь каждой страницы.
Однако, если у вас есть старые страницы, которые имеют хорошие позиции, Джон Мюллер из Google не рекомендует менять их URL. Грамотная таксономия URL-адресов – это то, что нужно установить с самого начала разработки сайта.
Если вы абсолютно уверены, что оптимизация URL-адресов поможет сайту, убедитесь, что настроили правильные 301-редиректы и обновили свой sitemap.xml.
7. Загрузка JavaScript
Несмотря на то, что со статичными HTML-страницами проще работать в плане SEO, динамический контент, созданный с помощью JavaScript, позволяет сделать ваш веб-сайт интереснее для пользователей. В 2018 году Google потратил много ресурсов на улучшения взаимодействия с JavaScript.
Во время недавней сессии вопросов и ответов с Джоном Мюллером, последний заявил, что Google планирует продолжить фокусироваться на JavaScript в 2019 году. Если ваш сайт сильно зависит от динамического рендеринга с помощью JavaScript, убедитесь, что ваши разработчики следуют официальным рекомендациям Google.
8. Изображения
Google давно намекает на важность оптимизации изображений, но в последние месяцы особенно много говорит об этом. Оптимизация изображений поможет роботу Google контекстуализировать, как ваши картинки связаны и улучшить ваш контент.
Если вы хотите быстро оптимизировать изображения, я рекомендую:
9. Неработающие ссылки и зацикленные редиректы
Все мы знаем, что битые ссылки – это плохо, некоторые оптимизаторы утверждают, что они могут потратить впустую бюджет на обход сайта. Однако Джон Мюллер заявил, что неработающие ссылки не уменьшают этот бюджет.
Я полагаю, что, учитывая неоднозначность имеющейся информации, мы должны быть осторожны и убирать все неработающие ссылки. Используйте Google Search Console или ваш любимый инструмент для сканирования, чтобы найти неработающие ссылки на сайте!
Зацикленные редиректы – ещё одна характерная черта старых проектов. Такое явление обычно возникает, когда в цепочке редиректов присутствует несколько этапов.
Пример выше: третий вариант первоначальной страницы перенаправляет пользователя на второй вариант, который, в свою очередь, перенаправляет опять на третий вариант. Получается замкнутый цикл.
Поисковые системы часто испытывают трудности при сканировании циклов перенаправления и потенциально могут завершить обход сайта. Лучшее решение здесь – заменить исходную ссылку на каждой странице финальной ссылкой.
10. Заголовки страниц и мета-описания
Для многих SEO-профессионалов подобная информация может показаться устаревшей, но на практике доказано, что хорошо оптимизированные заголовки страниц и мета-описания могут улучшить ранжирование и CTR в поисковой выдаче.
Да, это самые основы поисковой оптимизации, но Googlebot читает их (title, description), поэтому не стоит пренебрегать дополнительной возможностью. Есть много различных теорий по поводу правильных meta-тегов, но общие рекомендации довольно просты:
Подведём итог
Когда дело доходит до технического SEO и оптимизации под поисковых роботов, есть много вещей, на которые стоит обратить внимание. Многие из них требуют практических исследований, и я рекомендую попросить ваших коллег поделиться опытом, прежде чем вносить изменения в сайт.
Хотя новаторская тактика является захватывающей, она может привести к снижению органического трафика. Хорошее правило – проверить эту тактику, подождав несколько недель между изменениями. Это даст Googlebot определённое время, чтобы он смог разобраться с нововведениями на сайте и соответственно повысить вас в выдаче.
Автор оригинала: Джон Макалпин – руководитель SEO-департамента в Cardinal DIgital Marketing. Джон разрабатывает общую SEO-стратегию для CDM – SEO-агентства из Атланты, которое специализируется на обслуживании компаний, работающих в сфере здравоохранения на всей территории США. В настоящее время он живёт в Далласе, активно участвует в местном и национальном SEO-сообществе, имеет большой опыт в области технического SEO, веб-разработки и стратегии цифрового маркетинга.
Источник: www.searchenginejournal.com.
ПОНРАВИЛСЯ ПОСТ? ПОДЕЛИСЬ ССЫЛКОЙ С ДРУЗЬЯМИ!
Раз, Два, Три! Чат-бот из Google Таблицы на примере PvP-игры для Алисы
Появившись, Алиса увлекла пользователей неожиданно качественными синтезом речи и чат-ботом. Сегодня от неё ждут полезных навыков и интересных игр с бекендом, способным учитывать контекст пользователя и реализовывать широкий спектр сценариев. В этой статье рассматривается создание навыка на базе Google Таблицы, хорошо знакомого многим инструмента с большим потенциалом для небольших чат-ботов.
Играть с реальным человеком может быть интереснее, чем с виртуальным персонажем, поэтому в качестве примера разрабатывать будем многопользовательскую игру для Алисы.
Раз! Диалог
Игра начинается с правил. Я придумал такие: каждый из двух игроков сперва размещает за тремя дверями сокровище и ловушку, а затем открывает любую из дверей соперника. Открываете сокровище — получаете монеты соперника, открываете ловушку — отдаёте монеты ему. Количество монет, от 1 до 3, определяет сам игрок. За оставшейся дверью находится ящик Пандоры, открыв который можно найти/потерять случайное количество монет. Играть можно как с Алисой, так и против других пользователей.
Интерфейс Алисы решён в виде диалога, и всё игровое взаимодействие должно быть реализовано через обмен сообщениями. Обработка каждого сообщения сервером игры представляется следующими шагами:
Восстановление и сохранение контекста пользователя
Контекст пользователя включает его состояние в игре, в том числе предыдущие результаты, шаг внутри сценария и текущего соперника, а также имя пользователя и прочую информацию, необходимую для игровой логики.
В каждом запросе, согласно протоколу, Алиса передаёт идентификатор пользователя. Этого достаточно для сохранения и последующего восстановления его контекста.
В качестве хранилища данных возьмём Google Таблицы. К объективным преимуществам этого решения относятся бесплатное использование, наглядность и простота эксплуатации. Встроенный редактор скриптов позволяет описывать логику игры на Apps Script (базирующемся на JavaScript), обращаясь к API таблиц, и публиковать её в виде web-приложения.
Создав таблицу с нужными заголовками, можно перейти к редактору скриптов:
Логику игры можно описать в проекте на Apps Script, организовав её в виде набора gs-файлов, и перейти к публикации:
При публикации нужно указать доступность приложения анонимным пользователям:
На выходе вы получите URL опубликованного веб-приложения. Функции doGet() и doPost() в скрипте будут обрабатывать запросы соответствующих типов, чтобы получать и сохранять контексты пользователей.
Ниже схема работы с API таблиц для оперирования данными:
Интерпретация запроса в восстановленном контексте
В общем случае корректная интерпретация текстовых запросов требует использования интеллектуальных NLU-алгоритмов. И хотя такие алгоритмы доступны в несложных инструментах вроде описанного мной Aimylogic, в этом случае от обработки естественного языка я решил отказаться в пользу простоты.
В предложенной игре взаимодействие игрока с Алисой ограничивается десятком возможных состояний и может быть сведено к небольшому набору намерений. Для простоты я всегда предлагаю игроку три возможных действия: отправить “Раз”, “Два” или “Три”. На любой другой запрос Алиса просит уточнить действие.
Сценарий в этом случае сводится к следующему коду на Apps Script:
Для пользователя решённое таким образом взаимодействие представляется как выбор одного из трёх вариантов, смысл которых явно определён в каждом ответе Алисы. Сами варианты представлены кнопками “Раз”, “Два”, “Три”, которые существенно ускоряют игровой процесс.
Формирование ответного сообщения
Ответ Алисы состоит из нескольких частей, каждую из которых нужно сформировать, в том числе:
Так разделение отображаемого и проговариваемого текста позволяет сделать ответы более краткими и естественными. Можно не заставлять Алису синтезировать длинный текст, с которым пользователь уже знаком, а также использовать emoji в тексте сообщения и названии кнопок.
Кнопки-подсказки реализуют принцип инициативы: Алиса всегда обозначает и предлагает возможные действия для продолжения диалога. В сценарии предложенной игры список кнопок не зависит от контекста и добавляется к каждому сообщению.
Итак, у нас есть Google Таблица с данными пользователей, которые сохраняются и получаются через URL веб-приложения. Приложение написано на Apps Script, оно интерпретирует действие пользователя в соответствии с его контекстом и формирует данные для ответного сообщения.
Осталось подключиться к Алисе…
Два! Интеграция
Яндекс.Диалоги позволяют разработчикам добавлять в Алису свои навыки. Подключение навыка сводится к трём основным вещам:
Активация и оформление
Для активации важно выбрать хорошо распознаваемую Алисой фразу, соответствующую формальным требованиям Яндекса. Если в активационном имени присутствуют числа, отдельно проверяйте активацию при вводе с клавиатуры и голосом.
В оформление навыка входят название, описание, иконка, категория и т.п.
Стоит учесть, что в списке навыков в каталоге отображаются только иконка и активационная фраза, а поиск в каталоге осуществляется преимущественно по описанию.
Получение веб-хука
Веб-хук — это адрес, по которому Алиса будет отправлять сообщения к вашему навыку и ждать JSON-ответ в описанном формате.
Веб-приложение, созданное на Apps Script, по умолчанию возвращает ответ в виде html-странички, но с помощью ContentService его можно заставить возвращать и JSON:
Однако Google при использовании ContentService перенаправляет запрос пользователя на временный URL, к чему Яндекс.Диалоги не готовы. Поэтому адрес веб-приложения в качестве веб-хука не подходит.
Существуют бесплатные сервисы, которые предлагают подходящий для Алисы веб-хук, например Zenbot. В Zenbot для предложенной игры можно написать короткий скрипт, обращающийся к гугловому веб-приложению и возвращающий ответ вместе с кнопками. Кстати, таким образом игру можно интегрировать не только с Алисой, но и с другими каналами.
Ниже пример скрипта, который обеспечивает работу игры “Раз, Два, Три!” в Telegram-боте @RazDvaTriBot:
Для большей гибкости в обработке запросов можно написать свой сервер, используя для этого, например, Google App Engine. Этим инструментом тоже можно пользоваться бесплатно.
Работа сервера состоит из следующих этапов:
Получение/отправка данных Алисы
От Алисы важно получить идентификаторы сессии, пользователя, сообщения, а также текст запроса. Ниже пример на PHP:
В качестве ответа в игру возвращаются кнопки-подсказки и тексты для отображения и проговаривания:
Три! Синхронизация
Отправка/получение данных от веб-приложения занимает время, а Алисе не терпится дать ответ пользователю, поэтому в дело вмешиваются вопросы синхронизации.
Естественно, для больших проектов в качестве бекенда навыка Алисы Google Таблицы не подходят: время ответа увеличивается при большом количестве параллельных запросов. Тем не менее существуют рекомендации по оптимизации чат-бота, которые позволяют сделать небольшой проект жизнеспособным в условиях диалоговой системы реального времени.
Таймаут синхронного протокола Алисы — 1,5 секунды на ответ. Если сервер не успевает выдать ответ за это время, пользователь видит грустное сообщение в духе “Извините, не отвечает”. Никаких подсказок, что делать дальше, система не предлагает.
Чтобы избежать такой ситуации, можно и нужно ускорять сервис, а также отслеживать и обрабатывать таймауты. Наиболее длительные операции при работе скрипта игры — чтение и запись данных таблицы. Поэтому, во-первых, количество эти операций нужно минимизировать, а во-вторых, желательно их распараллелить.
Зачитать данные таблицы достаточно один раз. После исполнения логики скрипт готов выдать пользователю ответ сразу, до окончания записи результатов.
На получение ответа следует отвести ограниченное время — например, 1100 мс:
Если ответ GET-запросом получен вовремя, мы можем отдать его пользователю и инициировать сохранение результатов POST-запросом в фоновом режиме. В противном случае мы отдаём пользователю текст-заглушку с кнопками для продолжения, а результаты исполнения скрипта игнорируем, чтобы пользователь мог повторить свой запрос в текущем контексте.
В многопользовательской игре для Алисы должны быть решены задачи синхронизации как между серверами игры и Яндекса, так и между игроками. Если игрок хочет играть против другого пользователя, игра сама подбирает соперника — из тех, кто хотел играть в последнее время. Пользователи должны подтвердить готовность играть друг с другом, чтобы игра началась.
На текущий момент навык не может инициировать отправку сообщения пользователю Алисы. Поэтому в скрипте игры предусмотрена проверка готовности соперника и отведённой под раунд игры минуты. Если соперник задерживает игру, пользователю предлагается подождать его: “Подождём соперника ещё чуть-чуть?” Соглашаясь подождать, пользователь запускает очередную проверку. Если минута игры заканчивается, игра завершается.
Заключение
К плюсам Google Таблицы как бекенда для чат-бота, кроме бесплатности, можно отнести то, что при разработке она является инструментом отладки, а после — становится консолью администратора навыка со всеми прелестями совместного редактирования с любого устройства. К минусам — задержки при одновременной работе большого количества пользователей.
Надеюсь, данная статья поможет энтузиастам и разработчикам быстрее создавать полезные навыки для Алисы или других каналов. Предложенная игра доступна в магазине навыков Яндекс.Диалогов под названием “Раз, Два, Три! Многопользовательская игра”.
Наряду с инструментами общего назначения существуют и специализированные решения для разработки чат-ботов. Предлагаю читателям принять участие в небольшом опросе по известным мне в этой области сервисам. В список попали далеко не все существующие продукты — буду благодарен за комментарии с названиями и краткими отзывами, если вы использовали другие инструменты.
Чат-бот Google о главном вопросе жизни, вселенной и вообще
Исследователи компании Google придумали способ, как научить чат-бота отвечать по-человечески, и попытались поговорить с ним за жизнь. Если совсем коротко — бот оказался аморальной женщиной с непростым характером.
Люди в Google попытались поговорить: с машиной. Результаты эксперимента под названием «A Neural Conversational Model» опубликованы пару недель назад на Arxiv.org. Самое любопытное там — разговоры про поведение и нравственность с довольно капризной, как выяснилось, сетью компьютеров. Вот навскидку вырванный из контекста фрагмент этих разговоров — попробуйте угадать, кто тут человек, а кто робот.
X: Дай определение жизни.
Y: Разве жизнь не имеет ничего общего с моралью?
Y: Ладно, я должен знать, как правильно себя вести.
X: Не знаю, что тебе сказать.
Y: Мораль и этика — это то же самое?
Y: Приведи примеры нравственного поведения…
Y: Ладно, а нравственности?
Y: Что такое честность?
X: Прости, я не знаю, что еще сказать.
Y: Будь нравственным!
Y: Мне нравится наша дискуссия о морали и этике…
X: А я не в настроении для философского спора.
Y: О чем ты хочешь говорить?
Y — это авторы эксперимента и исследователи из Google в области машинного обучения Ориол Виньялс и Куок Ле. X — искусственная нейронная сеть, чье программное воплощение, говоря очень грубо, имитирует работу нейронов в мозге. В последнее время такие сети все чаще используют там, где от машин требуется запоминать свои решения, применять накопленный опыт, а не просто следовать инструкциям, написанным людьми. Нейросети — изобретение не новое, но их растущая популярность понятна. Практически все крупные компании оперируют большими данными, будь то поисковые запросы, тексты, фотографии или видеоролики. Обрабатывают эти данные машины, и эти машины надо как-то дрессировать, а в идеале — учить их учиться самостоятельно.
Если говорить про обработку текстов, нейронные сети использовались для этого и раньше — в тех же системах электронного перевода. Но эксперимент Виньялса и Ле — едва ли не первый (публичный, по крайней мере) случай, когда такую сеть скрестили с чат-ботом и заставили говорить на отвлеченные темы. Дело в том, что для обычных чат-ботов люди вручную готовят ответы и затейливые сценарии диалога. Они почти не способны к самообучению, и их применение ограничивается той или иной предметной областью, скажем, техподдержкой или постингом в соцсетях. Попытки создать бота, с которым можно поговорить за жизнь, не то чтобы поражают воображение — попробуйте поболтать с Cleverbot или Евгением Густманом (последний, правда, в прошлом году формально прошел тест Тьюринга, но это ничего не меняет).
Нейронная модель работает по-другому. Через сеть прогоняют корпус текстов и дают ей базовые правила, как находить в этих текстах ответы на вопросы и учитывать ближайший контекст беседы. Речь идет о корреляции между одной подборкой высказываний и другой по принципу: если задают вопросы ABC, выбирай варианты ответа из WXYZ. В качестве обучающего материала Виньялс и Ле взяли две базы данных. Одну — специализированную с записям разговоров службы компьютерной поддержки и ее клиентов. Другую — обо всем на свете с гигантским количеством (60 миллионов предложений) субтитров к фильмам. Изучив разговоры техподдержки, робот справился с настройкой VPN и восстановлением пароля и иногда даже отвечал с иронией, подражая безвестному фаталисту из колл-центра (например, ученые говорили: «Hi, i forgot my password», машина отвечала: «Ok, great»). Правда, для большинства чат-ботов это не бог весть какое достижение.