• Как закрыть от индексации лишь страницы вывода?

    Google советует любой из трех вариантов:

    ничего не делать;
    настроить rel="canonical" со всех страниц пагинации, включая первую, на страницу со всеми товарами — pageall;
    использовать атрибуты next, prev, чтобы показать связь между страницами пагинации (было актуально до марта 2019 года).

    SEO-специалисты практикуют и другие методы:

    закрывают от сканирования с помощью размещения либо запрещают к индексированию в файле robots.txt (при этом robots не является директивой).
    на всех страницах пагинации указывают rel="canonical" на первую (основную) страницу.

    Мое мнение это canonical на 1 страницу
    Ответ написан
    1 комментарий
  • Как использовать темный дизайн яндекс карт?

    tripcollor
    @tripcollor
    Может кому то пригодится.
    Тоже была потребность сделать темную карту именно в яндексе.
    Но в api нет такой возможности как у google.
    В итоге решил проблему с режимами наложения в css.

    Ниже на картинках скрины и там же можно посмотреть код

    что получилось
    59f4b827ab6b8519630527.png59f4b82f1536b306351259.png
    Ответ написан
    2 комментария
  • Как правильно использовать slickFilter?

    @palegrow
    Надо через функцию, так как фильтр применяется к сгенерированной обертке

    function filterSlider(filter) {
        $('.good-offer__slider').slick('slickUnfilter');
        $('.good-offer__slider').slick('slickFilter', function() {
          return $('[data-filter="'+filter+'"]', this).length === 1;
        });
      }
    Ответ написан
    Комментировать
  • Как вообще такое сделать в верстке?

    alex-1917
    @alex-1917
    Если ответ помог, отметь решением
    А макет показать, как обычно, не позволяет режим совершенной секретности, да?
    Только что отзвонился Ванге, она говорит, не может такого быть, чтобы нельзя было уменьшить, у вас плёвое дело - с 1600 до 1200 ужать. Это вы еще не ужимали 1900 до 980!!!
    Премного восхищен всеми ответившими ниже, которые умудрились с пары слов ТС воссоздать полную картину и дают советы. Мне бы ихний УМ!
    А заказчик ваш конечно самодур тот еще, судя по всему, он открывает на двух разных устройствах и сравнивает попиксельно, чтоб вы ни одного блока не посмели утаить)))
    Вы тоже не лучше, по вашим словам, у вас был период обсуждения именно этой проблемы, но вы включили заднюю, а должны были требовать макет под требуемое разрешение.
    Заказчик с вас не слезет и следующий его запрос внутри текущего бюджета - а впихни-ка ты мне тоже самое еще и в айпад, тыжпрограммист!
    Ответ написан
    1 комментарий
  • Как вообще такое сделать в верстке?

    verkhoturov
    @verkhoturov
    Frontend Developer
    Решение есть
    Можно заменить размеры шрифтов и элементов. Вместо фиксированных (в пикселях) на относительные (в "vw").

    Теория
    Например, при разрешении 1920px шрифт размером 12px будет соответствовать размеру 0.63vw (это можно вычислить самому или в онлайн сервисе или в отладчике браузера). При изменении размера экрана, размер шрифта будет пропорционально изменяться. Если размеры остальных элементов изменить на "vw", то можно сделать чтобы всегда было "как в макете" при любом разрешении экрана.

    Практика
    Как делаю я на примере SASS:
    1. Если макетов два (мобильная версия с базовой шириной 320px и десктоп версия с базовой шириной, например, 1920px) я делаю два миксина с брейкпоинтами:

    =largeScreen
      @media only screen and (min-width: "1919px")
        @content
    
    =mobileScreen
      @media only screen and (max-width: "767px")
        @content


    2. Рассчитываем размеры элементов.
    Будем сходить из того, что у верстки будет три состояния:
    • размер менее 768px
    • более 768px но менее 1920px
    • более 1920px


    Чтобы для каждого размера экрана вычислить соответствующий vw элемента, прописываем в SASS такие функции:
    @function large($target)
      $vw-context: (1920/1920)
      @return ($target * $vw-context) * 1px
    
    @function base($target)
      $vw-context: (1920 * .01)
      @return ($target/$vw-context) * 1vw
    
    @function mobile($target)
      $vw-context: (320 * .01)
      @return ($target/$vw-context) * 1vw


    Что тут вообще происходит? ))

    Разберем функцию "base":
    @function base($target) // пиксельный размер элемента, которое мы передаем в функцию
      $vw-context: (1920 * .01) // "1920" базовый размер макета десктопной версии, умножаем на "0.01" чтобы получить соотношение 1% экрана(=1vw) к пикселям макета.
      @return ($target/$vw-context) * 1vw // возвращаем соотношение размер элемента в "vw"


    Аналогично работают остальные функции, за исключением large.
    В ней мы возращаем размеры в пикселях. Т.е. используем "классический" способ, когда есть фиксированная контентая часть - все что внутри нее с фиксированными размерами, а вне растягивется по ширине экрана.
    В моем примере функции large базовый размер экрана и максимальный совпадают, но вам ничего не маешает задать максимальный размер, например, в 2560px. (тогда в функции вторая строка будет иметь виж $vw-context: (2560/1920) )

    3. Прописываем все это в стилях элемента
    Например (SASS синтаксис):
    .title 
     font-size: base(12)
     +largeScreen
         font-size: large(12)
     +mobileScreen
         font-size: mobile(12)


    В CSS мы получим элемент с относительным размером. В трех разных диапозонах.

    ВАЖНО! Такой способ подходит, когда нужно просто сделать гибкий лэндинг и у заказчика нет строгого стайл гайда, когда все размеры элементов четко прописаны в документе.
    Ответ написан
    3 комментария
  • Почему не все страницы делают редирект?

    opium
    @opium
    Просто люблю качественно работать
    Очевидно что какой то рукожоп не настроил постраничный редирект
    Ответ написан
    Комментировать
  • Как добавить атрибут для одного пункта woocommerce_breadcrumbs?

    mihdan
    @mihdan
    WordPress-евангелист, ведущий РНР - разработчик
    Вам нужно использовать хук woocommerce_breadcrumb. Распечатайте, что в него передается и станет понятно как менять:

    add_action( 'woocommerce_breadcrumb', function( $breadcrumbs, $args ) {
        print_r( $breadcrumbs );
        print_r( $args );
    }, 10, 2 );
    Ответ написан
    1 комментарий
  • Какие реальные проекты можно делать для практики на React?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Поиск по тостеру дубликатов вопросов. Проверить можете на этом вопросе, как найдет 100500 подобных - значит заработал.
    Ответ написан
    Комментировать
  • Какие реальные проекты можно делать для практики на React?

    hzzzzl
    @hzzzzl
    форум типа тостера с юзерами, постами и комментами к постам
    Ответ написан
    Комментировать
  • Как правильно перенаправить?

    rockon404
    @rockon404
    Frontend Developer
    В чем может быть проблема?

    Не указан протокол и перенаправление идет по относительному пути.

    window.location.href = window.location.origin + '/thanks';

    или:
    window.location.href = window.location.protocol + '//' + window.location.hostname + '/thanks';
    Ответ написан
    Комментировать
  • Как правильно перенаправить?

    Stalker_RED
    @Stalker_RED
    Если в пределах одного сайта, то достаточноwindow.location.href = '/thanks'
    Ответ написан
    Комментировать
  • Где найти толковых ребят по аудиту и по адекватным ценам?

    opium
    @opium
    Просто люблю качественно работать
    Нигде
    У вас же никакого воркфлоу , стандартов, да я думаю даже Гита нет
    Сравнить что есть а чего нет вы можете сами, ленитесь найму технаря студента
    Такие аудиты очень дорогая вещь обычно и она для домашних проектов просто не подходит
    Ответ написан
    Комментировать
  • Разрыв доходов между офисом и фрилансом?

    opium
    @opium
    Просто люблю качественно работать
    А что им мешает зарабатывать то?
    Знаю верстаков на фрилансе с которым очередь и в месяц по 200к выходит у них
    Если человек толковый он на фрилансе всегда больше заработает если не брать какие то сильно завышенные зп от гигантов типо Гугла и эпла
    Ответ написан
    Комментировать
  • Насколько адекватно требовать домашнего развития от разработчиков?

    @MamaLuyba
    все просто: если специалист ценен, то даже если он скажет, что в свободное время употребляет собак в разные места, то ему ничего не скажут, ибо он тогда может огорчиться и уйти.
    а если не ценен, то тут можно что угодно придумывать. "охладей к жене, но не к программированию!", "лучше дочь проститутка, чем ты, лежащий на диване!", "продай друзей, продай родных - купи лампового кнута и УЧИ!"
    Ответ написан
    2 комментария
  • Насколько адекватно требовать домашнего развития от разработчиков?

    @majstar_Zubr
    C++, C#, gamedev
    Это вполне адекватно, потому что в таком случае работодатель преследует лишь одну цель - помочь вам как можно скорее найти другое место работы.
    Ответ написан
    1 комментарий
  • Сфера подработки для сисадмина?

    opium
    @opium
    Просто люблю качественно работать
    Смените работу
    Ответ написан
    Комментировать
  • Как сделать такой функционал в верстке?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Сначала получаем координаты желтого блока в документе https://learn.javascript.ru/coordinates-document

    Потом слушаем onscroll на window и когда window.scrollTop будет равен координате Y блока — блок будет находится вверху экрана.

    Следует учесть вариант, что строгое равенство не будет выполнено. Лучше делать сравнение ">=" и выполнять "доводку" блока при блокировке скролла.
    Ответ написан
    3 комментария
  • Надо ли ставить Woocommerce?

    Madeas
    @Madeas
    UI / UX Designer, Frontend Developer
    дело вкуса, однако, если смотреть с перспективой, вам может в будущем понадобиться оплата или фильтры. Так что, можно подключить и использовать пока без доп опций, просто как карточка. стильно, модно, молодежно.
    По опыту говорю. Тоже делал сайт заказчику, который делает предметы обихода для загородных домов и участков, без фиксированной цены. На карточках просто образцы того, что он может делать (цена договорная). Я смог его убедить в необходимости магазина (а не кастомных страничек), так как со временем у него накопятся категории, материал и он сможет все конкретизировать.
    Ответ написан
    2 комментария
  • Как поставить такой маркер + текст, Yandex Maps APi?

    deepblack
    @deepblack
    Например так:
    spoiler
    <!DOCTYPE html>
    <html>
    <head>
        <title>Добавление метки на карту</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <!--
            Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
            Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
        -->
        <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=<ваш API-ключ>" type="text/javascript"></script>
        <script src="placemark.js" type="text/javascript"></script>
    	<style>
            html, body, #map {
                width: 100%; height: 100%; padding: 0; margin: 0;
            }
        </style>
    </head>
    <body>
        <div id="map"></div>
    </body>
    </html>


    ymaps.ready(init);
    
    function init() {
        var myMap = new ymaps.Map("map", {
                center: [55.76, 37.64],
                zoom: 10
            }, {
                searchControlProvider: 'yandex#search'
            });
    
    
        myMap.geoObjects
    
            .add(new ymaps.Placemark([55.694843, 37.435023], {
                iconCaption: 'Очень длиннный, но невероятно интересный текст'
            }, {
                preset: 'islands#redDotIconWithCaption'
            }));
    
    }


    https://tech.yandex.ru/maps/jsapi/doc/2.1/quick-st...
    Ответ написан
    Комментировать