0 Пользователей и 1 Гость просматривают эту тему.
  • 46 Ответов
  • 463 Просмотров
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Столкнулся с такой проблемой, при валидции АМП страниц пишет
 В теге "amphtml engine v0.js script" отсутствует необходимый атрибут "async".
 в коде страницы
 
Код
<script async src="https://cdn.ampproject.org/v0.js"></script>
тег async присутствует.
 При просмотре страницы в браузере
 _https://lik-astana.kz/oformlenie-interera/tablichki/izgotovlenie-ukazatelej-ostorozhno-skolzko-detail.html?tmpl=amp
 тег async есть.
 При валидации
 validator.ampproject.org и search.google.com
 его нет.
 Подскажите в чем может быть проблема
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Подскажите в чем может быть проблема
попробуйте указать его как async="async"
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
попробуйте указать его как async="async"
Пробовал, валидаторы удаляют атрибут.
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
А почему у вас отсутствует <head>? По идее ведь все, что между открывающим <html> и открывающим <body>, должно быть заключено в <head>. Или нет?
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Цитировать
А почему у вас отсутствует <head>? По идее ведь все, что между открывающим <html> и открывающим <body>, должно быть заключено в <head>. Или нет?
Да все верно, но если поставить <head> то в этот тег сыпятся все скрипты которые подключены в обычной версии сайта.
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Не сами же они сыпятся:
Код
<head>
    <? if($amp): ?>
    <!-- необычные скрипты -->
    <? else: ?>
<!-- обычные скрипты -->
    <jdoc:include type="head" />
    <? endif; ?>
</head>
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Цитировать
Не сами же они сыпятся:
Код
<head>
    <? if($amp): ?>
    <!-- необычные скрипты -->
    <? else: ?>
   <!-- обычные скрипты -->
    <jdoc:include type="head" />
    <? endif; ?>
</head>
Не совсем понял, разжуйте 
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Не совсем понял, разжуйте 
Стандартные (подключаемые чере апи - далее сожрано ...

короче, все стандартное выводится в позицию <jdoc:include type="head" />. Если ее убрать или обернуть в условие, то можно все метатеги, скрипты и стили ставить вручную в индексе шаблона. Код выше был просто для примера - его не надо добавлять в таком виде - уберите. Добавьте открывающий <head> сразу после <html amp lang="ru"> и закрывающий </head> непосредственно перед <body>.
« Последнее редактирование: 28.05.2019, 15:24:11 от sivers »
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Добавьте открывающий  сразу после  и закрывающий  непосредственно перед .
и полезут скрипты.В шаблоне страницы <jdoc:include type="head" /> вообще нет.
Спойлер
[свернуть]
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
и полезут скрипты
если они у вас так нагло "лезут" то неплохо бы выяснить откуда. Либо плагины навешивают (в этом случае скрипты будут даже в исходном коде и при отключенном JS), либо другие JS на лету подвешивают - в этом случае они будут видны только в инспекторе отладчика. Методы борьбы отличаются, поэтому надо бы знать точно откуда лезут. И еще - для проверки повлияет ли наличие тега <head> на результаты валидатора можно включить лезущие скрипты, потом отключите снова (уберете head). Хотя бы узнаете в этом ли причина невалидности.
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
При добавлении <head> </head> в шаблон ошибка в валидаторе не исчезает 
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
может есть вариант отключить все что в <head></head> и загрузить только то что есть в документе.
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Вообще странно. Google сам же публикует пример, где написано:
<script async src="https://cdn.ampproject.org/v0.js"></script>

Попробуйте скопировать в точности - может порядок атрибутов тоже играет роль? И вообще можно попробовать скопировать их пример 1 к 1, а потом уже постепенно менять на свое.

Насчет вашей проблемы с <head> не понятно. Включите на время и напишите что там лишнее (само) лезет - хоть посмотреть на это...
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Включил, сейчас подключается аналитика, стили, и оптимизированные скрипты
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Включил, сейчас подключается аналитика, стили, и оптимизированные скрипты
Вижу. В нижней части страницы вставлен скрипт системного плагина jch_optimize, который добавляет стиль в head. Если это необходимо на остальных страницах, кроме этой, то надо бы поставить в плагине jch_optimize условие. Аналитику Google, вероятно, подключает еще какой-то плагин. Тоже можно через условие в плагине сделать. Для начала посмотреть в код (и настройки) этих плагинов - возможно там уже предусмотрена возможность выборочного отключения.
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
В настройках jch_optimize нет функции отключение на странице,  аналитику Google так-же нет возможности отключить. Есть ли возможность вообще отключить плагины с обработки страниц, допустим по их id
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Есть ли возможность вообще отключить плагины с обработки страниц, допустим по их id
Качнул и посмотрел плагин оптимизации (версия 5.4.2) в нем прописано отключение, если в ссылке присутствует параметр jchbackend=1, либо пункт меню указан в списке исключений (настройки плагина или компонента оптимизатора - параметр menuexcluded), либо ссылка добавлена в список исключений (параметр menuexcludedurl тоже где-то в настройках).
Плагин гугл-аналитики надо смотреть - у меня его нет. Скиньте ссылку или сам плагин.
На связи в телеге @sivers
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Добавил jchbackend=1 в полной версии вашего сайта - скрипт и стиль оптимизатора исчезли - значит работает. Чтоб не пихать в ссылку, можно в индексе шаблона вашей amp-страницы добавить такой код:
Код
<?php
JFactory::getApplication()->input->set('jchbackend', 1);
?>
или даже такой:
Код
<?php
$_REQUEST['jchbackend'] = 1;
?>
Оба варианта должны отключить оптимизатор на страницах этого шаблона
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Аналитика
Спойлер
[свернуть]
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Аналитика
А вот с аналитикой прогеры не заморачивались. Там всего одно условие досрочного выхода - если плагин обнаруживает, что открыта страница админки.
Еще у него есть проверка собственных параметров, но их не получится менять динамически.
Остается только внести правки в сам плагин, если это вас не пугает. Чревато тем, что при обновлении плагина эти правки будут затерты.

Кстати, кто-то уже советовал хороший вариант войны с такими плагинами. Можно сделать копию плагина аналитики, внести в нее необходимые правки и активировать, а исходный плагин аналитики отключить. Тогда ничего не затрется, а в случае обновления плагина - обновится только отключенный.
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Цитировать
Остается только внести правки в сам плагин, если это вас не пугает.
Нет не пугает, какие правки?
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Нет не пугает, какие правки?
А какое условие для отключения должно быть? Можно проверять какой-нибудь параметр аналогично оптимизатору или еще какое-то? или по наличию tmpl=amp в аргументах ссылки?
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
Необходимо отключить на амп страницах, можно по ?tmpl=amp
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
можно по ?tmpl=amp
тогда в стр. 44-46 надо заменить это:
Код
if ($app->isAdmin()) {
            return;
}
на это:
Код
if ($app->isAdmin() || $app->input->getCmd('tmpl', '') == 'amp') {
            return;
}
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
siversСпасибо за помощь с отключение скриптов!Но
Код
<script async src="https://cdn.ampproject.org/v0.js"></script>
по прежнему грузится без  async
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
по прежнему грузится без  async
Передайте ему в точности пример самого гугла:
Спойлер
[свернуть]
Он хоть в своем примере увидит или нет?
На связи в телеге @sivers
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
И еще - он как - буд-то закешировал вашу страницу. Надо для повторных проверок добавлять рандомные параметры в ссылку, чтоб Google заново закачивал
На связи в телеге @sivers
*

Stasweb

  • Завсегдатай
  • 1320
  • 23 / 0
В варианте от Google он так-же не видит. Еще если просматривать в мазиле то
Код
<script async="" src="https://cdn.ampproject.org/v0.js"></script>
если просматривать в Chrome то
Код
<script src="https://cdn.ampproject.org/v0.js" type="text/javascript"></script>
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Chromium показывает нормально (Chrome - не установлен). А ФФ в отладчике показывает как async="async" у меня
На связи в телеге @sivers
*

sivers

  • Давно я тут
  • 633
  • 63 / 0
Вот, что интересно. Сохранил вашу страницу на свой ресурс:
Спойлер
[свернуть]
и подсунул Google - он сказал, что ошибок нет.
Второй валидатор согласился с гуглом, что ошибок нет.
На связи в телеге @sivers
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с текстом

Автор kirill`1

Ответов: 2
Просмотров: 83
Последний ответ 22.06.2019, 14:37:32
от kirill`1
Сбилось форматирование страниц К2

Автор Foros

Ответов: 0
Просмотров: 52
Последний ответ 24.05.2019, 08:11:11
от Foros
rss, pubDate - Проблема с yandex

Автор adex

Ответов: 11
Просмотров: 261
Последний ответ 10.05.2019, 08:38:49
от alexey711
Проблема с index.php

Автор rus3333

Ответов: 2
Просмотров: 127
Последний ответ 04.05.2019, 13:53:04
от rus3333
Добавление страниц

Автор andrew1423

Ответов: 2
Просмотров: 165
Последний ответ 29.04.2019, 22:49:04
от andrew1423