• Как продвигать сайт в 2023 году?

    @qDirect
    Сейчас связка с соц сетями работает и поведенческие факторы. Можно накрутить, но зная к кому обращаться.
    Ссылки тоже по прежнему решают
    Ответ написан
    Комментировать
  • Есть сайт на WP, натягивал свою тему. При помощи плагина Yoast SEO пытаюсь поменять description но он не меняется. В чем может быть проблема?

    @qDirect
    Возможно ваша тема не поддерживает title-tag. В таком случае зайдите в настройки Yoast-Основы сайта-Настройки сайта и включите "Принудительная перезапись заголовков"

    Если же речь идет о отображение description в поисковой системе, то это нормально, метатеги не сразу обновляются.

    Возможно есть конфликты между плагинами или старый seo-плагин "оставил следы". Можно почистить через WP-Rocket
    Вариантов много.
    Ответ написан
    Комментировать
  • Объясните, как создать алгоритм поиска кратчайшего пути на js по графу?

    @qDirect
    // Создаем граф с помощью хэш-таблицы
    const graph = {
    'A': { 'B': 5, 'C': 2 },
    'B': { 'A': 5, 'D': 1 },
    'C': { 'A': 2, 'D': 6 },
    'D': { 'B': 1, 'C': 6 }
    };

    function dijkstra(graph, startNode) {
    // Инициализируем объекты для хранения расстояний и предшествующих узлов
    const distances = {};
    const previous = {};
    const queue = [];

    // Устанавливаем начальное расстояние в 0 и остальные в Infinity
    Object.keys(graph).forEach(node => {
    distances[node] = Infinity;
    previous[node] = null;
    queue.push(node);
    });
    distances[startNode] = 0;

    while (queue.length > 0) {
    // Находим узел с наименьшим расстоянием
    const minDistanceNode = queue.reduce((minNode, node) => {
    return distances[node] < distances[minNode] ? node : minNode;
    });

    // Удаляем текущий узел из очереди
    queue.splice(queue.indexOf(minDistanceNode), 1);

    // Проверяем соседей текущего узла
    for (let neighbor in graph[minDistanceNode]) {
    const distance = graph[minDistanceNode][neighbor];
    const totalDistance = distances[minDistanceNode] + distance;

    if (totalDistance < distances[neighbor]) {
    // Обновляем расстояние до соседа, если оно меньше текущего
    distances[neighbor] = totalDistance;
    previous[neighbor] = minDistanceNode;
    }
    }
    }

    return { distances, previous };
    }

    // Пример использования
    const startNode = 'A';
    const { distances, previous } = dijkstra(graph, startNode);

    console.log(distances);
    console.log(previous);
    Ответ написан
    Комментировать