• Как вы относитесь к бесконечной прокрутке в интернет-магазинах?

    @bublik462
    Веб программист - самоучка .
    Бесконечная прокрутка - отвратительна, ещё бывает проблемы с возвратом на список , она их тупо не запоминает , и кидает на начало страницы.
    Ответ написан
    Комментировать
  • Как вы относитесь к бесконечной прокрутке в интернет-магазинах?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    ИМХО Бесконечная подгрузка допустима только на сайтах развлекательной тематики, чтобы люди бесконечно глазели на котиков и прочие смешнявки.

    В магазине не применимо абсолютно. У пользователей будут проблемы с сохранением ссылок "на посмотреть и сравнить позже" и скидыванием ссылок друг другу.
    Ответ написан
    Комментировать
  • Как вы относитесь к бесконечной прокрутке в интернет-магазинах?

    @ilyavii
    Программист начального уровня)
    Я думаю, лучше бесконечная прокрутка
    Ответ написан
    Комментировать
  • Почему позиции сайта могу расти стабильно в яндекс, но не в google?

    @purplesky
    Например у вас на сайте нет заголовков h1

    Списки выполнены извращенным способом.
    7068e917805e4ebb888afe8799efc06d.png

    В robots.txt ничего не закрыто от индекса. Уберите #.
    f32c04ccae7347ec8e3b8343886d3c47.png

    Ужасные тайтлы и дескрипшены. + Куча потенциальных дублей.
    0377084d9c624286bf5d875d413eb4aa.png

    Куча дублей типа:
    sibirdom.by/index.php/kontakty
    sibirdom.by/kontakty

    Короче жесть, а не сайт. Нанимайте сеошника - пусть мучается :)
    Ответ написан
    Комментировать
  • Почему позиции сайта могу расти стабильно в яндекс, но не в google?

    @game802
    1) Поведенческие факторы, какие они? Процент отказа не должен быть слишком высоким
    2) Уходите в будущее, вместе с LSI
    3) Покупаете ли Вы ссылки?
    4) Составляйте MindMap для более четкого и ясного понимания распределения веса страниц
    5) Детальнее прорабатывайте description, пишите туда краткое описание содержания страницы, а не ключи.
    6) На странице в h1 указана картинка...? Используйте грамотную гипертекстовую разметку, для более ясной подачи поисковому роботу материала.
    7) Желательно указывать title к тегу img
    8) Объединяйте скрипты в одно целое, для меньшего кол-во обращений к серверу
    9) Минифицируйте js и css файлы
    10) CSS располагайте в head, JS внизу, перед закрывающем тегом body
    11) Прорабатывайте title, делайте акцент на НЧ, СЧ, - СК, НК
    12) Слушайтесь валидатора, он фигни не скажет
    13) Меню очень плохо адаптировано под моб. устройства
    14) Не везде указаны alt к картинкам
    И куча другого...
    Суть в том, что в конец 2016 года, практически невозможно повлиять на поисковую выдачу (методики ранжирования сайтов все лучше и лучше). Поисковики чувствуют seo оптимизацию и даже глубокий рерайт. Самый верный и правильный путь - развивать сайт, писать уникальный контент ДЛЯ ЛЮДЕЙ, а НЕ ДЛЯ РОБОТОВ. Ничего человеческого в Вашем сайте я не увидел, кроме того, все h, текста и все остальное оптимизировано под робота, а не сделано для ЧЕЛОВЕКА. Будьте осторожнее с этим иначе, такими темпами, можно улететь в бан. Пользуйтесь советом, под номером 2 и 6. Удачи
    Ответ написан
    1 комментарий
  • Почему позиции сайта могу расти стабильно в яндекс, но не в google?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Отсутствие ссылочной массы. Будете резко набирать, уйдете вниз по Я
    Ответ написан
    2 комментария
  • Как создать json строку на php?

    Mayzer
    @Mayzer
    Yes it is!
    Делай объект (массив массивов). Не важно сколько масивов будет. Пользуйся json.parser.online.fr для парсинга и просмотра результатов.

    $test = array();
    
    foreach($products as $product){
        $test[] = array(
            "id"=>$product->id,
            "title"=>$product->title,
            "param"=>array(
                "param1"=>21,
                "param2"=>2,
            ),
        );
    }
    
    echo json_encode($test);
    Ответ написан
    9 комментариев
  • Как написать правило для ссылок в htaccess?

    orlov0562
    @orlov0562
    I'm cool!
    1) использовать urlencode для формирования url:
    $baseUrl = 'mysite.ru/bla/id/';
    $url = $baseUrl . urlencode('https://google.com/search/12');


    2) упростить регулярное выражение, согласно требований:
    RewriteRule ^bla/id/(.+)$ index.php?id=$1 [NC,L]
    Ответ написан
    Комментировать
  • Почему не работает 301 redirect htaccess?

    orlov0562
    @orlov0562
    I'm cool!
    Потому что в Redirect учитывается только url без параметров, т.е. будет работать так (редирект с /index.php на новый):
    Redirect 301 /index.php http://*****.***/krovlya/polimernaya-krovlya


    в твоем же случае надо использовать RewriteCond и RewriteUrl, типа того:
    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^productID=1109$
    RewriteRule ^/?index\.php$ http://*****.***/krovlya/polimernaya-krovlya [L,R=301]
    Ответ написан
    5 комментариев
  • Как отобразить картинку по клику на элемент js?

    @dimkanio
    Вот код с этого сайта:

    //<![CDATA[
        jQuery.preloadImages = function()
    {
      for(var i = 0; i<arguments.length; i++)
      {
        jQuery("<img>").attr("src", arguments[i]);
      }
    }
    
    $.preloadImages(
    "http://ecohome.by/images/home/1-2.png",
    "http://ecohome.by/images/home/1-3.png",
    "http://ecohome.by/images/home/1-4.png",
    "http://ecohome.by/images/home/1-5.png",
    "http://ecohome.by/images/home/1-6.png"
    );
    //]]>
    
    $(document).ready(function () {
    	$("#range_01").ionRangeSlider({
    	    grid: true,
    	    from: 0,
    	    values: [
    	        "180", "200",
    	        "220", "240",
    	        "260", "280",
    	        "300", "320"
    	    ]
    	});
    	$("#range_02").ionRangeSlider({
    	    grid: true,
    	    from: 0,
    	    values: [
    	        "140x160", "140x180",
    	        "140x200", "140x230",
    	        "160x200", "180x230"
    	    ]
    	});
    	$("#range_03").ionRangeSlider({
    	    grid: true,
    	    from:0,
    	    values: [
    	        "160x160", "160x180",
    	        "160x200"
    	    ]
    	});
    	$("#range_04").ionRangeSlider({
    	    grid: true,
    	    from:0,
    	    values: [
    	        "160x160", "160x180",
    	        "160x200"
    	    ]
    	});
    	
    	$('input.range_type_home').change(function() {
    		$(this).closest('div').find('input').prop("checked", true);
    	});
    	
    	$('#email_double').keyup(function(){
    		$('#construct_form input[name="email"]').val( $(this).val() );
    	});
    	$('#email_double').change(function(){
    		$('#construct_form input[name="email"]').val( $(this).val() );
    	});
    	
    	$('input#lenght').numeric();
    });


    и вот

    $(document).ready(setupConstruct);
    
    function setupConstruct()
    {
    	$("#construct_form input:radio").change(
    		function(){
    			cleanConstructArea();
    
      			// при смене дома убираем всe еэлементы
      			var allCheckboxes = $("#checkboxes input:checkbox:enabled");
      			allCheckboxes.removeAttr('checked');
    
      			// находим номер дома
    			var n_radio = "";
      			var n_radio1 = $('form :radio.type_home:checked').data('val');
      			var n_radio2 = $('form :radio.level:checked').data('val');
      			if((n_radio1 == 1 || n_radio1 == 3) && n_radio2 == 1) {
    				n_radio = 1;
    				$("#balkon").css("display","inline");// убираем балконы у домов, где их нет
    		  	}
    		  	if((n_radio1 == 1 || n_radio1 == 3) && (n_radio2 == 2 || n_radio2 == 3)) {
    				n_radio = 1;
    				$("#balkon").css("display","inline");// добавляем балкон дому, где он есть
    		  	}
    		  	if((n_radio1 == 2 || n_radio1 == 4) && n_radio2 == 1) {
    				n_radio = 1;
    				$("#balkon").css("display","inline");// убираем балконы у домов, где их нет
    		  	}
    		  	if((n_radio1 == 2 || n_radio1 == 4) && (n_radio2 == 2 || n_radio2 == 3)) {
    				n_radio = 1;
    				$("#balkon").css("display","inline");// добавляем балкон дому, где он есть
    		  	}
    		  	
    
    		  	// присваием элементам новые родители
    		  	$("#checkboxes input:checkbox").each(
    		  		function(){
    					var n_check = $(this).val();
    					var n_check_array = n_check.split('-');
    					var new_check_val = n_radio+'-'+n_check_array[1];
    					$(this).val(new_check_val);
    				}
    			);
    
    		    // начинаем сменять изображение
    		    //if(n_radio2 == 1 || n_radio2 == 2)
    		    if(n_radio2)
    		    {
    		    	var path = $(this).val();
    
    				var slide = '';
    				$('#construct_image').append(slide).find(".loading").fadeIn(1000);
    				$('#construct_image').find('.new').remove();
    				$('#construct_image').children('img').addClass("hide");
    				var img = '<img class="new" src="http://ecohome.by/images/home/'+n_radio+'-1.png" alt="" />';
    				$('#construct_image').prepend(img).find('img.new').bind(
    					'load',
    					function() {
    						$('#construct_image .loading').stop().remove();
    						$('#construct_image').children('img.hide').fadeOut('slow', function(){$(this).remove();});
    						$(this).removeClass('new');
    					}
    				);
    			}
    			return true;
    		}
    	);
    
    	// прибавление элементов
    	$("#construct_form #checkboxes input:checkbox").click(
    		
    		function(){
    			var checkIt = $(this).prop("checked");
    			var el_name = $(this).val();
    			if (checkIt == true)
    			{	
                	var el_name = $(this).val();
    				var slide = '';
    				$('#construct_image').append(slide).find(".loading").fadeIn(1000);
    				var blockImg  = '<div class="construct_detail" id="'+el_name+'">';
    					blockImg += '<img class="new" src="http://ecohome.by/images/home/'+el_name+'.png" alt="" />';
    					blockImg += '</div>';
    				$("#construct_image").prepend(blockImg).find('.construct_detail img').bind(
    					"load",
    					function(){
    						$("#construct_image .loading").stop().remove();
    					}
    				);
    			}
    			else
    			{
                    var el_name = $(this).val();
    				$("#"+el_name).remove();
    			}
    			checkIt = false;
    			el_name = "";
    			return true;
    		}
    	);
    
    }
    
    function cleanConstructArea()
    {
    	$("#construct_image div").each(
    		function(){$(this).remove();}
    	);
    }
    Ответ написан
    1 комментарий
  • Как исправить ошибку в работе xml парсера?

    Settler1
    @Settler1
    Правильно написанный вопрос - половина ответа
    Сам xml файл кривой,
    1) & нужно заменить на &amp;, а ещё лучше в <![CDATA[ довавьте текст
    2) <PRICES> открыт, но не закрыт
    3) Адрес к объекту указан не верно, верно $xmls->PRICES->PRICE->WIC
    Ответ написан
    Комментировать
  • Как изменить содержимое файла с помощью phpexcel?

    @DuD
    Ну гуглится же элементарно.
    stackoverflow.com/questions/7594444/phpexcel-modif...
    Для того чтобы файл менять, его надо сначала открыть.
    Ответ написан
    1 комментарий
  • Как оптимизировать запрос mysql?

    @entermix
    Возможно вам поможет этот ответ https://toster.ru/answer?answer_id=91852#answers_l...

    вообще, как я понимаю, основная проблема в том, что мы посылаем 8000 запросов. Сейчас думаю, как сократить это число.


    Попробуйте использовать expr IN (value,...)
    Ответ написан
    Комментировать
  • Как оптимизировать запрос mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Какой тип поля имеет o_mark? и какова его длинна если это текстовое поле? Если запрос занимает более нескольких секунд - скорее всего не настроен индекс по этому полю.

    Таблица с менее 1 000 000 записей в принципе не является большой, в данном случае очевидно есть проблема с настройкой.

    Посмотрите не избыточна ли длинна поля, если поле помещается в 30 символов - ставьте 30, не надо делать "с большим запасом" индексные поля. Это нагружает выборку и раздувает индекс.
    Ну и собсно создайте индекс на поле.
    Ответ написан
    3 комментария
  • SEO принципы при создании сайта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ прост: читайте требования ПС к сайтам и выполняйте их по-максимуму.

    Основные:
    1. Валидная разметка HTML4(5)
    2. Страницы без переадресаций (возврат контента с кодом 200 при запросе).
    3. META и обычные тэги: title, description, keywords, H1, H2, H3, p
    4. sitemap.xml + robots.txt
    5. Все визуальные элементы, ведущие на другую страницу, должны иметь линк href даже тогда, когда они обрабатываются через JS.

    Неосновные:
    1. Микроразметка (желательно сразу все 3 схемы, см. требования ПС)
    2. META-тэги соц.сетей, авторства, рейтинга материала и прочего.
    3. RSS/ATOM
    4. BackPing (оповещение ПС о новых материалах на сайте)
    5. Корректные настройки языка страниц и канонических урлов (при необходимости).
    Ответ написан
    4 комментария
  • Как исправить curl?

    @springimport
    Curl - это хорошо, а Guzzle - лучше.
    Ответ написан
    Комментировать
  • Как исправить curl?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Returns TRUE on success or FALSE on failure. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.
    php.net/manual/en/function.curl-exec.php
    Ответ написан
    3 комментария
  • Как преобразовать json строку в php массив?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $arr = json_decode($data);
    $arr = $arr["result"]["goods"];

    А дальше можете и форичем.
    Ответ написан
    3 комментария