Всё можно очень упростить, ведь совершенно не нужны десяток картинок под разные разрешения, а достаточно минимум два дополнительных.
Например, имеем обычную (среднюю) картинку в 500 точек для статьи, предположим под среднее разрешение экрана в 1024.
Остальные картинки уже подыскивает под нужное разрешение сам браузер, под которым будем смотреть статью. А как он это сделает? Очень просто — используя Media Queries в стилях.
То есть, для роботов и поисковых систем всегда будет выдаваться картинка одного размера — средняя.
Правило же именования файлов можно как-то стандартизировать. Например, так:
<img src=«pic.jpg» /> — это средняя картинка для поисковиков.
Дальше, используем css:
@media (min-width:320px) { img {max-width:320px;} } — то есть, показываем, что все картинки (ну или можно использовать какой-то класс для ограничения) имеют размер по горизонтали не больше 320 точек. При этом где браузер будет находить эти картинки? Например, можно договориться, что это будет такое наименование файлов: pic-width320.jpg, то есть, просто приставка к имени. Причём эти приставки можно использовать для автоматического резания картинок через nginx с раположением их в кеше.
Обычно нужно не более 3 вариантов размеров картинок — 150...320 для мобилок, 500...600 средняя для большинства компьютеров с экраном 1024 и поисковых роботов, и соотв. для больших экранов добавляем ещё один, например, 1024 точек.
С меня взяли не плату за хранение, а плату за выдачу посылки или вообще непонятно за что (не было написано). А это незаконно, ибо уже оплатил отправитель.
Привычное для десктопных компьютеров поведение веб-сайта, когда при зависании над элементом указателя мыши появляется выпадающее меню или подсказка, создаёт много проблем пользователям планшетов и смартфонов.
Раз так быстро грузится, можно сделать так, что уже после загрузки можно нажать на ту же F8 и выбрать пункт меню — «Загрузиться в BIOS» — система при этом пишет в какой-то файл флаг и сбрасывается — вуа-ля.
Спасибо за наводку, увидел слово «SQLiteManager» и нашёл классное расширение для FF для работы с sqlite. Хотя сейчас пользуюсь sqlite3Explorer, тоже замечательная десктопная программа.
Сам в начале пользовался денвером, ибо ничего не понимал.
Так по инерции и пользовался.
Потом по новому проекту стали нужны поддомены, поэтому перешёл на Wamp.
Сейчас же вообще отказался от всех посредников, установил всё по отдельности, настраиваю через файлы.
Планирую перейти на «настоящий» сервер в виртуальной машине, а возможно, и на реальный.
Считаю, что ссылки эти должны быть подчёркнутыми, чтобы быть похожими на ссылки, а вот при наводке мыши могут превращаться и в кнопки, чтобы можно было проверить, что это не поддельный кат.
Это подобно тому, как с производителей ножей собирать налог за преступления, совершённые с помощью этих ножей.
«Налог» то нужно брать с преступника, когда есть место преступления и состав преступления, доказанный факт преступления.
Любопытно то, что такой вроде солидный банк, а не может разбросать техподдержку по всей России, тогда, если в одном городе ночь, клиенту запросто отвечает тех-поддержка из дневного города.
Нужно просто понять, что ajax — это лишь транспорт.
То есть, на примере, приведённом в статье, страница должна располагаться по адресу www.examplesite.ru/blog
При этом и человек, у которого отключен js, и робот, увидят html-версию страницы.
Если же на клиенте включен js, то начинает работать красивая логика сайта и ускорять загрузку и т.п.
Конкрентно — для загрузки контента по ajax браузер также обращается по ТОМУ ЖЕ адресу www.examplesite.ru/blog и сервер просто навсего отдаёт браузеру контент в другом формате, например, json, да или всё тот же html. Клиент принимает данные и располагает их в нужном месте страницы. Всё, никаких вывертов делать не нужно, менять поисковики, менять сайты и прочее-прочее.
Приведу примеры, как сервер может понять, что запрос от клиента пришёл ajax-овый. Это во-первых, тот самый заголовок X-Requested-With, равный XMLHttpRequest. Во-вторых, для большей надёжности (прокси режут заголовки и т.д.), можно передавать какой-нибудь параметр вида &ajax=1, которые соотв. передаётся только через js. В-третьих, если внести в архитектуру сайта правило, что если url оканчивается на .html, то передаётся обычная версия для роботов и клиентов без js, а если например, оканчивается на .json, то версия в json.
Успешно применяю это в своих проектах. Если нужно, обращайтесь, покажу примеры.
Например, имеем обычную (среднюю) картинку в 500 точек для статьи, предположим под среднее разрешение экрана в 1024.
Остальные картинки уже подыскивает под нужное разрешение сам браузер, под которым будем смотреть статью. А как он это сделает? Очень просто — используя Media Queries в стилях.
То есть, для роботов и поисковых систем всегда будет выдаваться картинка одного размера — средняя.
Правило же именования файлов можно как-то стандартизировать. Например, так:
<img src=«pic.jpg» /> — это средняя картинка для поисковиков.
Дальше, используем css:
@media (min-width:320px) { img {max-width:320px;} } — то есть, показываем, что все картинки (ну или можно использовать какой-то класс для ограничения) имеют размер по горизонтали не больше 320 точек. При этом где браузер будет находить эти картинки? Например, можно договориться, что это будет такое наименование файлов: pic-width320.jpg, то есть, просто приставка к имени. Причём эти приставки можно использовать для автоматического резания картинок через nginx с раположением их в кеше.
Обычно нужно не более 3 вариантов размеров картинок — 150...320 для мобилок, 500...600 средняя для большинства компьютеров с экраном 1024 и поисковых роботов, и соотв. для больших экранов добавляем ещё один, например, 1024 точек.
@media (min-width:1024px) { img {max-width:1024px;} }
И всё. И никаких скриптов не нужно, не нужно никаких лишних атрибутов в html коде.
Оформление должно быть расположено там, где ему место — в CSS.
127.0.0.1 googlesyndication.com
127.0.0.1 pagead2.googlesyndication.com
127.0.0.1 www.google-analytics.com
127.0.0.1 googleads.g.doubleclick.net
Может так быть, что скоро такие современные тач-экраны появятся и проблемы эти исчезнут?
Попробовал, вошёл через фсб — и что же я увидел? Кучу мельтешаших картинок, какие-то перепосты и т.п.
Да хабра и то лучше всех их вместе взятых.
Не работает из раздела справки.
А что за проблемы, можно узнать?
Сам в начале пользовался денвером, ибо ничего не понимал.
Так по инерции и пользовался.
Потом по новому проекту стали нужны поддомены, поэтому перешёл на Wamp.
Сейчас же вообще отказался от всех посредников, установил всё по отдельности, настраиваю через файлы.
Планирую перейти на «настоящий» сервер в виртуальной машине, а возможно, и на реальный.
«Налог» то нужно брать с преступника, когда есть место преступления и состав преступления, доказанный факт преступления.
Это напоминает налог на телевидение в Германии, GEZ. Доходит даже до такого akuklev.livejournal.com/1050611.html, как пишет уважаемый akuklev
А эти уведомления есть где-нибудь в списке на сайте? И если пока не сделали, то сделаете?
Нужно просто понять, что ajax — это лишь транспорт.
То есть, на примере, приведённом в статье, страница должна располагаться по адресу www.examplesite.ru/blog
При этом и человек, у которого отключен js, и робот, увидят html-версию страницы.
Если же на клиенте включен js, то начинает работать красивая логика сайта и ускорять загрузку и т.п.
Конкрентно — для загрузки контента по ajax браузер также обращается по ТОМУ ЖЕ адресу www.examplesite.ru/blog и сервер просто навсего отдаёт браузеру контент в другом формате, например, json, да или всё тот же html. Клиент принимает данные и располагает их в нужном месте страницы. Всё, никаких вывертов делать не нужно, менять поисковики, менять сайты и прочее-прочее.
Приведу примеры, как сервер может понять, что запрос от клиента пришёл ajax-овый. Это во-первых, тот самый заголовок X-Requested-With, равный XMLHttpRequest. Во-вторых, для большей надёжности (прокси режут заголовки и т.д.), можно передавать какой-нибудь параметр вида &ajax=1, которые соотв. передаётся только через js. В-третьих, если внести в архитектуру сайта правило, что если url оканчивается на .html, то передаётся обычная версия для роботов и клиентов без js, а если например, оканчивается на .json, то версия в json.
Успешно применяю это в своих проектах. Если нужно, обращайтесь, покажу примеры.