Задать вопрос
  • Перезд разных сайтов к одному провайдеру. Организация инфраструктуры?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Всего пока 4 сайта, на разных CMS (Wordpress, Joomla).

    1. С чего нужно начинать, чтобы подготовить сайт(ы) к переезду?

    Любой хостинг (shared с поддержкой MySQL и PHP) или VDS/DS.
    2. Что нужно подготовить на новом пустом сервере?

    Что такое "пустой сервер"? Если это VDS/DS, то гуглим, если это shared хостинг, то "создать сайты" (так обычно называется манипуляция у хостера, которая регистрирует место для расположения файлов для сайта) и MySQL БД для сайтов.
    3. Нужен ли для каждого сайта (их четыре) свой виртуальный сервер (VM)?

    Не нужен.
    Или как эти сайты вообще размещать чтобы в случае чего они не упали все вместе?

    Падение хостера достаточно редкое явление, чаще происходит дедос, который как раз и блокирует доступ к сайтам. Если критически важно, чтобы одновременно не легли все сайты, то нужны физически разные сервера и возможно, у разных хостеров.
    5. ... какие советы дадите

    Задавать более конкретные вопросы.
    Ответ написан
    Комментировать
  • Язык и инструменты для разработки системы диспетчеризации/сбора данных/мониторинга?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Наймите 2х специалистов, которые:
    1. Напишет ТЗ (первый специалист).
    2. Выберет необходимый инструмент исходя из п1 (второй специалист).
    3. Разработает проект из п1 (второй специалист).
    4. Примет (или нет) выполненную работу из п3. (первый специалист).
    Являюсь дилетантом-разработчиком)

    Не могу определиться с выбором языка и фреймворка.

    Ваша задача - оплатить выполненную работу, и уж тем более не выбирать, какие инструменты при этом будут использоваться.
    Ответ написан
    Комментировать
  • Какие библиотеки использовать для разработки бэкенда python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Flask / django / restapi?

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

    То, о чем больше написано различной документации, втч. и к компонентам и где больше разработчиков, которые в случае чего подскажут.
    Что из этого ... эффективнее.

    Эффективность бывает разная, скорость разработки - Django, производительность самого фреймворка - FastAPI. Периодически, используют сразу оба, где FastAPI обрабатывает нагруженные участки приложения, а Django занимается всем остальным.
    Ответ написан
    Комментировать
  • Как создать и вывести текстовое поле в Carbon Fileds?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    как создать поле с обычным текстовым редактором

    Rich Text:
    use Carbon_Fields\Container;
    
    Container::make('post_meta', 'Наименование группы полей')
        ->where('post_type', '=', 'page') // условие, только для страниц
        ->add_fields([Field::make('rich_text', 'rich_text_field', '');

    и потом его вывести в шаблоне?

    Как вариант:
    $fields = apply_filters('fields_name', [], get_the_ID());
    echo esc_html($fields['rich_text_field'] ?? '') ?>
    Ответ написан
    1 комментарий
  • Как по api получать поля Carbon Fileds?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Все верно, CF по умолчанию не возвращает данные из своих полей (только имена полей). Чтобы CF возвращал данные, необходимо явно разрешить это для каждого созданного поля, например так:
    use Carbon_Fields\Field;
    
    Field::make('text', $key, $this->meta_labels[$key])
        ->set_visible_in_rest_api(true);
    Ответ написан
    1 комментарий
  • Каким должен быть H1 с т.з. Яндекса?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Пример: Автоматический выключатель; 3П; 400А; 70 кА при 400В

    Нормальный пример, но лучше ограничиваться одним из правил:
    - Делать title/h1 40-50 символов (чтобы помещался на большинстве смартфонов).
    - Делать x2 от заголовка выше, но тогда в первую часть вставлять один ключ, а вторую - второй (2 предложения через точку). Ключи должны быть похожи по смыслу.
    Вопрос 1: каким должен быть H1 (TITTLE) с т.з. Яндекса, с т.з. лучшего ранжирования? Мы хотим сделать так: Артику. Название товара. Бренд.

    1. Определить конкурентность ниши.
    2. Если п1. конкурентный, то использовать тот заголовок, который определен поисковиком, как наиболее релевантный в конкретно "этой" поисковой выдаче. Если ниша не конкурентная, то экспериментировать, смотря на ключи, например из вордстата.
    Вопрос 2: Можно ли в коде карточки товара прописать H1 с одним названием, в карточке товара - с другим? Не будет ли это препятствием для ранжирования?

    2 тега h1 на странице не рекомендуется размещать.
    Ну, например: в коде будет название "Артику. Название товара. Бренд." - и это будет выдаваться в поисковой выдаче. А когда человек переходит в карточку - он увидит тот заголовок, который у нас сейчас "Название товара. Краткие характеристики".

    В таком варианте поисковик будет показывать в органике:
    1. Заголовок, который наиболее точно отвечает на ключ (релевантный).
    2. Для сниппета будет показываться ближайший кусок релевантного текста, идущий сразу после п1.
    Ответ написан
    Комментировать
  • Как подключиться к OpenVPN через python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • В панели Google Search Console в списке всех страниц сайта недавно появились страницы с якорями. Откуда они взялись и как их теперь убрать?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Нормальная ли это ситуация и может ли расцениваться как дубли, к примеру?

    Нормальная, если это осмысленно (якорь действительно ведет на определенный блок на странице). Дублями не будет, если canonical указывает на страницу без якоря.
    Ответ написан
    Комментировать
  • Подойдет ли backend на python?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    какой фреймворк для подобной проблемы

    Django + DRF/Ninja + Nginx.
    Слышал про GIL, но не знаю, будут ли из-за него трудности.

    При средних нагрузках - будут, но обходится это относительно не сложно (многопроцессорность или внешние библиотеки). При больших нагрузках Python не используют.
    Справится ли этот backend с нагрузкой до 1000 запущенных процессов (операций работы с файлами, обрабатываемых на сервере единовременно)?

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

    Если есть сомнения в Ваших возможностях, то Java или Go справятся с этой задачей лучше.

    Но с другой стороны, Python позволит быстро написать MVP, а узкие места потом всегда можно переписать на Go.
    Ответ написан
    4 комментария
  • Как сделать тайтл записи в формате: Название - Рубрика?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Попробуйте так:
    add_filter('document_title_parts', 'test', 10, 1);
    
    function test($title) {
        if (is_single()) {
            $categories = get_the_category();
            if (!empty($categories)) {
                $title['title'] .= ' — ' . $categories[0]->name;
            }
        } elseif (is_category()) {
            $title['title'] = single_cat_title('', false);
        }
    
        return $title;
    }
    Ответ написан
    Комментировать
  • Как вывести определенный пост на страницу?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Как продолжить обучение веб-разработке?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    параллельно с этим попытаюсь в фриланс, когда буду чувствовать что уже могу

    В последующем, если буду дальше продвигаться и что-то из себя представлять - буду пытаться устроиться в компанию.

    Хреновая идея, лучше в обратном порядке.
    Но думаю разве тогда есть смысл писать сайт с нуля если есть CMS, раз такой спрос есть?

    Что такое "с нуля"? Если это фреймворк, то - есть смысл.
    Если хочу устраиваться в компанию, тогда изучаю фронтенд.

    Если хотите максимальную сложность, то да.
    и думаю как бы обучаться более эффективно и знать современные инструменты решения задач

    Устроиться на работу.
    Ответ написан
    5 комментариев
  • Нормальная ли температура процессора i7-12600H?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    температура процессора колеблется от 50 до 56. Это в обычном режиме, турбо режим не включала. Это норма или все же многовато?

    Нормально. Через 1-2 года заводская говно-термопаста высохнет, и тогда добавится +10-20 градусов к стандартной температуре.
    Ответ написан
    Комментировать
  • Два одинаковых сайта на разных доменах - ru и eng версии, как правильно разместить?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Будет ли бан от поисковиков и могу ли я как-то обозначить для них что это один и тот же сайт, просто для разных регионов?

    Если контент будет одинаковый - будет, плагиатчик будет страдать. Как обозначить (для .рф сайта):
    <head>
        <link rel="alternate" hreflang="ru" href="https://сайт.рф"/>
        <link rel="alternate" hreflang="en" href="https://site.com"/>
    </head>

    P.S. поисковик может проигнорировать это.
    Ответ написан
  • Почему код написанный на python работает некорректно?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Знаю, что быдло код, просьба не критиковать , так как я только учась! :)

    А как Вы научитесь, если Вас не будут критиковать?
    Почему не парсит остальные страницы?

    Вас не смущает, что root находится в другой области видимости?
    while cout_page < 8:
      # ...
      root = soup.findAll('span',{'class':'label label-default'})
    
    for i in root:
      tage.append(i.text)

    Вот так работает:
    import requests
    from bs4 import BeautifulSoup
    
    start_page = 1
    last_pages = 8
    
    tags = []
    
    for page in range(start_page, last_pages + 1):
        url = f"https://cs-ms-monitoring.ru/all-servers/page/{page}/"
        res = requests.get(url)
    
        if res.status_code == 200:
            soup = BeautifulSoup(res.text, "lxml")
            root = soup.find_all('span', {'class': 'label label-default'})
            tags.extend([tag.text for tag in root])
        else:
            print(f"Ошибка на странице {page}")
    
    with open("base.txt", "w") as file:
        for tag in tags:
            file.write(tag + "\n")

    КартинкО

    66bc90f85ce5e092912425.png
    66bc90fcd10ad137906749.png
    Ответ написан
  • Как исправить ошибку при попытке создать файл в функции и затем его открыть?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Мне необходимо создавать и записывать данные в новый файл

    Читать 1 файл (mode='r') можно неограниченному количеству скриптов единовременно.

    Чтение с возможностью записи (w, a или r+):
    - В винде файл может блокироваться первым читающим, остальные сосут чупик.
    - В линуксе возможно не блокирование файла, но могут возникнуть проблемы с записью, если не реализован механизм синхронизации.

    Самое простое - использовать контролируемую блокировку файла на уровне скрипта, который взаимодействует с файлами (fcntl==linux, msvcrt==win):
    import fcntl
    
    with open('file.txt', 'a') as f:
        fcntl.flock(f, fcntl.LOCK_EX)  # файл кем то заблокирован, ждем
        try:
            f.write("Some data\n")  # файл разблочился, блокируем его и работаем с ним
        finally:
            fcntl.flock(f, fcntl.LOCK_UN)  # что то пошло не так, снимаем блокировку с файла принудительно
    Ответ написан
    Комментировать
  • Как получать доходы в крипте легально в РФ?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Федеральный закон № 259 «О цифровых финансовых активах, цифровой валюте и о внесении изменений в отдельные законодательные акты Российской Федерации» — это отправная точка всего регулирования, связанного с криптовалютой в России. Согласно ему, криптовалюта — это цифровая валюта, являющаяся имуществом, которое нельзя использовать в качестве платежного средства.

    При этом закон содержит уточнение, что такие операции запрещены лишь для резидентов РФ (нахождение в России 183+ дней в течение последних 12 месяцев подряд).

    То есть, если Вы не резидент РФ, то и данный запрет на Вас не распространяется. Для юридических лиц похожее условие — запрет распространяется только на компании, зарегистрированные в России.

    Получается, законно оформить оплату в криптовалюте в России можно. Но в том случае, если заказчиком и исполнителем будут субъекты, не являющиеся резидентами РФ.

    P.S. За счет того что криптовалюта — это имущество, у Вас будет двойной доход. Сначала вы получите крипту и должны будите уплатить налог с этого дохода. А потом Вы продадите их за рубли и снова должны уплатить НДФЛ.

    P.P.S. Доход от продажи криптовалюты можно уменьшить на ее стоимость в момент зачисления на кошелек, но обязанность уплатить налог это не отменяет. Вам придется подать декларацию 3-НДФЛ или иным способом подтвердить, что с дохода от продажи крипты уплачен налог.

    Насколько я знаю, единственный вариант официально получать оплату в крипте из за границы резиденту РФ - это фриланс биржи, которые примут крипту от заказчика и перечислят платеж уже в валюте Вам. Разумеется, биржа возьмет % за свои услуги.
    Ответ написан
    Комментировать
  • Как лучше отыграть сценарий загрузки BG картинок?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Несколько вариантов:
    - Не показывать страницу/блок, пока все нужное в нем не будет загружено.
    - Показывать похожий на изображение фон, пока не будет загружено изображение.
    - Показывать лёгкое изображение отдалённо напоминающее оригинал, пока не будет загружено изображение.
    Ответ написан