Задать вопрос
  • Ссылка на чужой сайт, как влияет на SEO?

    @granty
    1. Если их лицензия требует активную гиперссылку, то все манипуляции с <noindex> и rel='nofollow' будут техническим нарушением лицензионного соглашения.

    2. В плане SEO ссылки с вашего сайта(теоретически) могут влиять как отрицательно, так и положительно, в зависимости на кого вы ссылаетесь. Посмотрите алгоритм HITS (дорвейшики верят в этот алгоритм, и всегда ставят ссылки на приличные сайты).


    По поводу атрибутов rel=nofollow, rel=external, rel=ugc и rel=sponsored, тега < noindex>, ссылок на яваскрипт и редиректных ссылок, есть 2 аспекта:

    - роботы ПС их видят и переходят по ним, потому, что задача роботов найти и проиндексировать все страницы в интернете.

    - некоторые вышеупомянутые атрибуты/теги/редиректы позволяют не передавать вес (статический и динамический) на акцептора. Но это не значит, что этот "вес" останется у вас на сайте. Вот, например, как сейчас работает rel=nofollow:
    679.gif

    Или вы лезете в дебри SEO и начинаете свято верить в кучу сопровождающих его мифов, либо не заморачиваетесь, и просто делаете сайты для людей. Ибо однозначного ответа на ваш вопрос - нет.
    Ответ написан
    1 комментарий
  • PHP обработчик не получает POST запрос?

    @granty
    При 'Content-Type': 'application/json' массивы-обертки $_POST /$_GET на сервере не заполняются, так не присылается Имя_Параметра, а присылается только Значение_Параметра.
    Сервер не может обработать такие данные автоматически ($_POST - ассоциативный массив, а имя_переменной не прислано).

    Получить такие данные можно только через php://input
    Ответ написан
    1 комментарий
  • Как создать удобный и незаметный редирект со своего сайта на сайт магазина?

    @granty
    3. При заказе на моем сайте будет автоматически идти заказ в другом магазине
    Как сделать так, чтобы заказ редиректился автоматически, чтобы я мог получить свою комиссию, но при этом не связывался с обработкой заказов и их проверкой.
    Это делается не так, не надо ничего делать тайно. Кроме промокодов (которые вам не понравились), есть:

    - "реферальные ссылки" специальные ссылки или баннеры, при переходе по которым магазин знает, что этого клиента направили ему вы. И начисляет вам %.

    - "реферальные куки" и связанный с ним cookie stuffing. Посетителю садится специальная кука(от магазина - вашего партнёра) на неделю/месяц, и если он в течение времени жизни куки совершит покупку, вы получаете % с неё.


    2. Приводить туда людей через контекстную рекламу
    То, чем вы хотите заняться называется арбитраж трафика. Эта тема была вытоптана лет 6-8 тому назад.

    Почему вы думаете, что отобьёте затраты на рекламу?

    Подумайте, почему магазин сам не заказывает себе контекстную рекламу? Ведь он затратит на неё денег сколько и вы, но при этом оставит себе ваш %. И этот сэкономленный % снова пустит на контекстную рекламу, и заработает ещё больше. Зачем нужны вы в этой цепочке?

    От правильных ответов на эти вопросы зависит успех вашей затеи.
    факультатив

    Года три тому назад, один ушлый веб-программист придумал способ массово накручивать переходы на сайты в Яндекс.Метрике. Он насобирал кучу id Яндекс Метрики с тысяч сайтов и стал накручивать им фиктивные переходы со своих "пустых" доменов.
    Вебмастера долго не могли понять зачем он это делает.
    При этом, этот разбойник накручивал переходы по таким интригующим запросам, что вебмастера заходили на эти его домены посмотреть что за фигня происходит и почему к ним идёт такой шквал трафика.

    Внимание, вопрос: зачем же он это делал?

    PS: Если вы внимательно изучили написанное мной выше - вы знаете ответ.
    Ответ написан
    7 комментариев
  • Скрытый текст для поиска?

    @granty
    Есть дискуссия на эту тему на профильном форуме, можете поизучать.
    Ответ написан
    Комментировать
  • Почему к адресу сайта добавляется www, при наличии https?

    @granty
    Вот уже 20 лет, как www. всё ещё занимает умы вебмастеров. И плодят они кучу дублей страниц, а потом доблестно сражаются с ними с помощью редиректов и rel='canonical'. И пишут кучу лишнего кода, чтобы решить проблемы SOP/CORS и установки куков на поддомен с www.
    откуда взялся этот www

    Двадцать лет назад, World Wide Web был только одной маленькой частью Интернета, и самый быстрый PC был основан на 386 чипах. Они были не очень быстры и не могли выдерживать большую нагрузку, таким образом, была необходимость размещать различные «части» Интернета на отдельных машинах.
    Например, сервер Apache размещался на одном компьютере, почтовый сервер на другом, и сервер FTP на ещё одном. Каждый из компьютеров отзывался на различный адрес IP, но на то же самое имя домена. Внутри этого доменного имени компьютеры дифференцировались по предоставляемому сервису (что назвалось тогда, "именем машины"). Таким образом, имена серверов в Интернет начинались с «имени машины» по предоставляемому ей сервису: www.domain.ru, mail.domain.ru, и ftp.domain.ru. («Старожилы» Интернета, наверное помнят ещё и такой архаичный сервис, как gopher.domain.ru, в настройках IE он еще остался).

    Сегодняшние компьютеры, конечно, намного более мощны, и мы можем поместить все различные "части" наших услуг Internet в той же самой «коробке» (принцип Head&Sholders - «два в одном флаконе» был применён задолго до массового появления «перхоти» в России :)
    Действительно, мы часто устанавливаем несколько сотен доменов, каждый с его собственным набором сервисов (http, ftp, mail…), на тот же самый сервер. Поэтому в настоящее время приставка www является «антиквариатом» и может игнорироваться.

    Этот экскурс в Историю, возможно, представляется интересным, но единственная важная вещь из него - то, что технически www.domain.ru - точно так же как sub.domain.ru - считаются полностью различными объектами относительно domain.ru, но по причинам, изложенным выше, обычно www.domain.ru и domain.ru обычно должны показывать одну и ту же страницу, в отличие от sub.domain.ru.

    Не надоело возиться с этим атавизмом? Убрать www и забыть его, как страшный сон. В www уже давно нет никакого смысла, зачем тащить в светлое будущее этот старый чемодан без ручки?

    По уровню вашей диагностики - "сайт недоступен", возможны 2 варианта:
    - SSL сертификат создан только на www.domain.ru, поэтому domain.ru недоступен по https://
    - в настройках веб-сервера указан www.domain.ru и не указан domain.ru (выше ребята написали что посмотреть). Тогда domain.ru будет недоступен и по http:// и по https://
    Ответ написан
    Комментировать
  • Рекламная сеть для подмены на страницах?

    @granty
    1. Погуглить запросы "тизерная реклама", "рекламные сети" и спросить в техподдержке разрешают ли они подмену рекламы.

    2. Поставить себе в браузер вредоносные плагины с подменой рекламы, и посмотреть на кого они льют трафик.

    3. Из "приличных" - можно посмотреть сети купонов и скидок на товары.


    НО смысла в этом нет никакого, ваша идея порочна по своей сути:

    - разрешать подмену рекламы(по сути обманывать владельцев сайтов и рекламные сети) и при этом, не кидать вас - это взаимоисключающие требования к рекламной сети. Те, кто готов зарабатывать на обмане других, кинет и вас.

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

    - ваши 200 одних и тех же клиентов не нужны нормальной рекламной сети. Какой смысл показывать им одни и те же объявления на всех посещаемых ими сайтах?

    - то, чем вы занимаетесь - лицензированный вид деятельность. К вам придут ребята из РКН и вы попадёте на бабки.

    - вмешиваться в трафик пользователя - порочная практика. Вы получаете доступ к конфиденциальной информации (клиент-банк, госуслуги, личные кабинеты и тп). Как только у клиента упрет деньги со счёта, или на компе появится вирус - вы станете крайним.

    - Вебмастера уже давно готовы к таким подменщикам рекламы как вы. На всех нормальных сайтах Content Security Policy, которая заблокирует показ вашей рекламы.

    Одумайтесь и попячтесь, пока не поздно!
    Ответ написан
  • Какие есть способы увеличения трафика из поисковика?

    @granty
    1. Добавить сайт в Яндекс.Новости

    2. Добавить сайт в Google.News

    3. По аккаунтам сообществ в соцсетях можно (без спама!) публиковать ссылки на интересные новости по тематике сообщества. С применением вирусного маркетинга и прочих маркетинговых "фенечек".

    4. Не слушать SEOшников - они вам навешают лапши на уши (свежие новости ранжируются по отдельному алгоритму, совсем не так, как остальные сайты. У поисковиков есть специальные роботы для индексации новостных порталов).

    Обратите внимание, что все СМИ имеют свои каналы в Ютубе и аккаунты в соцсетях. Это - неспроста.

    Также имейте в виду, что народ любит просматривать новости через всякие RSS-фиды, то есть - не заходя к вам на сайт.

    UPD: вынес про "ранжирование новостей" из каммента:
    Новостные сайты в выдаче
    новости появляются в поиске через несколько минут/часов, обратите внимание на подчеркнутое зелёным:
    5e5d37eecfa63482169107.jpeg

    У поисковых систем есть "быстророботы" (быстроботы). Если ПС определит, что сайт - "новостной" быстроботы с него просто не вылязят.

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

    После внутреннего апдейта базы поисковика (что напроиндексировали его роботы) - "новость" начинает ранжироваться по общему алгоритму. Но к этому времени она устаревает - народ ищет уже более свежие новости.

    С точки зрения SEO, внутренняя оптимизация для "новостника" важнее чем внешняя (ссылки с акнорами), поскольку когда внешние ссылки проиндексируется, новость уже не актуальна.

    Также для новостных порталов имеет смысл заморочится с заголовками LastModified - боты ПС быстрее обнаруживают новые страницы, и меньше нагружают сервер повторной переиндексацией старых.
    Ответ написан
    Комментировать
  • Платные ссылки и переходы с домена через rel="noopener noreferrer"?

    @granty
    Везде идет стандартное описание в вида копипост, закрывает реферала, закрывает http!
    Вот зачем нужен атрибут rel="nofollow noopener".

    В Интернетах часто пишут всякие глупости, но на то вы и технарь, чтобы отделить зёрна от плевел.

    Если вы прочитали по ссылке выше, вы уже знаете, что:
    - rel="nofollow noopener" ставиться только на внешние ссылки на чужие ресурсы. При внутренних переходах по собственному сайту rel="nofollow noopener" указывать не надо (нет смысла), поэтому ваш счётчик переходов не остановится.

    - нормальные партнёрки (Адсенс, РСЯ и тп) делают ссылки яваскриптом, уже после загрузки страницы в браузере. Плагин WP крутится на сервере и прописать rel="nofollow noopener" у этих ссылок не сможет - он не дотянется до браузера пользователя.
    Ответ написан
    Комментировать
  • Как избавиться от гкода?

    @granty
    Чтобы избавиться от "говнокода", надо избавиться от "говноалгоритма".
    Программист всегда решает задачу в общем виде. Как это сделать - отлично показал usheninmike.
    Вся суть его алгоритма - в строке:
    $repeating = count($digits) - count(array_unique($digits));


    Я просто "допилил" его решение под вашу задачу:
    function win() {
      if (func_num_args() <=0 ) $digits = array(); // Нет аргументов
      elseif (func_num_args() >1 ) {        // > 1 аргумента
    	  for ($i=0, $digits=array(); $i < func_num_args(); $i++)
    	    $digits[] = func_get_arg($i);
    	  }
      else $digits = str_split( func_get_arg(0) );
      // ... тут надо проверить, что $digits не более 3-х элементов
      $repeating = count($digits) - count(array_unique($digits));
      return $repeating ? $repeating + 1 : 0;
      }

    Такая функция win() будет понимать:
    echo win().'<br>';
    echo win("").'<br>';
    echo win(1,4,1).'<br>';
    echo win(141).'<br>';
    echo win("141").'<br>';
    echo win("11").'<br>';
    echo win(11,11,1).'<br>';

    Disclaimer
    Функция отлично работает с ЦИФРАМИ. Но если понадобится считать СИМВОЛЫ в строке, результат по начале может показаться не очевидным - проверьте: win("§§§").'<br>';
    Почему - разберётесь сами :)
    Ответ написан
    Комментировать
  • Как прокачаться до middle frontend?

    @granty
    Лучше быть джуниором-практиком, чем миддлом-теоретиком.

    Без участия в реальных проектах - никак. Только в бою обретёшь ты... поработав в команде грамотных программистов.
    Ответ написан
    Комментировать
  • Как на php сверить заданный параметр с именем домена?

    @granty
    Михаил Миргородский,
    1. Вы сравниваете 'http://' с 'https://' - строки явно не совпадут. Зачем вы добавляете схему, вам же надо только проверить доменное имя?


    2. $_SERVER['REQUEST_URI'] содержит запрошенный путь на сайте и имя файла:
    /                // запрос морды сайта
    /config.php      // запрос скрипта на сайте
    /upload/get.php  // запрос скрипта из папки
    Зачем вы их добавляете в проверку? Они ни как не влияют на проверку доменного имени.


    3. запрос к вашему сайту по HTTP/1.1:
    GET /path/page.php HTTP/1.1   // относительный URL
    Host: domain.ru
    или:
    GET http://domain.ru/path/page.php HTTP/1.1  // абсолютный URL с доменом
    Host: любой_текст_тут

    $_SERVER['HTTP_HOST'] всегда будет содержать значение из поля Host:. А там можно прислать что угодно, если в GET передаётся абсолютный URL с доменом. Спецификация требует игнорировать заголовок Host:, если в GET содержится абсолютный url - вы уверены, что ваш веб-сервер делает это?
    $_SERVER['HTTP_HOST'] присылается пользователем, доверять ему нельзя. Там может быть и IP-адрес сайта - вполне легальный запрос при определённых настройках веб-сервера.


    4. $_SERVER['SERVER_NAME'] устанавливается веб сервером и содержит имя домена из конфигурации вашего веб-сервера. Ему можно доверять, но есть и грабли. Вот кусок конфига Apache:
    ServerName domain.com        # основной домен
    ServerAlias www.domain.com   # домен с www
    ServerAlias m.domain.com     # мобильная версия сайта
    И, какое из этих 3-х имён пропадёт в $_SERVER['SERVER_NAME']?
    Если в конфиге установлено UseCanonicalName On - в $_SERVER['SERVER_NAME'] всегда будет имя из ServerName конфига веб сервера.
    Если нет - будет одно из этих 3-х имён - то, по которому была запрошена страница сайта:
    http://www.domain.com/index.php -> www.domain.com
    https://m.domain.com/images/upload.php -> m.domain.com
    ws://domain.com/ajax/get.php -> domain.com

    Ответ написан
    Комментировать
  • Редиректы 301 и 302?

    @granty
    Я паучка Xenu использовал для таких целей. Простой, бесплатный и ничего лишнего - сканирование сайта на битые ссылки и составление карты сайта Sitemap.
    Ответ написан
    Комментировать
  • Как сопротивление может влиять на напряжение?

    @granty
    totorialman, это влияние внутреннего сопротивления вашего источника напряжения:
    img16.jpg
    Чем больший ток потребляет вольтметр, чтобы замерить напряжение - тем больше напряжения "потеряется" на внутреннем сопротивлении вашего источника.
    Ответ написан
    Комментировать
  • Есть ли успех у темы в продвижении сайта на поддоменах?

    @granty
    1. Географические поддомены - это единственной способ автоматически сделать сайту множественную региональную привязку (каждому поддомену будет назначен свой регион). Без этого "геоозависимые" запросы в выдаче не продвинуть.

    2. У ПС наблюдается некоторая любовь к агрегаторам сайтов - они чаще появляются в выдаче, чем те сайты, с которых они тырят собирают инфу.
    А крупный агрегатор проще строить на поддоменах.
    Ответ написан
    Комментировать
  • Коллеги, как Вы выходите из положения, когда нужно постоянно приводить ПК в исходное состояние?

    @granty
    Я Акронис использую. Делаю полный бэкап винта на физическом уровне. Делается загрузочный CD/флешка.
    Ответ написан
    Комментировать
  • Как удалить VK по GDPR?

    @granty
    1. Вконтакте не удаляет страницы, а только скрывает их от общего доступа (оставляя доступ для спецслужб).
    Поэтому я бы рекомендовал поменять в аккаунте фотки на левые, поменял телефон, рандомно подписался бы на чужие аккаунты и поудалял своих реальных друзей. И сделать это надо не в один день, а постепенно.

    2. Загружать во Вконтакте(читай - российским спецслужбам) паспорт гражданина ЕС крайне не рекомендовано.

    3. Если вы желаете просто потроллить "усмановцев", как гражданин ЕС вы можете, например, воспользоваться правом на забвение (входит и в GDPR).

    Более подробно см GDPR. Практические советы.
    Если вы гражданин ЕС, я бы накатал жалобу в ваш "местный орган" или gdpr.eu (которым не палевно показывать свой паспорт), а они пусть уже разбираются со Вконтактом. Но, см п 1.
    Ответ написан
  • Как сделать чтобы пользователь смог сделать лайк только один раз php?

    @granty
    Голосование вторизованных посетителей
    Термин "пользователь" подразумевает, что посетитель авторизован(залогинен) на вашем сайте каким-либо способом. Через соцсети или прямым вводом логина пароля (как на форумах или этом сайте).
    В этом случае, Дмитрий Кузнецов выше уже ответил на ваш вопрос.

    Вот, я: с домашнего ноутбука, с ПК на работе или со смартфона в метро по дороге домой - это для вас один и тот же пользователь?
    Для сайта qna.habr.com - да, один и тот же. Потому, что мне надо залогиниться, чтобы совершать на этом сайте значимые действия.


    Голосование неавторизованных посетителей
    Если "лайкать" разрешено "неавторизованным посетителям" - вам предстоит нелёгкая борьба с накруткой лайков. Эта задача не решаема в полном объёме, все анонимные онлайн-голосовалки подвержены уязвимости накрутки.
    Можно попробовать EverCookie, но тогда вы будете идентифицировать на самого "пользователя", у его комп/ноут/смартфон.
    И такие "неубиваемые" куки нарушают закон ЕС о куках, то есть область их применения несколько ограничена.

    PS: Тут уже была тема защита от многократного голосования, посмотрите что там посоветовали.

    Для полноты картины - тематические ссылки на Хабр:
    Борьба с накрутками в рейтингах - страшные математические формулы
    Теория и практика накрутки голосов
    Накрутка голосов в опросе на сайте крупной телевиз...
    Ответ написан
    Комментировать
  • Как организовать обновление данных на странице по инициативе сервера?

    @granty
    Есть технология Server-Sent Events, вот свежий вопрос про обновление данных на странице по инициативе сервера, как раз на эту тему.
    Ответ написан
    Комментировать
  • Как правильно настроить мультиязычный сайт для поисковых роботов Google и Яндекс?

    @granty
    1. ПС будет рать только одну версию страницы, вы же всем делаете редирект 301, включая роботов ПС. Редиректом вы не дадите ботам ПС проиндексировать языковые версии и увидеть ваши hreflang.

    2. Да, для Google в вашем(языковая версия сайта в папке) случае нужно указывать hreflang или делать привязку через sitemap.
    - Рекомендации Google Как управлять мультирегиональными и многоязычными ...
    - Google потом в Отчете "Таргетинг по странам и языкам" показывает ошибки, связанные с использованием атрибута hreflang на вашем сайте.

    - Яндекс тоже поддерживает локализацию через sitemap и через hreflang.

    И старенькие ссылки на Хабр (прочитать бегло по диагонали для общего понимания):
    - Грамотное определение языка пользователя рекомендуют не делать жесткую привязку к языку - пользователь должен выбирать сам.
    - Разбираемся с построением мультирегиональных сайтов рассказано как правильно делать многоязычные сайты и как поисковики отреагируют на это (там сказано что Яндекс не поддерживает Sitemap, уже поддерживает - ссылка выше).
    Ответ написан
    3 комментария
  • Как обновить страницу пользователя?

    @granty
    Использовать EventSource и Server-Sent Events (есть пример на PHP).
    Описание использования server-sent events на MDN.

    PS: IE/Edge не поддерживают эту технологию
    Ответ написан
    Комментировать