• Как проверить все URL sitemap на наличие в идекса в Google?

    vpetrov
    @vpetrov
    частный SEO-специалист, textarget.ru
    Можно взять Screaming Frog SEO Spider. Там есть коннектор к Search Console. Вытягиваем по API данные, сопоставляем с реальными данными по сайту. Профит.
    Ну или как уже сказано выше - просто выгружаете из консоли и в "Эксель" сопоставляете.
    Ответ написан
    Комментировать
  • Как проверить все URL sitemap на наличие в идекса в Google?

    pro100taa
    @pro100taa
    В Search Console заходите в "Проиндексированные страницы". Экспортируете их в эксель. Ссылки из sitemap тоже экспортируете в эксель. Все сводите в один лист эксель, приводите ссылки к единому виду и сравниваете (там есть возможность моментального сравнения).
    Ответ написан
    2 комментария
  • Не могу поднять бота на python3 что не так делаю?

    @Styxian
    Вы неправильно импортируете фильтры.

    Правильное использование
    Импорт:
    from telegram.ext import Updater, MessageHandler, CommandHandler, filters

    Добавление в обработчик:
    dispatcher.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, domain_info))


    Почитайте документацию по работе с фильтрами и примеры кода:
    https://github.com/python-telegram-bot/python-tele...
    https://github.com/python-telegram-bot/python-tele...
    Ответ написан
    Комментировать
  • Как проверить наличие ссылки на другом сайте, и не показать свой IP, с которого проверяю?

    @zkrvndm
    Софт для автоматизации
    Не обязательно использовать прокси. Если ваш баннер содержит атрибут onload в котором наверх посылается сообщение через метод postMessage, то наличие баннера можно проверить через вставку iframe на своем сайте.

    В этом варианте засветится IP того, кто проверяет, но не IP вашего сайта.
    Ответ написан
    Комментировать
  • Почему под 0 снимает Energy в TronLink USDT-TRC20?

    Noizefan
    @Noizefan
    Трансфер трона требует bandwidth, которого итак есть на каждом акке 1500 бесплатно бонусом.
    Трансфер токенов требует bandwith + energy, причем energy довольно много, и получить ее можно только стейкингом в тронлинке. Бесплатной энергии на аккаунтах нет.
    Один перевод токена бесплатный в сутки это примерно по моим прикидкам если они еще актуальны это 600 тронов застейканных в энергию. (Bandwidth вроде как хватает и из тех 1500)

    Недавно произошло некое обновление затронувшее все эти механики касающиеся комиссий, bandwidth и энергии
    Ответ написан
    Комментировать
  • Заказывать CMS с 0 или использовать существующие?

    Lastor
    @Lastor
    В чем сила, брат? В ньютонах.
    Выбор фреймворка - это не ваша зона ответственности. Не потому что вы некомпетентны, а потому, что не вам его поддерживать.
    Вероятно, вы захотите, чтобы у вас было и мобильное приложение, которое "питается" от того же бэкенда.
    А значит бэкенд не должен заниматься никаким html, отдавать только json.
    И WP я тут вообще не могу как-то серьёзно рассматривать. А если проект надо будет поддерживать и расширять, то останется либо уволиться либо повеситься.
    Фронтенду до фени кто ему отдаст этот json. Даже если там нэтивный php.
    Поэтому более актуальными вопросами будут: Vue vs React, SPA vs PWA.
    А что работает с сервером и бд не важно. Laravel / Yii / Simfony / phpOnly - разработчик сам разберётся.
    Ответ написан
    Комментировать
  • Заказывать CMS с 0 или использовать существующие?

    @mletov
    Составляете список того, что должно быть в проекте. А лучше не просто список, а написать полноценное техническое задание.

    Далее смотрите, что из требуемого функционала уже есть в CMS (хотя бы похожее или что CMS позволяет быстро реализовать), а что носит уникальный характер, заточенный именно под ваши нужны. Чем больше уникального функционала, тем больше плюсов в написании с нуля, ну и наоборот, чем проект более типовой (новости, статьи, каталоги, фотогалереи, формы обратной связи и т д), тем выгоднее брать CMS.
    Ответ написан
    1 комментарий
  • Не запускается Windows без флешки с лайвсиди, в чем проблема?

    @JaJin
    аникей
    Бут сектор потерялся на загрузочном (системном) диске. Сделать ремонтную флешку от Стрельца, там есть восстановление "загрузочной записи", как-то так
    Ответ написан
    Комментировать
  • Как исключить из копирования всей папки, одну папку на .bash?

    shambler81
    @shambler81 Куратор тега Linux
    Батенька сразу несколько замечаний.
    1. Базу дампим желательно через эвал, поскольку пароль может содержать как " так и ' так и { короче нужно извращаться
    eval "$(echo "mysqldump --no-tablespaces -u$DBLOGIN -p'$DBPASS' $DBNAME -h$DBHOST > $SITEDIR/$ELEMENT/$DBNAME\-$DATE.sql  && echo "Дамп БД $DBNAME будет сохранен в корне сайта"  ||  echo "Ошибка дампа базы данных " $DBNAME")"

    2.
    А зачем собственно вы храните это все на сервере, не проще сразу заливать в потоке на нужное место.
    Из плюсов все плюсы заливки 1 файла поскольку он в канале архивный.
    и плюсы все пофайловового копирования поскольку там уже лежит или распакованый если нужн или запакованый сайт.

    сейчас поищу где-то уменя были старые файлики похожие.

    SITEDIR="/home/bitrix/ext_www"                      # Папка до названия доменаов
    DBCONN="bitrix/php_interface/dbconn.php"            # Откуда читать настройки mysql
    FTPUSER="backup_ftp"                                # Логин FTP сервера
    FTPPASS="1111111"                        # Пароль FTP
    FTPHOST="11.154.209.177"                           # сервер FTP
    FTPDIR=""                                           # папка на FTP
    TMPDIR="/mnt/backup/site"                           # тут временный файл лежит до отправки
    TMPWPUTBASE="/mnt/backup"                            # wput подставит эту папку как базовую
    DATE=`date +"%Y-%m-%d"`                             # Формат даты в имени файла
    DATEYM=`date +%Y`/`date +%m`                        # Второй форматы даты
    LIST=${1:-`ls $SITEDIR | grep -E ".*\.\w{1,5}" | grep -v "restore.php" | grep -v "klondike.php"`} # Название сайта, тут выбор или аргумент или, регулярка  можно убрать только -L ;)
    
    mkdir -p $TMPDIR/$DATEYM # создаем  структ уру каталогов если их нет
    
    for ELEMENT in $LIST
        do
                    if [ ! -f /$SITEDIR/$ELEMENT/$DBCONN ];
                            then
                                echo " Файл $SITEDIR/$ELEMENT/$DBCONN не найден, сайт будет без БД!"
                            else
    
    DBLOGIN=$(/bin/php -r "include '${SITEDIR}/${ELEMENT}/${DBCONN}'; echo(\"{\$DBLogin}\");")
    DBNAME=$(/bin/php -r "include '${SITEDIR}/${ELEMENT}/${DBCONN}'; echo(\"{\$DBName}\");")
    DBPASS=$(/bin/php -r "include '${SITEDIR}/${ELEMENT}/${DBCONN}'; echo(\"{\$DBPassword}\");")
    DBHOST=$(/bin/php -r "include '${SITEDIR}/${ELEMENT}/${DBCONN}'; echo(\"{\$DBHost}\");")
    echo "Найдена BD $ELEMENT"
    echo ""
    echo "Login: $DBLOGIN"
    echo "DB   : $DBNAME"
    echo "Pass : $DBPASS"
    echo "Host : $DBHOST"
    echo ""
    echo "Дамп БД $DBNAME"
    
    # только через эвал и эхо смогли экранировать все  пароли
    eval "$(echo "mysqldump --no-tablespaces -u$DBLOGIN -p'$DBPASS' $DBNAME -h$DBHOST > $SITEDIR/$ELEMENT/$DBNAME\-$DATE.sql  && echo "Дамп БД $DBNAME будет сохранен в корне сайта"  ||  echo "Ошибка дампа базы данных " $DBNAME")"
    chown bitrix:bitrix $SITEDIR/$ELEMENT/$DBNAME\-$DATE.sql
                   fi
    
    echo "Считаем количество Файлов  на сайте"
    #SIZE=" $(find $SITEDIR/$ELEMENT/$WEB | wc -l)" && echo " В архиве будет $SIZE файлов"
    SIZE="$(find $SITEDIR/$ELEMENT/$WEB -not -path "$SITEDIR/$ELEMENT/bitrix/tmp/*" -not -path "$SITEDIR/$ELEMENT/bitrix/updates/*" -not -path "$SITEDIR/$ELEMENT/dev_logs/*" -not -path "$SITEDIR/$ELEMENT/upload/1c_import_light/logs/*" -not -path "$SITEDIR/$ELEMENT/upload/1c_import_light/total_errors/*" -not -path "$SITEDIR/$ELEMENT/.git/*" -not -path "$SITEDIR/$ELEMENT/bitrix/catalog_export/logs/*" -not -path "$SITEDIR/$ELEMENT/bitrix/backup/*" -not -path "$SITEDIR/$ELEMENT/bitrix/cache/*" -not -path "$SITEDIR/$ELEMENT/bitrix/managed_cache/*" -not -path "$SITEDIR/$ELEMENT/bitrix/stack_cache/*" -not -path "$SITEDIR/$ELEMENT/upload/resize_cache/*" -not -path "$SITEDIR/$ELEMENT/stats/*" | wc -l)" && echo " В архиве будет $SIZE файлов"
    
    
    echo "Архивируем сайт $ELEMENT прогресс не в килобайтах а в  количестве файлов"
    
      tar -cvpzf $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates'  --exclude='./dev_logs' --exclude='./upload/1c_import_light/logs' --exclude='./upload/1c_import_light/total_errors' --exclude='./.git' --exclude='./bitrix/catalog_export/logs'  --exclude='./bitrix/backup'  --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . | pv -s $SIZE -l > /dev/null
    
    
    echo $ELEMENT
    
    
    # >> /dev/nool 2> /var/log/backup_error.log
            rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
    
            echo "Сохраняем $ELEMENT на FTP"
    
            wput --basename=$TMPWPUTBASE -p    --no-directories      $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR && echo "Архив залит успешно, временные файлы удалены"
    >> /dev/nool 2> /var/log/backup_error.log
     #       rm -f $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz
    echo -en "\n\033[37;1;41m Ссылочка:\033[0m \e[1;4;36mwget ftp://$FTPUSER:$FTPPASS@$FTPHOST/site/$DATEYM/$ELEMENT-$DATE.tar.gz\e[0m\n\n" #ks05
    
      done
    
    
      if [ -n "$(cat /etc/nginx/bx/site_enabled/bx_ext_ssl_bike-centre.ru.conf | grep ^ssl_certificate )" ] ; then
           echo "        Найдены активные сертификаты SSL"
    
           cat /etc/nginx/bx/site_enabled/bx_ext_ssl_bike-centre.ru.conf | grep --perl-regexp "^ssl_certificate\s+.*\.pem" | grep  --perl-regexp -o  /.+[^\;]
           cat /etc/nginx/bx/site_enabled/bx_ext_ssl_bike-centre.ru.conf | grep --perl-regexp "^ssl_certificate_key.*\.pem" | grep  --perl-regexp -o  /.+[^\;]
    wput  -u --basename=/etc/ /etc/letsencrypt/live/bike-centre.ru/ ftp://backup_ftp:QWaszx123@178.154.209.177/etc_backup/
       # тут в телегу 
    curl --socks5-basic \-X POST https://api.telegram.org/bot5320773503:************/sendMessage -d chat_id=-676521809  -d \text="Backup site bike-centre.ru OK "

    Может что-то из этого покажется полезным
    скрипт запускается так scrypt.sh site.ru
    если просто то все сайты бэкапятся, соответственно кажыдй со своей базой со своим названием.
    Но тут не в потоке. о этом тут писал. https://klondike-studio.ru/blog/bystro-skopirovat-...
    Так же БД можно заливать сразу на удаленый сервер, притом уже архивную.

    Ну и как исключить я вам тут показал.
    Ответ написан
    Комментировать
  • Как исключить из копирования всей папки, одну папку на .bash?

    @pfg21
    ex-турист
    используй опцию исключения 7z -x (Exclude filenames) switch
    Ответ написан
    Комментировать
  • Как на bash написать отправку rclone последнего файла в директории?

    @Drno
    вообще то rclone предназначен для СИНХРОНИЗАЦИИ папок...

    мож лучше rsync?
    Ответ написан
    Комментировать
  • Как поставить пароль на архив tar/gzip?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB > $BACKUP_DIR/mysql.sql
    + tar -czvf $ARCHIVE $BACKUP_DIR


    Странное применение targzip в данном случае. совершенно бессмысленное.
    Юзай просто zip, у него есть -e (encrypt) опция, но там слабенькая защита. уж проще openssl, как указали в другом ответе.

    Чтоже касается tar. Весь смысл тар и gzip в том, что они умеют работать с потоком, а не файлом. Поэтому то, что вы сперва сохраняете в файл, а потом отдельно еще в tar/gz - бессмысленная работа, которая ничего не дает. Вдобавок и сам тар там не нужен, у вас же один файл.
    Поэтому можно сделать так:
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB | gzip > $BACKUP_DIR/mysql.gz


    и потом шифровать файл чем угодно.
    Или сразу:
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB | gzip | openssl enc -aes-256-cbc -out encrypted $BACKUP_DIR/mysql.gz.encrypted

    Пароль или руками или перенаправить
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB | gzip | openssl enc -aes-256-cbc -out encrypted $BACKUP_DIR/mysql.gz.encrypted<<<"mysecretpassword"
    Ответ написан
    Комментировать
  • Задачка или как обвернуть PS5 в VPN в таких условиях?

    ValdikSS
    @ValdikSS
    Самый надёжный вариант — установить на компьютере в виртуальной машине ОС-роутер (например, OpenWRT), подключив её в локальную сеть в режиме моста и настроив на ней маршрутизацию и VPN, а в игровой консоли указать адрес этой виртуальной машины в качестве IP-адрес шлюза.

    Такой способ позволяет максимально гибко и совместимо настроить раздачу VPN на устройства, его не поддерживающие, без дополнительного оборудования.
    Ответ написан
    Комментировать
  • Как обновить php до 7.4 на debian9 если репозитории мертвы?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    На неделе как раз полдня решал этот вопрос, оказалось проще обновить debian чем накатить php7 на stretch.

    Или решать как-то радикально через докерывсякие/отдельный сервер.

    Обновлять ось 10 и выше нет возможности, часть сервисов сильно привязаны к strech

    это знак что пора уже обновить не только php)
    Ответ написан
    4 комментария
  • Как сделать такую навигацию?

    @rzhmor
    Примерно так

    <ul class="menu">
    <li class="active"><a href="/">Главная</a></li>
    <li><a href="">Компании</a></li>
    <li><a href="">Блог</a></li>
    <li><a href="">Контакты</a></li>
    </ul>


    .menu {
    padding:0;
    margin:0;
    list-style:none;
    font-size:0;
    }
    .menu li {
    display:inline-block;
    vertical-align:center;
    font-size:14px;
    margin:0 2px;
    }
    .menu li a {
    text-decoration:none;
    padding:10px;
    border-radius:5px;
    }
    .menu li.active,
    .menu li a:hover {
    background:#aaa;
    color:#fff;
    }
    Ответ написан
    Комментировать
  • Как удалить массово папки весом меньше 1mb?

    DamianLewis
    @DamianLewis
    Давайте не будем все усложнять командной строкой или Power Shell, а поступим наглядно и просто, не боясь совершить ошибку.
    1. Скачиваем бесплатную программу WizTree
    2. Просканируем нужный раздел диска или через меню файл выберем только папку (F3). Сканирование всего диска занимает 1-3 секунды. Сканирование папки еще быстрее.
    3. Нажимаем Сортировать по размеру и все папки рассортируются по размеру(по убыванию/по возрастанию)
    Вот как это выглядит:
    Скриншот
    61afaa7d79af2629331012.png

    4. Затем просто через Shift выбираем все папки меньше 1мб и в удаляем в один клик.

    Весь процесс займет у вас минуту.
    Ответ написан
    Комментировать
  • Что делать с одинаковым description на 2/3/4 и тд страницах?

    Rinat_Haisman
    @Rinat_Haisman
    SEO-специалист, телеграм-канал @seospecialist
    Страницы пагинации ни в коем случае не надо закрывать в роботс (роботы не смогут попасть на такие страницы, соответственно те ссылки, которые на них расположены могут не проиндексироваться либо индексация сильно замедлится) или ставить ноиндекс. Каноникл на первую страницу - отличная практика как для гугл, так и для яндекс. Мета-теги при этом можете не трогать. Со времени страницы пагинации выпадут из индекса.
    Ответ написан
    1 комментарий
  • CSS Почему не работает изменение стиля при наведении на другой через hover?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    .image:hover .but
    Внутри элемента с классом .image нет элемента с классом .but -срабатывать не на чем.
    Ответ написан
    1 комментарий
  • Как сделать проверку валидности почты перед отправкой?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Достоверную валидность почты сделать невозможно. Потому что на стороне приема я могу сделать с письмом все, что захочу. Я могу принять письмо на несуществующего юзера и отправить ответ. Я могу не принимать письмо на существующего юзера, отправляя ошибку No such user.

    Технически проверку введенного адреса сделать несложно:
    - взяли адрес, отрезали часть после собаки
    - нашли MX
    - подключились по 25-му порту, сказали HELO/EHLO, потом RCPT TO
    - распарсили ответ

    Проблема в том, что ответ этот будет не совсем достоверным. Да, на 90% серверов он будет правдив. Но не всегда и не везде.
    Ответ написан
    Комментировать