• Если страница проиндексирована, значит внешние ссылки, размещенные на ней, тоже учтены поисковыми системами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если проиндексировал страницу, то да, учитывает. Другой вопрос, имеет ли эта ссылка ссылочный вес.
    Ответ написан
    Комментировать
  • Регистрация на Twitch с использованием Selenium вызвать ошибку «Ваш браузер не поддерживается". Что делать?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Nodriver, официальная замена undetected-chromedriver.
    Ответ написан
    Комментировать
  • Анимированная загрузка с многоточием, как сделать?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Комментировать
  • Как сделать вывод сообщения в определённую секунду?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    import time
    
    # Время берется 1 раз в момент запуска скрипта, чему оно будет равно?
    now = datetime.now() 
    current_time = now.strftime("%H:%M:%S")
    
    # Цикл запущен и проверяет время, которое было взято 1 раз выше, что получится? Получится то, что цикл будет искать время, которое уже истекло.
    while True:
        time.sleep(1)
        if current_time == '16:49:00':
            print('text')
    
    # Так, щас 16:49:00?
    # Ок, ждем 1 сек...
    # Так, щас 16:49:01?
    # Ок, ждем 1 сек...
    # Так, щас 16:49:02?
    # У нас время идет вперед или назад..? Если все таки вперед, то сможет ли оно достигнуть current_time, которое уже меньше, чем ожидаемое время..?

    print() в помощь, чтобы понимать, что происходит в коде, если до полноценной отладки пока далеко:
    import time
    from datetime import datetime
    
    while True:
        now = datetime.now()
        current_time = now.strftime("%H:%M:%S")
    
        if current_time == '17:15:00':
            print('text')
            time.sleep(1)
        else:
            print(f'Нихуа ({current_time})!')
            time.sleep(1)
    
    # Нихуа (17:14:56)!
    # Нихуа (17:14:57)!
    # Нихуа (17:14:58)!
    # Нихуа (17:14:59)!
    # text
    # Нихуа (17:15:01)! <--- Вот здесь оказывается Ваш первоначальный скрипт
    # Нихуа (17:15:02)!
    # Нихуа (17:15:03)! <--- Мы ждем какое время, 16:49:00?

    P.S. Ваш код все таки сработает, когда пройдут сутки, но я не думаю, что так было задумано ;)
    Ответ написан
    2 комментария
  • Почему не работает такая конструкция тернарного оператора в WP?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    <header class="<?php echo (is_front_page()) ? 'black_bg' : 'white_bg'; ?>">
    Ответ написан
    Комментировать
  • Как обеспечить невозможность извлечения шрифтов с сайта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Разве возможно запретить скачать файл шрифта и при этом использовать этот шрифт?

    Нет. Все что "загрузилось браузером" - доступно для скачивания.

    Лицензируйте шрифт, затем ищите сайт, который использует шрифт без лицензии, нотариально заверяйте каждый год использования, затем, через 3 года подавайте в суд.
    Ответ написан
    7 комментариев
  • Как устранить дублирование кода?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Как вариант (>=Python3.10):
    from typing import Dict, Any
    
    def process(answer, result_json: Dict[str, Any]) -> None:
        tmp_json = parse_answer(answer)
        result_json['summary_text'] += tmp_json['result']
        result_json['tags'].extend(tmp_json['tags'])
        result_json['input_size'] += answer.input_size
        result_json['output_size'] += answer.output_size
    
    def handler(text: str, max_size: int) -> Dict[str, Any]:
        result_json = {'summary_text': '', 'tags': [], 'input_size': 0, 'output_size': 0}
    
        match len(text):
            case size if size > max_size:
                chunker = TextChunker(maxlen=max_size)
                for chunk in chunker.chunk(text):
                    answer = get_answer(chunk, tags_quantity=1)
                    process(answer, result_json)
            case _:
                answer = get_answer(text, tags_quantity=3)
                process(answer, result_json)
    
        return result_json
    Ответ написан
    2 комментария
  • Подойдет ли SSD к материнской плате H370 AORUS GAMING 3 WIFI?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting

    H370 AORUS GAMING 3 WIFI (rev. 1.0)
    1 разъем M.2 (Socket 3, M key, типоразмер 2242/2260/2280/22110) для PCIe x4/x2 SSD-накопителей; (M2M_32G)


    Характеристики SSD накопитель Kingston NV2 SNV2S/1000G 1ТБ
    M.2 2280, PCIe 4.0 x4, NVMe, M.2
    Максимальная скорость чтения 3500 МБ/с
    Максимальная скорость записи 2100 МБ/с


    Подойдет ли SSD к материнской плате
    И будет ли работать быстрее 500 МБ/С?

    Подойдет, будет (2100-3500 МБ/с).
    Ответ написан
    Комментировать
  • Как установить нужную версии aiogram PyCharm?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    $ cd /d project
    $ python -m venv venv
    $ venv\Scripts\activate
    $ pip install aiogram==2.25.2
    $ pip install aiohttp==3.8.1

    Либо, попробуйте более старую версию aiohttp:
    $ pip install aiogram==2.25.2
    $ pip install aiohttp==3.7.4

    Затем, под виртуальным окружением (как под грибами), запускаем скрипт, визуально, это будет выглядеть примерно так:
    user@PC C:\project
    $ venv\Scripts\activate
    (venv) user@PC C:\project
    $ python main.py

    P.S. команды под Windows, для Linux некоторые из них будут слегка отличаться.
    Ответ написан
    3 комментария
  • Правильность запрос в яндекс директ?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Для этих запросов делать 2 разные группы? или в одну размешать?

    В одну, ибо wordstat показывает, что "аренда минивэна сочи" - это полный синоним "аренда минивэна в сочи" (обратите внимание на частотность обоих). А вот если Вы соберетесь рекламировать "билеты из москвы в сочи" (например), то необходимо жестко зафиксировать порядок слов и наличие предлогов в ключе - [билеты +из москвы +в сочи].
    Ответ написан
    2 комментария
  • Как правильно передать проект Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    или будет достаточно только самой папки находящаяся в themes

    Если Вы собираетесь передать лишь вёрстку натяную на wp (php файлы темы), то да, можно передать тему из директории /wp-content/themes.

    Если же проект не ограничивается wp версткой, то не рекомендую так делать, т.к. многий функционал находится в плагинах и их настройках, которые Вы таким образом не перенесете. В таком случае, лучше забэкапить все файлы проекта + бд и передать этот .jar (например) заказчику. Для этого удобно использовать плагины Duplicator или Akeeba.
    Ответ написан
    Комментировать
  • CodeForces добавил защиту от парсинга?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    $ curl https://codeforces.com/
    <!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge">

    Первый ответ сервера (а bs4 в большее и не умеет), возвращает среди прочего < title>Just a moment... title>, уже как бы намекая, что там что то происходит... Защита может быть элементарной, но не видя Ваш код, говорить о решение не приходится.
    Ответ написан
    Комментировать
  • Как правильно выбрать файл шаблона в зависимости от урла?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Неужели в Вордпрессе нет возможности задать файл-шаблон любому урлу и я должен использовать вариант с index.php?

    Есть возможность, можно использовать функцию add_rewrite_rule() вместе с хуком template_include:
    function test_rewrite_rule(): void {
        add_rewrite_rule('^catalog/?$', 'index.php?catalog_page=1', 'top');
    }
    
    add_action('init', 'test_rewrite_rule');
    
    function test_query_var($vars) {
        $vars[] = 'catalog_page';
        return $vars;
    }
    
    add_filter('query_vars', 'test_query_var');
    
    function test_include_catalog($template) {
        if (get_query_var('catalog_page')) {
            $new_template = locate_template(['catalog.php']);
            if ('' != $new_template) {
                return $new_template;
            }
        }
        return $template;
    }
    
    add_filter('template_include', 'test_include_catalog');

    Затем, создаем шаблон catalog.php в теме, и когда пользователь перейдет по site.com/catalog/, wp будет использовать catalog.php, без необходимости создавать страницу.
    Ответ написан
    1 комментарий
  • Сокращение или удаление "www" из URL может повлиять на SEO?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Сокращение или удаление «www» из URL может повлиять на SEO?

    По моим наблюдениям, это не является фактором ранжирования. Если же у Вас уже проиндексирован сайт с www, то 301 редирект на без www может временно дать просадку позиций в органике.

    P.S. я надеюсь, Вы убирать www собрались с 301 редиректом?
    Ответ написан
    1 комментарий
  • Как оформить такой список?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Валидатор говорит, что тэг p так вставлять нельзя. Как правильно это сделать?

    Внутрь li, либо без p, но тогда li придайте стили p.
    Ответ написан
    Комментировать
  • Проблема SEO во Vue 3?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Но недавно, почитав статьи и узнал, что яндекс плохо обрабатывает SPA приложения в поиске (В сравнении Google)

    Google не лучше.
    как можно решить проблему SEO на вот таком вот стеке?

    Фронт должен создаваться как SSR (если нужно SEO), не совсем понял, для чего Вы указали Go, но схема примерно такая: Go -> SSR -> JS. Не знаю, что там сильно актуально для Vue, но например для React это NextJS.
    Ответ написан
  • Если любой из элементов массива слов имеется в строке - выдать true, как?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    list = ['Да', 'да', 'интересно', 'Интересно']
    input = input("Введите текст: ")
    
    if any(w in input for w in list):
        print('Одно из слов есть в тексте')

    или:
    list = ['Да', 'да', 'интересно', 'Интересно']
    input = input("Введите текст: ")
    
    match input:
        case _ if any(w in input for w in list):
            print('Одно из слов есть в тексте')
        case _:
            print('Здесь нет таких')
    Ответ написан
    8 комментариев
  • Как просуммировать ячейку в постах wp?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Получить все опубликованные посты с нужным типом.
    2. Объявить счетчик.
    3. В цикле обойти п1, увеличивая при каждой итерации п2. на значение кастомного поля.
    4. Вывести значение на страницу.
    <?php
    function get_total_population() {
        $args = [
            // Заменить на свой тип постов
            'post_type' => 'city',
            'posts_per_page' => -1,
            'post_status' => 'publish',
        ];
    
        $query = new WP_Query($args);
        $sum = 0;
    
        if ($query->have_posts()) {
            while ($query->have_posts()) {
                $query->the_post();
                // Заменить на свое кастомное поле
                $sum = get_post_meta(get_the_ID(), 'city_population', true) ?? 0;
                $sum += (int)$sum;
            }
    
            wp_reset_postdata();
        }
    
        return $sum;
    }
    
    // >Нужно вывести общую цифру населения по всем городам)
    echo 'Результат: ' . get_total_population();
    Ответ написан
    3 комментария
  • Какой скрипт выбора страны в input для поля телефона?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    International Telephone Input, Vanilla JS, React, Vue, 7к звиздецов и последнее обновление 3 часа назад, думаю достойный вариант.
    Ответ написан
    Комментировать