X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Добавить ответ в эту тему
> Яндекс подробно раскрыл детали устройства Турбо-страниц
jack
jack
Topic Starter сообщение 3.4.2020, 13:35; Ответить: jack
Сообщение #1


----------------
*******

Группа: Administrator
Сообщений: 8061
Регистрация: 22.3.2009
Из: глины
Поблагодарили: 11280 раз
Репутация:   608  


По данным TelecomDaily, почти 30% пользователей мобильного интернета в России ежедневно сталкиваются с проблемами при загрузке сайтов. Однако причина может быть не только в неравномерном покрытии, но и в слишком большом «весе» страницы.

Повлиять на качество соединения мы не можем, а вот помочь вебмастерам упростить наполнение сайта, сделать его легче — почему бы и нет? Так в Яндексе появилась технология Турбо-страниц: нашей контент-системе передают всё необходимое к размещению, а она преобразует эти данные в лёгкие и быстрые материалы.

Как работает эта магия? Какой путь проходят данные, прежде чем стать полноценной Турбо-страницей? Меня зовут Стас Макеев, я руковожу разработкой технологии Турбо-страниц. Сейчас попробую всё объяснить.

Но сначала — что-то вроде краткого содержания, чтобы вы не потерялись, когда начну углубляться в детали.

Ключевое преимущество системы Турбо-страниц — быстрое преобразование данных из исходной формы в окончательную: материалы новостных сайтов наиболее востребованы в первые минуты после публикации, а карточки товаров интернет-магазинов должны оперативно обновляться и всегда соответствовать актуальному статусу наличия. Второй важный параметр — надёжность: контент-система должна быть максимально стабильна, уметь переживать поломку отдельных серверов или даже целых дата-центров. И, конечно же, было важно не допустить чрезмерной нагрузки на хосты наших партнёров, подключившихся к Турбо-страницам. То есть при проектировании сервиса нужно было каким-то образом нащупать баланс между скоростью обработки данных и увеличением количества запросов.

У владельцев сайтов есть несколько способов подключиться к системе:
  • зарегистрировать в Яндекс.Вебмастере фиды: YML — для интернет-магазинов, RSS – для контентных сайтов;
  • передавать материалы через API: хозяин ресурса сам загружает на сервера Яндекса необходимые данные (пока только для контентных сайтов);
  • включить автопарсер: Турбо-страницы строятся на основании исходных материалов контентного сайта.


Контент-система складывает результаты своей работы в специальное хранилище типа «ключ-значение» (key-value-хранилище или KV-хранилище), где ключом является URL оригинального сайта, а в значении хранится контент Турбо-страницы. Как только данные попадают в это KV-хранилище, очередная Турбо-страница сразу же становится доступна пользователям поиска, а в сервисах Яндекса у соответствующего документа появляется специальный значок с ракетой. Также для ускорения работы мы кешируем картинки и видео в наших CDN.

Очень упрощенно общая схема работы выглядит так:


С чего все начиналось
Самая первая версия контент-системы была устроена совсем просто: каждые несколько минут, по расписанию, на сервере внутреннего облака Яндекса запускалась одна и та же программа. Она состояла из нескольких шагов, каждый следующий запускался после того, как были готовы данные предыдущего для всех известных нам фидов:
  • скачивался список RSS-фидов, запускался парсер документов;
  • из результатов парсера извлекался список изображений;
  • в CDN загружались ещё не закешированные картинки;
  • обработанные документы заливались в KV-хранилище.


Такая схема отлично работала, когда система имело дело с несколькими тысячами довольно лёгких RSS-фидов новостных агентств (суммарно — информация о чуть менее 100 000 документов). Но с увеличением количества фидов быстро обнаружилась проблема: каждый шаг занимал всё больше времени, росла задержка между появлением нового документа в исходном источнике и его отображением в Турбо-режиме.

Ситуацию удавалось держать под контролем с помощью различных ухищрений: первым делом мы выделили первый шаг (скачивание RSS-фидов + парсер документов) в отдельный процесс. То есть, пока один обрабатывал картинки для предыдущей итерации, другой процесс уже скачивал фиды для следующей. Через некоторое время стало понятно: в таком виде систему очень сложно масштабировать. Нам нужно что-то принципиально новое.

Обработка RSS, API и YML в новой контент-системе

Главная проблема старой контент-системы — все данные обрабатывались одним куском: перехода к следующему шагу не происходило, пока каждый документ не прошёл предыдущий. Чтобы избавиться от этого, было решено построить некий конвейер: пусть фиды и отдельные документы обрабатываются максимально независимо друг от друга. Все шаги выделили в отдельные кубики-сервисы — на верхнем уровне схема получилась такая:


  • первый кубик качает RSS-фиды и передает дальше;
  • второй — забирает фиды по одному, парсит содержимое. На выходе — отдельные документы;
  • третий — забирает документы по одному, обрабатывает картинки и видео, записывает всё в KV-хранилище.

Одни и те же фиды могут быть зарегистрированы не только в Турбо, но и на других наших сервисах — в Новостях или в Маркете, например. Если каждый из них будет скачивать данные самостоятельно, нагрузка на сервера вебмастеров в несколько раз превысит допустимую. Как правильно? Скачать фид один раз, а затем содержимое раздать всем сервисам-потребителям — этим занимается Яндекс.Робот. Его же услугами мы пользуемся для выгрузки контента: забираем из Яндекс.Вебмастера список зарегистрированных в Турбо RSS- и YML-фидов, передаем его в Робота и подписываемся на результаты скачивания.

На полученных данных запускаем парсер. На всякий случай напомню: RSS-фид — просто файл в формате «.XML», доступный по статическому URL на хосте партнера. В этом файле расположена информация обо всех обновлениях на сайте — какие документы новые, какие измененные. В идеальных фидах находилась бы только самая актуальная информация за последние несколько часов: не более 100 документов на несколько сотен килобайт.

Реальность кусается: иногда файлы находятся внутри фида очень долго и никогда не меняются. Как избежать повторной обработки в таких случаях? Вычисляем хеш каждого документа, запоминаем его в базу данных, и ничего не предпринимаем, пока хеш не изменится.

Обработка YML-фидов и API с точки зрения контент-системы практически ничем не отличается от взаимодействия с RSS: для YML запускаем другой парсер, а данные, переданные через API, получаем напрямую из Яндекс.Вебмастера.



Обработка изображений и видео

Документ, который получается на выходе из парсера, практически готов для записи в KV-хранилище. Единственное, что осталось сделать перед отправкой — обработать изображения и видео: закешировать в CDN и заменить ссылки в документе. Тут снова обращаемся за помощью к Роботу.

Первым делом проверяем каждую картинку и видео: есть ли они в CDN? Если все уже закешировано, заменяем ссылки и обновленный документ отправляем в KV-хранилище. В противном случае:
  • список недостающих URL отправляем в Робот, для планирования и скачивания;
  • сам документ — во временное хранилище, чтобы через некоторое время попробовать проверить его ещё раз.

Другой кубик в это время получает результаты скачивания, заливает данные в CDN и обновляет базу данных.

В такой схеме удается решить ещё одну важную проблему, связанную с планированием: Робот понимает, с какой скоростью можно качать данные с разных хостов, и не допускает перегрузок.



Типичный путь, который проходит новый документ:
  • документ появляется в фиде;
  • Робот скачивает фид;
  • парсер обнаруживает новый документ и отправляет его дальше;
  • проверяем, что картинки из документа не упоминаются в базе данных, заказываем скачивание, документ отправляем во временное хранилище (Delay). Пока документ находится там, Робот скачивает картинки, они кешируются в CDN, а ссылки появляются в базе данных;
  • во второй раз проверяем картинки в базе данных, находим ссылки на CDN, обновляем документ и отправляем в KV-хранилище.
  • Обратите внимание: если картинки скачиваются долго, документ может несколько раз побывать в Delay.

Автопарсер

Есть ещё один способ подключения к Турбо-страницам, для которого вебмастеру практически ничего не нужно делать — Автопарсер. Он строит Турбо-страницы на основании исходных данных контентного сайта. Подключиться, посмотреть примеры готовых страниц, настроить рекламу и аналитику можно в Яндекс.Вебмастере.
  • Основная сложность, с которой сталкивается Автопарсер — распознать по HTML-разметке, какая информация основная и должна быть использована при построении Турбо-страницы. Для этого у нас есть несколько оффлайн-процессов, которые пытаются понять, как именно нужно парсить конкретный хост. Остановлюсь на двух основных:
  • Первый скрипт анализирует документы из RSS-фидов и соответствующие им HTML-страницы оригинального сайта. Итог — разбиение страниц на фрагменты, содержимое которых либо целиком вошло в RSS-аналог (то есть является основной информацией), либо полностью отсутствует. Так формируется огромная, достаточно качественная обучающая выборка. На ней при помощи технологии машинного обучения CatBoost тренируются модели, предсказывающие какие тексты, фото и видео исходной страницы ключевые. На больших материалах работает отлично, но для маленьких модель может легко перепутать основной текст и, например, меню. К счастью, почти всегда статьи в рамках одного сайта устроены очень похоже. То есть, применяя модель для множества страниц, можно заметить, что элементы находящиеся на определенных путях в HTML разметке часто попадают в результат. Совпадение? Едва ли: такое содержимое всегда оказывается основным. Итог – некоторый набор обобщённых правил, как корректно парсить хост.
  • Другой процесс контролирует качество: результат применения этих правил к страницам выборочно валидируется специальным заданием в Яндекс.Толоке. Список хостов, для которых получилось хорошо, передаётся в Робота, чтобы по привычной уже схеме подписаться на результаты скачивания документов, окончательные правила — в парсер. Документ после обработки парсером отправляется дальше — для кеширования картинок.

Кстати, ещё одно частое препятствие — многие сайты закрывают в robots.txt возможность скачивания картинок роботами. Обойти эту проблему, к сожалению, невозможно, и для таких страниц Автопарсер недоступен.

В итоге полная схема контент-системы выглядит вот так:


Система получилась хорошо масштабируемой: уже сейчас для обслуживания базы данных, автопарсера и других компонентов системы используется значительное количество ресурсов (только в кубике, отвечающем за парсинг RSS, YML и API, задействовано более 300 процессорных ядер), а в случае роста нагрузки подключить дополнительные мощности будет не слишком сложно.

Источник


--------------------
Stimul-Cash и RX-Partners - лидеры фарма бизнеса!


Поблагодарили: (1)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Trumper
Trumper
сообщение 3.4.2020, 17:52; Ответить: Trumper
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 440
Регистрация: 9.8.2018
Из: Планета Земля
Поблагодарили: 74 раза
Репутация:   7  


вот только человеческих, полных и супер подробных материалов на тему как сделать турбо страницы и что от этого лучше стало - я так и не видел.
хотелось бы кейсы прям
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Shentom
Shentom
сообщение 3.4.2020, 23:08; Ответить: Shentom
Сообщение #3


Новичок
*

Группа: Viewer
Сообщений: 4
Регистрация: 30.3.2020
Поблагодарили: 1 раз
Репутация:   0  


Дистанционка в самом лучшем проявлении)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Haker24
Haker24
сообщение 10.4.2020, 14:11; Ответить: Haker24
Сообщение #4


Новичок
*

Группа: User
Сообщений: 28
Регистрация: 13.3.2015
Поблагодарили: 2 раза
Репутация:   0  


Хотели как лучше ... Все равно ради скорости приходится жертвовать контентом, полезностью, функционалом сайта. Если у турбо будут расширяться возможности, то и недовольных будет меньше.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
RIperNP
RIperNP
сообщение 14.5.2020, 20:24; Ответить: RIperNP
Сообщение #5


Участник
***

Группа: Banned
Сообщений: 236
Регистрация: 14.3.2017
Поблагодарили: 28 раз
Репутация:   2  


Надоел этот Яндекс со своими турбо страницами. Весть вебмастер засрал агитациями к подключению их.


--------------------
клоновод Had, Velli, LevM, LeZ


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Telnor
Telnor
сообщение 21.5.2020, 19:22; Ответить: Telnor
Сообщение #6


Топовый постер
*******


Группа: Active User
Сообщений: 6282
Регистрация: 22.7.2010
Из: CCCР
Поблагодарили: 1131 раз
Репутация:   395  


Цитата(RIperNP @ 14.5.2020, 19:24) *
Весть вебмастер засрал агитациями к подключению их.

подключал кто, есть смысл?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MihalychAIP
MihalychAIP
сообщение 21.5.2020, 20:25; Ответить: MihalychAIP
Сообщение #7


Бывалый
****

Группа: User
Сообщений: 328
Регистрация: 4.9.2018
Поблагодарили: 48 раз
Репутация:   7  


Telnor,
Подключал ранее, но особо разницу не увидел
Зарегистрировал новый домен неделю назад, а через 6 дней подключил турбо
Сразу в ТОПе и Яндекс турбо выдает
Не факт, но для новых доменов может польза есть, т.к фид сайта свежий, инфа новая, есть привилегия
Это пока только мысли, проведу еще тест с новым доменом сразу с турбо


--------------------
SOS!
Нужна лЮбая работа WP, контент менеджер, администратор/модератор сайта
Телега, Скайп-aip911
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fobos
fobos
сообщение 21.5.2020, 20:56; Ответить: fobos
Сообщение #8


Бывалый
****

Группа: User
Сообщений: 387
Регистрация: 22.2.2008
Из: СССР
Поблагодарили: 75 раз
Репутация:   14  


Цитата(Telnor @ 21.5.2020, 18:22) *
подключал кто, есть смысл?


для бизнеса нет смысла, функционала почти нет, а для новостников есть смысл получить доп.траф.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
VinogradOFF
VinogradOFF
сообщение 21.5.2020, 22:55; Ответить: VinogradOFF
Сообщение #9


Топовый постер
*******


Группа: Active User
Сообщений: 4076
Регистрация: 7.8.2018
Из: Казань
Поблагодарили: 553 раза
Репутация:   43  


Цитата(fobos @ 21.5.2020, 20:56) *
для бизнеса нет смысла, функционала почти нет, а для новостников есть смысл получить доп.траф.


так если бизнесу и нужен этот траф?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fobos
fobos
сообщение 22.5.2020, 12:25; Ответить: fobos
Сообщение #10


Бывалый
****

Группа: User
Сообщений: 387
Регистрация: 22.2.2008
Из: СССР
Поблагодарили: 75 раз
Репутация:   14  


Цитата(VinogradOFF @ 21.5.2020, 21:55) *
так если бизнесу и нужен этот траф?


Я же написал функционала почти нет.
Если от полноценного сайта конверсия 7-10%, то турбо-страницы будут выдавать 1-4%.
Смысл для бизнеса турбо-страницы, если продажи упадут в разы.

з.ы. бизнесу нужен не траф, а продажи ;)


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Отключение рекламы в "Яндекс.Почте" станет платным
11 seostock 198 Сегодня, 13:18
автор: x64
Открытая тема (нет новых ответов) Контекст 6 в 1 «под ключ»: Яндекс Директ, Google Ads [поиск, рся+кмс+ремаркетинг], соц. сети [Fb, vk]
Ведение - бесплатно, оплачивается только комиссия шлюза
14 Dr_Tapac 4224 27.5.2020, 17:35
автор: fxpro03
Открытая тема (нет новых ответов) Сервис или программа для проверки количества страниц в индексе.
Подскажите сервис или программу для для проверки кол-ва страниц.
6 sergey_kazakov 159 26.5.2020, 20:15
автор: Ruby
Открытая тема (нет новых ответов) hreflang url страниц не совпадают
8 ByhAnka 227 24.5.2020, 12:54
автор: ByhAnka
Горячая тема (нет новых ответов) Мои Яндекс Деньги на ваши WMR
1 к 1
44 max42 14681 21.5.2020, 19:32
автор: max42


 



RSS Текстовая версия Сейчас: 29.5.2020, 22:42
Дизайн