Открыть список
Как стать автором
Обновить

Комментарии 12

снижения отказов с 2 тыс. до +4 тыс.;

Хм… Вот тут я не очень понял
спасибо, что заметили) не совсем корректно сформулировали. Вывод по отказам написали выше:
То есть по показателю отказов, обычные страницы проигрывают турбо-страницам более чем в два раза: 23,7 % против 6,2% с Турбо-страницами и в целом 14,2%.
ИМХО, AMP (Турбо-страницы не пробовал, но скорее всего +- то же самое) — это тупик, но топить за него будут до последнего.
В чём суть, есть огромный список ограничений (какое-то время в доках AMP был список из 30 пунктов, что МОЖНО делать на странице), в том числе полный запрет чистого js, и кривой вендор-локнутый фремворк, на котором почти невозможно сделать что-то сложнее, чем в туториалах.
Так вот, если из этого уравнения выкинуть пункт «кривой вендор-локнутый фремворк», а вместо этого оставить только жёсткие ограничения на JS (например как для CSS, только инлайн, не более 50 КБ, ограниченный список доступных API), то получилось бы очень хорошая идея. А так, видно только попытку Гугл приватизировать интернет через навязывание закрытых стандартов.
Если использование данных технологий дает прирост в трафике, и не вредит бизнес-задачам проекта, то почему бы не воспользоваться ими? Вопрос же об умыслах Google и Яндекс выносим за скобки статьи.
НЛО прилетело и опубликовало эту надпись здесь
Адаптивный сайт в себе может содержать много стилизованных элементов для разных версий сайта, что приводит к увеличению html, css и js кода.
НЛО прилетело и опубликовало эту надпись здесь
Да, только выбор размера/цвета/других параметров — невозможен, пересчет цены не организовать, количества нет. Форму обратной связи тоже можно добавить, но только из трех предопределенных полей. Данные моменты накладывают существенные ограничения на реализацию.
Кратко о AMP.
Прошло 20 лет, мы снова поняли, что главное на странице — контент, а не рюшечки.
Как же я ненавижу это дрянь в результатах поиска, хвала ЛММ, есть божественный Encrypted Google, на котором нет AMP. Вот бы ещё можно было локализацию результатов отключить и турбо-страницы в Яндекс.Дзене…</imho>
Это можно:
Юзерскрипт
// ==UserScript==
// @name Avoid Yandex Turbo
// @name:ru Обход Яндекс Турбо
// @description Redirect directly to target page avoiding Yandex Turbo
// @description:ru Переадресация на целевую страницу в обход Яндекс Турбо
// @namespace https://github.com/Autapomorph/userscripts
// @author Autapomorph
// @version 3.1.0
// @run-at document_start
// @match *://yandex.ru/*
// @match *://*.turbopages.org/*
// @supportURL https://github.com/Autapomorph/userscripts/issues
// @license MIT
// ==/UserScript==

(function avoidYandexTurbo() {
  function redirectWithTurboOverlay() {
    const titleHostActive = document.querySelector('.turbo-overlay__title-host_active');
    if (!titleHostActive) return;

    const titleHostActiveText = titleHostActive.textContent;
    const hostLinks = document.querySelectorAll('a[data-sc-host]');
    for (let i = 0; i < hostLinks.length; i += 1) {
      const hostLink = hostLinks[i];
      let dataCounter;
      try {
        dataCounter = JSON.parse(hostLink.getAttribute('data-counter'));
      } catch (error) {
        return;
      }

      if (dataCounter.find(e => e.indexOf(titleHostActiveText) > -1)) {
        let redirect;
        if (dataCounter[0] === 'b') {
          redirect = dataCounter[1];
        } else if (dataCounter[0] === 'w') {
          redirect = dataCounter[3];
        } else return;

        top.location.replace(redirect);
      }
    }
  }

  function redirectWithURL() {
    const urlPathname = top.location.pathname;
    const turboIndex = urlPathname.indexOf('/turbo/');
    const delimeterIndex = urlPathname.search(/\/(s|h)\//);
    const delimeterLength = 2;

    if (delimeterIndex < 0) return;

    const host =
      turboIndex === -1
        ? urlPathname.substring(1, delimeterIndex)
        : urlPathname.substring(turboIndex + '/turbo/'.length, delimeterIndex);
    const pathName = urlPathname.substring(delimeterIndex + delimeterLength);
    top.location.replace(`//${host}${pathName}`);
  }

  function main(urlPathname) {
    if (/\.*\/(s|h)\/.*/.test(urlPathname)) {
      redirectWithTurboOverlay();
      redirectWithURL();
    }
  }

  let currentURLPathname = top.location.pathname;
  setInterval(() => {
    if (currentURLPathname !== top.location.pathname) {
      currentURLPathname = top.location.pathname;
      main(currentURLPathname);
    }
  }, 1000);

  main(currentURLPathname);
})();

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.