Бложег

Яндекс счетчик и google speed

Опубликовано: 13.07.2019 в 11:26

Автор:

Категории: Бложег,Оптимизация

Обратился ко мне постоянный клиент по оптимизации сайтов, гугл спид ругается на редрендинг скриптов, а виновником оказался яндекс счетчик со своими наворотами, решили вот таким счетчиком

Получение категорий + под хайдом записей

Опубликовано: 25.06.2019 в 12:49

Автор:

Категории: Wordpress,Бложег

    'post',
    'child_of' => 0,
    'parent' => '',
    'hide_empty' => 0,
    'hierarchical' => 1,
    'include' => '9, 73, 8, 163, 3, 51, 128, 162, 90, 53, 200',
    'taxonomy' => 'category',
    'pad_counts' => false,
    ) );

    if( $categories ){
    foreach( $categories as $cat ){
    ?>

  • -1,
    'category' => $cat->term_id,
    'orderby' => 'date',
    'order' => 'DESC',
    'post_type' => 'post',
    ) );
    if(!empty($posts)) {
    ?>

Translate url image аля скрипт для замены кириллицы в названиях изображений (opencart и не только)

Опубликовано: 28.05.2019 в 04:18

Автор:

Категории: Opencart,sql,Бложег

Досталась работа по транслитерации адресов картинок для работы yml парсера, переделанный скрипт который работал для 1.5 выдавал миллион ошибок, написал простые sql запросы

update oc_product_image set image = replace(image, 'а', 'a');
update oc_product_image set image = replace(image, 'б', 'b');
update oc_product_image set image = replace(image, 'в', 'v');
update oc_product_image set image = replace(image, 'г', 'g');
update oc_product_image set image = replace(image, 'д', 'd');
update oc_product_image set image = replace(image, 'е', 'e');
update oc_product_image set image = replace(image, 'ж', 'zh');
update oc_product_image set image = replace(image, 'з', 'z');
update oc_product_image set image = replace(image, 'и', 'i');
update oc_product_image set image = replace(image, 'й', 'y');
update oc_product_image set image = replace(image, 'к', 'k');
update oc_product_image set image = replace(image, 'л', 'l');
update oc_product_image set image = replace(image, 'м', 'm');
update oc_product_image set image = replace(image, 'н', 'n');
update oc_product_image set image = replace(image, 'о', 'o');
update oc_product_image set image = replace(image, 'п', 'p');
update oc_product_image set image = replace(image, 'р', 'r');
update oc_product_image set image = replace(image, 'с', 's');
update oc_product_image set image = replace(image, 'т', 't');
update oc_product_image set image = replace(image, 'у', 'u');
update oc_product_image set image = replace(image, 'ф', 'f');
update oc_product_image set image = replace(image, 'х', 'h');
update oc_product_image set image = replace(image, 'ц', 'c');
update oc_product_image set image = replace(image, 'ч', 'ch');
update oc_product_image set image = replace(image, 'ш', 'sh');
update oc_product_image set image = replace(image, 'ы', 'y');
update oc_product_image set image = replace(image, 'ь', 'j');
update oc_product_image set image = replace(image, 'э', 'e');
update oc_product_image set image = replace(image, 'ю', 'yu');
update oc_product_image set image = replace(image, 'я', 'ya');
update oc_product_image set image = replace(image, 'ъ', 'j');
update oc_product_image set image = replace(image, 'ё', 'je');
update oc_product_image set image = replace(image, 'щ', 'sch');

update oc_product_image set image = replace(image, 'А', 'a');
update oc_product_image set image = replace(image, 'Б', 'b');
update oc_product_image set image = replace(image, 'В', 'v');
update oc_product_image set image = replace(image, 'Г', 'g');
update oc_product_image set image = replace(image, 'Л', 'd');
update oc_product_image set image = replace(image, 'Е', 'e');
update oc_product_image set image = replace(image, 'Ж', 'zh');
update oc_product_image set image = replace(image, 'З', 'z');
update oc_product_image set image = replace(image, 'И', 'i');
update oc_product_image set image = replace(image, 'Й', 'y');
update oc_product_image set image = replace(image, 'К', 'k');
update oc_product_image set image = replace(image, 'Л', 'l');
update oc_product_image set image = replace(image, 'М', 'm');
update oc_product_image set image = replace(image, 'Н', 'n');
update oc_product_image set image = replace(image, 'О', 'o');
update oc_product_image set image = replace(image, 'П', 'p');
update oc_product_image set image = replace(image, 'Р', 'r');
update oc_product_image set image = replace(image, 'С', 's');
update oc_product_image set image = replace(image, 'Т', 't');
update oc_product_image set image = replace(image, 'У', 'u');
update oc_product_image set image = replace(image, 'Ф', 'f');
update oc_product_image set image = replace(image, 'Х', 'h');
update oc_product_image set image = replace(image, 'Ц', 'c');
update oc_product_image set image = replace(image, 'Ч', 'ch');
update oc_product_image set image = replace(image, 'Ш', 'sh');
update oc_product_image set image = replace(image, 'Ы', 'y');
update oc_product_image set image = replace(image, 'Ь', 'j');
update oc_product_image set image = replace(image, 'Э', 'e');
update oc_product_image set image = replace(image, 'Ю', 'yu');
update oc_product_image set image = replace(image, 'Я', 'ya');
update oc_product_image set image = replace(image, 'Ъ', 'j');
update oc_product_image set image = replace(image, 'Ё', 'je');
update oc_product_image set image = replace(image, 'Щ', 'sch');

update oc_product_image set image = replace(image, 'A', 'a');
update oc_product_image set image = replace(image, 'B', 'b');
update oc_product_image set image = replace(image, 'V', 'v');
update oc_product_image set image = replace(image, 'G', 'g');
update oc_product_image set image = replace(image, 'D', 'd');
update oc_product_image set image = replace(image, 'E', 'e');
update oc_product_image set image = replace(image, 'ZH', 'zh');
update oc_product_image set image = replace(image, 'Z', 'z');
update oc_product_image set image = replace(image, 'I', 'i');
update oc_product_image set image = replace(image, 'Y', 'y');
update oc_product_image set image = replace(image, 'K', 'k');
update oc_product_image set image = replace(image, 'L', 'l');
update oc_product_image set image = replace(image, 'M', 'm');
update oc_product_image set image = replace(image, 'N', 'n');
update oc_product_image set image = replace(image, 'O', 'o');
update oc_product_image set image = replace(image, 'P', 'p');
update oc_product_image set image = replace(image, 'R', 'r');
update oc_product_image set image = replace(image, 'S', 's');
update oc_product_image set image = replace(image, 'T', 't');
update oc_product_image set image = replace(image, 'U', 'u');
update oc_product_image set image = replace(image, 'F', 'f');
update oc_product_image set image = replace(image, 'H', 'h');
update oc_product_image set image = replace(image, 'C', 'c');
update oc_product_image set image = replace(image, 'CH', 'ch');
update oc_product_image set image = replace(image, 'SH', 'sh');
update oc_product_image set image = replace(image, 'Y', 'y');
update oc_product_image set image = replace(image, 'J', 'j');
update oc_product_image set image = replace(image, 'E', 'e');
update oc_product_image set image = replace(image, 'YU', 'yu');
update oc_product_image set image = replace(image, 'YA', 'ya');
UPDATE oc_product_image SET IMAGE = REPLACE(IMAGE, 'J', 'j');
UPDATE oc_product_image SET IMAGE = REPLACE(IMAGE, 'JE', 'je');
UPDATE oc_product_image SET IMAGE = REPLACE(IMAGE, 'SCH', 'sch');
update oc_product_image set image = replace(image, 'Q', 'q');
update oc_product_image set image = replace(image, 'W', 'w');
update oc_product_image set image = replace(image, 'X', 'x');
update oc_product_image set image = replace(image, '_', '-');
update oc_product_image set image = replace(image, ' ', '-');
update oc_product_image set image = replace(image, '№', '-');
update oc_product_image set image = replace(image, "'", "-");
update oc_product_image set image = replace(image, ",", "-");
update oc_product_image set image = replace(image, '+', '-');
update oc_product_image set image = replace(image, "(", "-");
update oc_product_image set image = replace(image, ")", "-");

+ тотал командер решает все проблемы =)

Slick slider или много слайдеров и картинок

Опубликовано: 24.05.2019 в 15:03

Автор:

Категории: JQ,Бложег

Была ситуация когда предыдущий разработчик умудрился встроить на странице сайта более 20 слайдеров, представьте как тормозила страница…
Пришлось решать

$.fn.toggleClick = function(funcArray) {
return this.click(function() {
var elem = $(this);
var index = elem.data('index') || 0;

funcArray[index]();
elem.data('index', (index + 1) % funcArray.length);
});
};

$('.btn').toggleClick([
function() {
$('.slider-1').slick();
}, function() {
$('.slider-3').slick();
}, function() {
$('.slider-3').slick();
}, function() {
$('.slider-3').slick();
}
]);

Что делает данный код ? Здесь счетчик кликов, каждый клик активирует слайдер по очереди (в моём случае был слайдер внутри слайдера в кол-ве 20 штук), вам нужно лишь запускать по очереди + советую активировать lazyLoad

Сохранение клика cookie

Опубликовано: 24.05.2019 в 14:57

Автор:

Категории: JQ,Бложег

$(document).ready(function() {
$('.navbar-toggle').click();

});
$(document).ready(function(){
if ($.cookie('cookie')) { //if cookie isset

}else{
var CookieSet = $.cookie('cookie', 'value'); //set cookie
$('#ddLocationMenu').click();
}
});

При первом посещении сайта произойдет клик, а при повторном – его не будет
Всё очень просто =)

Custom template woocommerce category

Опубликовано: 24.05.2019 в 14:55

Автор:

Категории: Wordpress,Бложег

В WordPress для создания отдельных шаблонов категорий можно создать фаил category-idсategory.php, а для woocommerce отличается, запись будет taxonomy-product_cat-адрес-категории.php

Подготовка к разработке будещего сайта

Опубликовано: 10.10.2018 в 22:57

Автор:

Категории: Бложег

Привет мой друг, эту статья написана не на чистом энтузиазме, а ради выгоды – контент то какой-то нужен, и эта статья по настоящему хороша, я напишу о том чего забывают или не пишут другие веб студии/разрабы в своих блогах, я сам придерживаюсь этого списка чтобы быть чуть-чуть виртуозом в своей работе =)

 

Первым делом нужно выбрать хостинг – пользовался несколькими, остановился на hostland.ru (уж очень быстро страницы грузятся и хороший аптайм + удобная панель с различными инструментами), еще неплох timeweb (но там просадки все же бывают, да и панель неудобная)

 

Заготовка для сайта, это у нас модифицированный bootstrap, в дальнейшем перенос в тему wordpess/другого движка.

 

Настройка сайта состоит из нескольких пунктов:

 

Robots.txt с запретом на индексацию (а то у заказчика могут возникнуть проблемы с индексацией текстов, они будут уже не уникальные)

 

User-agent: *
Disallow: /

Создание отдельного пользователя с данными заказчика и отдельного для себя (не храните пароли в браузерах только)

Установка запрета прав на обновления плагинов – если это wordpress – при разработка вам наверняка придется править файлы плагинов, и чтобы при обновлении ничего не сломалось, просто поставьте плагин

Настройка кеширования (чуть позже выйдет хорошая статья об этом)

Верстать с помощью препроцессора (сам предпочитаю scss, очень легок)

Установка минимальных плагинов, для wordpress это

Транслит ссылок, медиафайлов и т.д

Какой нибудь Yoast SEO не помешает для будущего продвижения

Compress JPEG & PNG images (панда которая) для оптимизации картинок, дают кажется 1к фри оптимизаций

Установка счетчиков посещения или какой нибудь статистики

 

Следить и помогать своим проектам, деньги деньгами а мертвые проекты в портфолио никому не нужны =)