• Если это то покажи это, а если нет, то вот это, как в Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    <?php
    
    $field_value = get_field('название-поля');
    
    if ($field_value): ?>
      <p><a href="<?php echo esc_url($field_value); ?>">СсылкО</a></p>
    <?php else: ?>
      <p>Не заполнено...</p>
    <?php endif; ?>
    Ответ написан
    Комментировать
  • Как перевести перевести top в translateY?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно ли это реализовать?

    Можно! Элемент с position: top вычисляет расстояние от верхнего края текущего элемента, до верхнего края ближайшего подходящего (например, position: relative) родителя (либо до viewport), а translate от фактического текущего положения элемента. Теперь включаем логику и применяем методы offsetParent(), height(), position().top итп.
    Ответ написан
    Комментировать
  • Как пофиксить selenium.common.exceptions.StaleElementReferenceException Selenium python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    появляется ошибка selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found. Как от нее избавиться?

    Ошибка возникает тогда, когда ранее полученный элемент - устарел (изменен, удален итп).

    Understanding Stale Element Reference Exception in... (на java внимание не обращаем, там главное суть понять).
    Ответ написан
    Комментировать
  • Как добавить класс элементу до нужного по списку?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    for (var i = 0; i < elements.length; i++) {
        if (i < items) {
            elements[i].classList.add("red");
        }
    }

    const items = 5;
    const elements = document.querySelectorAll(".elem");
    
    elements.forEach((el, i) => {
        if (i < items) {
            el.classList.add("red");
        }
    });
    Ответ написан
    1 комментарий
  • Как выделить мышкой область на странице и присвоить класс элементам попавшим в эту область?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Как выделить мышкой область на странице и присвоить класс элементам попавшим в эту область?

    1. Использовать события mousedown, mousemove итп, для момента зажатия ЛКМ.
    2. Использовать метод getBoundingClientRect(), для получения координат элементов (их пересечения), куда передвинули мышь из п1, если пересечение достигнуто, то добавляем css класс данному элементу.
    Может кто нибудь предложит решение на примере со скришота

    Что конкретно у Вас не получилось? Если всё, то на фрилансе предложат сделают все за Вас.

    Кстати, гуглежка заняла 2 минуты (быстрее, чем написать вопрос) - Выделение элементов мышкой:
    Ответ написан
    2 комментария
  • Стоит ли продолжать работать с региональными поддоменами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Стоит ли продолжать работать с региональными поддоменами?

    Какой формат используют успешные конкуренты из топа, тот и делать. По моим наблюдениями, подпапки работают лучше поддоменов.
    Ответ написан
    Комментировать
  • Почему Google и Yandex не распознают favicon и description?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Подскажите, пожалуйста, столкнулся с такой ситуацией, что при выдаче сайта в поисковой строке Google не видит описание сайта, а берет какой-то кусок контекта с сайта

    ПС возьмет ближайший (от начала страницы) заголовок + ближайший к нему параграф, если его релевантность (по мнению ПС), будет выше title и description по определенному ключу. Хороший заголовок и описание в выдаче - сильно повышают CTR.
    не видит favicon

    Это возможно, со временем пройдет, если все сделано правильно для Яндекса и Гугла.
    Ответ написан
    Комментировать
  • Верификация номера телефона на сайте. Какие методы есть?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Ответ написан
    Комментировать
  • Как проверить наличие поля в JSON файле с помощью python?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Применять метод .get() к строке не лучшее решение, попробуйте так:
    for item in response.json()['Employees']:
        first_name = item["User"]["FullName"]["FirstName"]
        last_name = item["User"]["FullName"]["LastName"]
        
        if "MiddleName" in item["User"]["FullName"]:
            middle_name = item["User"]["FullName"]["MiddleName"]
        else:
            middle_name = "отчество отсутствует"
        
        print(f"Имя: {first_name}, фамилия: {last_name}, отчество: {middle_name}")
    
    
    # Имя: Иван, фамилия: Иванов, отчество: Иванович
    # Имя: Петр, фамилия: Петров, отчество: отчество отсутствует
    Ответ написан
    Комментировать
  • Как выводить сайт в топ по определенным запросам?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Изучить вхождение ключей у конкурентов по конкретному запросу и сделать так же.
    2. Сделать так, чтобы поведенческие факторы на странице были максимально положительными.

    Покупные ссылки давно являются минимальным фактором ранжирования.
    Ответ написан
  • Как можно отредактировать микроразметку сайта написанного на Bootstrap?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    хотел бы узнать в какую сторону смотреть

    С учётом Вашей компетенции в данном вопросе - в сторону фриланса. За условный доширак, школьник разберётся, где находится сайт и как изменить его html.
    Ответ написан
    Комментировать
  • Нормально ли что парсинг занимает много оперативки?

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

    Профилирование Python — почему и где тормозит ваш код
    Ответ написан
    Комментировать
  • Как сделать поля width и height к компонента Image необязательными?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    https://nextjs.org/docs/pages/api-reference/compon...
    Required, except for statically imported images or images with the fill property.

    fill
    Ответ написан
    Комментировать
  • Сократите время выполнения кода JavaScript - privacy-cs.mail.ru/static/sync-loader.js - что это?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    PageSpeed ругается на данную вещь, по времени занимает 3 секунды на мобильной версии

    Заверните внешне подключаемые скрипты в событие window.onload + setTimeout на 3 сек, PageSpeed и поисковики хорошо оценят данный движ.
    На сайте есть виджет чата от Битрикса, в нём есть ссыль на чат в ВК клиента. Может ли это быть оно?

    Точно не известно, пока не покажите ссылку на сайт.
    Ответ написан
    Комментировать
  • Ошибка Uncaught ReferenceError: exports is not defined?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    https://github.com/webpack/webpack/issues/12040
    https://github.com/webpack/webpack/issues/4039#iss...
    Now that Babel 7.x is out, I'll just say that this should essentially be resolved. The only time you should see this, with Babel 7.x, is if you're doing one of:

    You've actually using import and module.exports in the same file, which is not allowed by Webpack. You can sidestep this by setting "modules": "commonjs", which will make Babel compile the import to a require. This breaks tree shaking, as mentioned above though, so fixing your code would be a better idea.
    You're using useBultins: 'entry'/'usage, or @babel/plugin-transform-runtime, and you are running Babel on CommonJS files (either your own, or in random node_modules, if you're trying to compile that). Babel assumes files are ES modules by default, meaning those transforms would insert import statements into your file, triggering case 1. above. You can avoid this issue by setting sourceType: "unambiguous" in your Babel configuration, which will tell it to guess the type, like Webpack does, instead of assuming all files are modules.
    Ответ написан
    Комментировать
  • PHP Fatal error: Uncaught Error: Call to undefined function WP_CLI\Utils\check_proc_available() - при вызове с сайта?

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

    Используйте в плагине выборку из БД без WP_CLI, например:
    global $wpdb;
    $data = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}table", ARRAY_A);
    file_put_contents($path . '/' . $this->backup_filename . '.json', json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
    Ответ написан
    3 комментария
  • Почему не получается вывести шорткод в шаблоне Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Вариант с экранированием:
    <?php echo do_shortcode( '[gridmaster grid_style="style-2" post_type="game" posts_per_page="10" orderby="date" order="DESC" content_from="excerpt" excerpt_type="characters" excerpt_length="15" show_read_more="yes" read_more_text="Скачать" grid_image_size="medium" grid_image_width="350" grid_image_height="200" link_thumbnail="no" link_thumbnail_to="post" show_filter="yes" filter_style="default" btn_all="no" taxonomy="category" hide_empty="1" multiple_select="no" toggle_filter_items="no" pagination_type="load_more" infinite_scroll="true" animation="true" heading_font_size=\'{"xs":"16px","sm":"18px","md":"20px","lg":"22px","xl":"24px"}\' grid_col_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_row_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_item_per_row=\'{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"}\' slider_args=\'{"arrows":"1","autoplaySpeed":"3000","infinite":"1","slidesToShow":{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"},"slidesToScroll":{"xs":"1","sm":"1","md":"1","lg":"1","xl":"1"}}\']' ); ?>

    Вариант с NOWDOC синтаксисом, как подсказал Ivan Ustûžanin:
    <?php echo do_shortcode( '[gridmaster grid_style="style-2" post_type="game" posts_per_page="10" orderby="date" order="DESC" content_from="excerpt" excerpt_type="characters" excerpt_length="15" show_read_more="yes" read_more_text="Скачать" grid_image_size="medium" grid_image_width="350" grid_image_height="200" link_thumbnail="no" link_thumbnail_to="post" show_filter="yes" filter_style="default" btn_all="no" taxonomy="category" hide_empty="1" multiple_select="no" toggle_filter_items="no" pagination_type="load_more" infinite_scroll="true" animation="true" heading_font_size=\'{"xs":"16px","sm":"18px","md":"20px","lg":"22px","xl":"24px"}\' grid_col_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_row_gap=\'{"xs":"30","sm":"30","md":"30","lg":"30","xl":"30"}\' grid_item_per_row=\'{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"}\' slider_args=\'{"arrows":"1","autoplaySpeed":"3000","infinite":"1","slidesToShow":{"xs":"1","sm":"2","md":"3","lg":"3","xl":"3"},"slidesToScroll":{"xs":"1","sm":"1","md":"1","lg":"1","xl":"1"}}\']' ); ?>

    Если использовать нормальную IDE, то она сообщит о возможных проблемах:
    67347946022ff024286243.png
    Ответ написан
    1 комментарий
  • Нормальная ли практика использовать ACF + встроенный редактор WordPress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Нормальная. Если Вы соберётесь показывать превью поста (например), то Вам в любом случае придётся брать данные этого поста.
    Ответ написан
    Комментировать
  • Выбор технологии для Front-end?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Количество посещений ~ 3М в месяц.

    Вы еще за 10 лет напишите, какой максимальный RPS?
    Предназначен ли Next для таких нагрузок?

    SSR Framework Benchmark, но я бы настроил промежуточный сервер для кэширования (например Nginx), чтобы снять до 90% нагрузки с приложения.
    Какие альтернативы?

    Насколько я знаю, производительность следующая (от наименьшего к наибольшему):
    1. NextJS.
    2. Remix.
    3. Astro.
    Какой мощности сервер понадобится для такой нагрузки?

    Зависит от приложения и его кэширования, но если RPS будет около тысячи, то хватит VDS за 50-150$/мес.
    Ответ написан
  • Как лучше решить проблему с дублями страниц при поисковой индексации?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Часть формируются из-за незначащих GET-параметров, и на сайте вообще никакая страница кроме поисковой не зависит от GET-параметров, поэтому хотелось бы им всем поставить disallow, но встретил не мало аргументов против такого решения.

    Все страницы с url параметрами заблочить в robots.txt, разблочить лишь те, которые являются страницами-фильтрами (куда попадаем, после фильтрации товаров в каталоге) с get параметрами (если такие имеются), и указать им canonical на страницу без url параметров. Дубли пропадут со временем самостоятельно, но лучше закинуть их на переобход руками в вебмастере.
    Ответ написан
    4 комментария