Оптимизация сайта для планшетов и телефонов - 2

FoxDesign
На сайте с 12.10.2016
Offline
13
#61

Попробуйте так

добавить для этой таблицы такие стили:

width: 100%;

overflow: auto;

-webkit-overflow-scrolling: touch;

будет полоса прокрутки только для блока с таблицей! А по нормальному убирайте эти таблицы, и делайте div, и адаптируйте как угодно!

IT
На сайте с 28.03.2015
Offline
25
#62
FoxDesign:
Попробуйте так
добавить для этой таблицы такие стили:

width: 100%;
overflow: auto;
-webkit-overflow-scrolling: touch;

будет полоса прокрутки только для блока с таблицей! А по нормальному убирайте эти таблицы, и делайте div, и адаптируйте как угодно!

то есть, разметку через div, а не через таблицы?

подскажите пожалуйста, где можно посмотреть ))

Недорогая установка камер видеонаблюдения по Москве и Московской области!
D.iK.iJ
На сайте с 26.05.2013
Offline
225
#63
I-To:
то есть, разметку через div, а не через таблицы?
подскажите пожалуйста, где можно посмотреть ))

Я так понял - обернуть таблицу в DIV и ему прописать стили для прокрутки. В примере - первый же вариант.

Глянул по ссылке. Хм. Что-то у меня вроде все нормально.

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
D.iK.iJ
На сайте с 26.05.2013
Offline
225
#64

Хм. Только у меня из инструмента тестирования Гугла пропали баллы за мобильную адаптацию?

https://developers.google.com/speed/pagespeed/insights/

Причем, вместе со скриншотами ошибок. Остались только за скорость и все.

В новом интерфейсе я их в упор не вижу: https://search.google.com/search-console/mobile-friendly

На сайте https://testmysite.withgoogle.com/intl/ru-ru - баллы есть но даже в отчете на Емейл нет никаких скриншотов ошибок.

И как быть?

melkozaur
На сайте с 06.04.2010
Offline
505
#65

DiKiJ,

Перенесли. Там же сверху написано:

PageSpeed Insights has moved the User Experience test for mobile pages into the Mobile Friendly Test, which you can try out here.

Серверы в NL/US со скидкой 30% нашим читателям: E5-2650v4/10GB DDR4/240GB SSD/1 Gbps - от $20: https://ua-hosting.company/vps/nl SEO без компромиссов: https://seoleaks.net SEOLEAKS - продвижение сайтов: https://www.instagram.com/seoleaks
IronRat
На сайте с 07.02.2011
Offline
81
#66

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

Размещаю ссылки и статьи навсегда на трастовых СМИ тут (/ru/forum/915058).
D.iK.iJ
На сайте с 26.05.2013
Offline
225
#67
IronRat:
Народ, подскажите: если делаешь мобильную версию на поддомене, то уведомление о том что сайт не адаптирован для мобильных в яндекс вебмастере и в гугле в выдаче пропадает?

Ни разу не делал. Но по логике - должно пропадать.

---------- Добавлено 13.01.2017 в 19:08 ----------

Кнопка перехода с адаптивной версии на полную 2

Недавно довел до ума. Очень хотелось поделиться :) многим нужно.

Единственное, справиться без PHP не получилось.

1) ?mobile - закрыть от индексации в robots! Без него на мобильных - адский кеш, с которым не справиться.

2) Лучше не убирать адаптивные стили, а убирать только <meta name=viewport content="width=device-width, initial-scale=1">

Но можно и то и то.

3) Кнопка показывается на адаптивной версии. Или на полной, если есть куки. Связано с работой meta name=viewport. Иначе не перейти обратно будет.

4) Можно добавить ширину просмотра для полной версии. Например: <meta name="viewport" content="width=1300, initial-scale=1">

В шапку сайта (оставил место под эксперименты):

<? if (isset($_COOKIE['mob']) and $_COOKIE['mob']=="no") { ?>
<? } else { ?>
<meta name=viewport content="width=device-width, initial-scale=1">
<? } ?>

Кнопка для футера, перед </body>. Стили можно вынести в отдельный файл. А вот скрипт - нет. только если добавлять срабатывание только после загрузки.

<style>
#mob {margin: 0 auto !important; font-size: 1rem; width: 100%; height: 51px; text-decoration: none; line-height: 51px; background-color: #3292be; border-color: #007095; color: #fff; transition: background-color 300ms ease-out; text-align: center;}
#mob:hover, #mob:focus {background-color: #007095;}
</style>

<? if (isset($_COOKIE['mob']) and $_COOKIE['mob']=="no") { ?>
<a style="display: none; width: width: 100%;" href="?mobile" id="mob" onclick="SetCookie('mob=yes', 30);">Перейти на мобильную версию</a>
<? }else{ ?>
<a style="display: none; width: 100%;" href="?mobile=no" id="mob" onclick="SetCookie('mob=no', 30);">Перейти на полную версию</a>
<? } ?>

<script>
//Ставим Куки
function SetCookie(id, days){
var ws=new Date();
ws.setDate((days-0+ws.getDate()));
document.cookie=id+"; path=/; expires="+ws.toGMTString();
}
if (document.cookie.indexOf("mob=no") != -1 || document.getElementsByTagName("body")[0].offsetWidth<=775) {
document.getElementById("mob").style.display='block';
}
</script>



---------- Добавлено 13.01.2017 в 19:13 ----------

Подумал, нужно поди куки перехода на мобильную версию стирать полностью. Чтобы кнопка исчезала при переходе на десктоп:

SetCookie('mob=yes', 30); заменить на SetCookie('mob=yes', 0);

D.iK.iJ
На сайте с 26.05.2013
Offline
225
#68

Я бываю крайне туп. Например, вообще забыл про просто спасительное для адаптивной верстки box-sizing: border-box;

Согласно спецификации CSS ширина блока складывается из ширины контента (width), значений отступов (margin), полей (padding) и границ (border). Аналогично обстоит и с высотой блока. Свойство box-sizing позволяет изменить этот алгоритм, чтобы свойства width и height задавали размеры не контента, а размеры блока.

В общем, если у блока есть внутренние отступы (padding) и рамка, все рамно можно ставить width: 100%, еслииспользовать box-sizing: border-box; - просто идеально для картинок (?кто вообще ставит им padding?) и форм, которым прописать width: auto без извращений не получится.

Думаю, шаблон для начала работы можно чуть обновить:

@media screen and (max-width: 775px) {
img {max-width: 100% !important; height: auto !important; box-sizing: border-box;}
iframe, textarea, input, button, submit, select, video, object, embed {max-width: 100% !important; box-sizing: border-box;}
table, span, div, ins {max-width: 100% !important;}

}
@media screen and (max-width: 500px) {
td, th{word-wrap: break-word; -moz-hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto;}
}
D.iK.iJ
На сайте с 26.05.2013
Offline
225
#69

Вредный совет.

Как получить 100% по PageSpeed Insights за изображения

Элементарно! Использовать на сайте только .pnd, так как Гуглу он нравится практически в любом виде:

Я взял 2 одинаковых изображения, которые сделал из скриншота экрана. Размером в 241 000 байт каждое. Сохранено Фотошопом для Веб и устройств.

Если сделать их по 800 пикселей, ошибок не будет вообще.

И на скриншоте выше отлично видно, что у проверки скорости претензии есть только к .jpg картинке, которую предложено оптимизировать или скачать по ссылке готовый вариант на 79 килобайт. Качество там, если честно, ужасное.

Забавно. Но лучше так не делать.

Кстати, Гугл сам почему-то забывает про Ретину, которой для нормального отображения нужны картинки высокой четкости (в 2 раза больше обычных, иначе "мылит").

Вот и получается странный вывод, что если на сайте у нас картинка 1024px шириной и нормально сохранена (Фотошоп, как минимум) ее можно использовать спокойно на разрешениях и последних Айфонов и для Айпадов... 🙄

D.iK.iJ
На сайте с 26.05.2013
Offline
225
#70

Думал над асинхронной загрузкой комментариев ВК и их виджетов, так как после блокировки в Украине у части посетителей могут жутко тормозить. Да и на мобильных код мегабайт весит.

Все коды из сети огромные и громоздкие. Придумал вот свой:

<script async onload="start();" type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>

<div id='vk_comments'></div>

<script type="text/javascript">
function start(){
VK.init({apiId: 2908241, onlyWidgets: true});
VK.Widgets.Comments("vk_comments", {limit: 5, width: "496", attach: "*"});
}
</script>

Блоки поделиться от Яндекса перенес на асинхронный код, только async на defer заменил.

<script defer charset="utf-8" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script>
<script defer charset="utf-8" src="//yastatic.net/share2/share.js"></script>
<script type="text/javascript">
document.write('<div style="display: table; text-align: left;" class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,pinterest,twitter,digg,reddit,evernote,lj,pocket,tumblr,viber,whatsapp,skype,telegram" data-counter="" data-limit="7" data-image="http://'+location.hostname+'/ascreen.jpg"></div>');
</script>

Ну и в Метрике, понятно, заменил

s.src = "https://mc.yandex.ru/metrika/watch.js";

на

s.src = "https://d31j93rd8oukbv.cloudfront.net/metrika/watch_ua.js";

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий