Перейти к публикации

Хоббит

Клиенты
  • Публикации

    213
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    5

Сообщения, опубликованные пользователем Хоббит

  1. 35 минут назад, Sgy-x2 сказал:

    Хорошо, как мне понять в чем причина попадания уведомлений в спам? Пожалуйста, только не кидайте мне ссылки на рекомендации гугла и остальных, я их прочитал, сделал всё что мог. Я не могу найти ошибку.

    Бывает Gmail кидает письмо в спам из-за отсутствия аутентификации

  2. 5 минут назад, juva404 сказал:

    Непонятно при чем здесь тег custom и баннеры - нужно вывести ленту новостей при помощи тега custom, например 60 новостей и эту ленту разбавить баннерами. Тег content позволяет это сделать, но он не всегда удобен. А тег custom - нет.

    ...... 

    Этого нет в документации

    [newscount=x] баннер [/newscount]

    Это в shortstory. Можно легко персонализировать с помощью [available] если хотите исключить некоторые разделы (в случае когда один шаблон используется в нескольких custom. 

    1 минуту назад, juva404 сказал:

    Еще меньше кому нужно😆

    Видимо у вас мини блог с 1000-5000 новостями? Когда наберёте 10 000 новостей поговорим надо ли автоматизация рутины или нет. 

  3. Прошу реализовать функционал который даст возможность показать рекламный баннер в середине showfull, или после определённого HTML тега. 

    Например показать banner_1 после 500 символов перед тегом </br>. 

    Также не хватает функций "исключения не нужных категории", в которых не следует показывать баннер в showfull.

    • Поддерживаю 1
  4. 14.12.2020 в 19:03, juva404 сказал:

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

    Мало кому нужно, в документации есть теги для реализации такого.

  5. DLE 14, модификации касаемо доп. полей не было.

    Цитата

     

    Доп. поле: Годы активности

    Тип поля: Одно строка

    "Безопасный режим" и "Использовать значения полей как перекрестные гиперссылки".

     

    В новости пишут такой тег: Текст / текст

    Сохраняю новость, потом при попытке перейти по такому тегу в адресной строке вижу: site.com/xfsearch/year/Текст%20%2F%текст/ 

    Но сайт выдает 404. 

  6. 2 часа назад, Mr. Bot сказал:

    Реально многим ли нужно это?
    От этого зависит реализация в том числе и сторонними разработчиками.

    Если сайт имеет меньше 1000 страниц, это вовсе не нужно (цитата с Google). 

    Эффект заметен если страниц больше 100к. Да можно сторонними разработчиками, но много ли желающих и знающих как все это грамотно реализовать. 

  7. 1 час назад, Nicksemsujahan сказал:

    Даже не знал об этих правилах, но в моем профиле при регистрации я указывал сайт + куча раз указывал его до этого. Не понимаю в чем проблема) Смысла дублировать это никакого нет

    Просто поражен с того, что происходит) Послушал недоайтишника на свою голову, перевели сайт на ДЛЕ. В итоге система полная багов, платная, так еще и поддержка шлет тебя НА(** 
    подход ко всем вопросам из 2005 года. 
     

    Спасибо за помощь

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

  8. 10 часов назад, celsoft сказал:

    Нет, потому как это бессмысленная трата времени, и то что вы пытаетесь сделать также бессмысленно.

    Делается это для снижения нагрузки. Что невозможно в данном случае. Чтобы отдать правильно, нужно почитать новость из БД, сравнить ее дату, и после этого отдавать тот или иной код. В данном случае проще и дешевле в плане нагрузки отдать сразу 200 код, и не "страдать" ерундой, не экономя по своей сути нечего.

    А что скажете про ETag? https://habr.com/ru/company/edison/blog/509484/

  9. 2 минуты назад, Zhur сказал:

    @celsoft может рассмотрите внедрение в новые версии скрипта из коробки? Чтобы мы не мучились с костылями. 

    Это вряд-ли, очень и очень маловероятно, мб через пару лет, или вообще 5-10 лет придётся ждать. 

    Мне тоже интересен этот вопрос, если вдруг подумаете написать ТЗ и найти исполнителя, я мог бы разделить часть расхода на реализацию. 

  10. 18.11.2020 в 05:33, Captain сказал:

     

    
    $LastModified_unix = gmdate('D, d M Y H:i:s \G\M\T', time());
    $LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
    $IfModifiedSince = false;
    if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
        $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5)); 
    if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
        $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
    if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
        exit;
    }
    header('Last-Modified: '. $LastModified);

     

    Кажется я не так выразился, прописал ваш код.

    1. Дата новости: https://ibb.co/Sm2cKPw

    2. Ответ сервера: https://ibb.co/Nm8dgqF

    3. Изменяем дату при обращений: https://ibb.co/prctMwK

    Первый ответ сервера без изменения даты обращения работает как надо (200). Второй ответ сервера неправильно (304) потому что бот обращался с датой 16 ноября 12:00, 2020 в то время новость изменил контент и имеет дату в первом скриншоте. Получается если бот индексировал ваш сайт 15 числа, то внесенные новые изменения не будут индексироваться т.к. сервер выдает 304 как будто Last-Modifed не изменился (а этот параметр есть, см. второй скрин)

  11. 1 час назад, Captain сказал:

    Есть ли от этого смысл? Но как-то так, в корневой index.php (не через систему плагинов) после закомментированных строк */ ниже вставить:

    
    
    /* ========= Last-Modified START ==================== */
    header('Expires: '.gmdate('D, d M Y H:i:s', time() + 10800).' GMT');
    header('Cache-Control: no-cache, must-revalidate');
    $mt = filemtime($file_name);
    $mt_str = gmdate("D, d M Y H:i:s ")."GMT";
    if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) &&
    strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $mt)
    {header('HTTP/1.1 304 Not Modified');
    die;
    }
    header('Last-Modified: '.$mt_str);
    echo $text;
    header("Vary: Accept-Encoding");
    header("Accept-Encoding:gzip,deflate,sdch");
    /* ========= Last-Modified END ====================== */

    SSI в настройках домена - отключить

    + 10800 в первой строчке это Москва (+3 часа). Time zone list / Epoch to time zone converter

    Проверка If-Modified-Since

    MfK7VWFx.jpg

     

    Или так:

    
    
    $LastModified_unix = 1294844676; // время последнего изменения страницы
    $LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
    $IfModifiedSince = false;
    if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
        $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5)); 
    if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
        $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
    if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
        exit;
    }
    header('Last-Modified: '. $LastModified);

     

    Теперь откройте webmaster.yandex.ru и проверьте ответ сервера изменив дату на любую другую кроме сегодняшнего дня. Получите 200 вместо 304.

    По идее сайт должен отдавать 304 если новость не изменился, особенно актуально для поисковых ботов, поможет экономить караулинговый бюджет. 

  12. 15 минут назад, Sander1 сказал:

    Мне нет смысла выдумывать.

    Операционная система: Linux 3.10.0-1062.18.1.el7.x86_64
    Версия PHP: 7.2.29
    Версия MySQL: 5.5.5-10.0.38-MariaDB
    
    
    dle_post             60,703    MyISAM    utf8mb4_general_ci    201.5 МБ    
    dle_post_extras      60,703    MyISAM    utf8mb4_general_ci    7.6 МБ

    Обычный кино-сайтец, где-то одно предложение в short_story, где-то абзац, где-то вообще нету. Поле xfields заполнено везде, примерно по 500 символов в каждом.

    
    
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    
    define('DATALIFEENGINE', true );
    define('ROOT_DIR', __DIR__);
    define('ENGINE_DIR', ROOT_DIR . '/engine');
    
    include_once ENGINE_DIR . '/classes/plugins.class.php';
    header('Content-type: text/plain; charset=utf-8');
    
    
    echo date('Y-m-d H:i:s') . ' dle_post_extras' . PHP_EOL;
    
    $ids = range(10000, 60000);
    shuffle($ids);
    $mt = microtime(true);
    for ($i = 0; $i < 10000; $i++) {
    	$id = array_pop($ids);
    	$db->query('UPDATE dle_post_extras SET news_read = news_read + 1 WHERE news_id = ' . $id);
    }
    echo round(microtime(true) - $mt, 3) . ' sec' . PHP_EOL . PHP_EOL;
    
    
    
    echo date('Y-m-d H:i:s') . ' dle_post' . PHP_EOL;
    
    $ids = range(10000, 60000);
    shuffle($ids);
    $mt = microtime(true);
    for ($i = 0; $i < 10000; $i++) {
    	$id = array_pop($ids);
    	$db->query('UPDATE dle_post SET views = views + 1 WHERE id = ' . $id);
    }
    echo round(microtime(true) - $mt, 3) . ' sec' . PHP_EOL . PHP_EOL;

    Результаты 4 замеров:

    
    
    2020-11-17 16:01:27 dle_post_extras
    1.251 sec
    
    2020-11-17 16:01:29 dle_post
    1.168 sec
    
    ------------------------------------
    
    2020-11-17 16:06:29 dle_post_extras
    1.488 sec
    
    2020-11-17 16:06:31 dle_post
    1.38 sec
    
    ------------------------------------
    
    2020-11-17 16:06:38 dle_post_extras
    1.279 sec
    
    2020-11-17 16:06:39 dle_post
    1.271 sec
    
    ------------------------------------
    
    2020-11-17 16:06:50 dle_post_extras
    1.443 sec
    
    2020-11-17 16:06:51 dle_post
    1.394 sec

    Сейчас на локалке сделаю 80к новостей в каждой заполнив shortstory по 1 - 10кб текста
    Так же проверю заполнив и fullstory по 30-60кб текста, хотя и считаю, что full_story следует перенести в post_extras.

    Если надо могу дать доступ к бд с 300к+ новостями, чисто контентый сайт, бд весит ~6 гб 

  13. Неделю назад я пробовал сделать правильный ответ 304, но не получилось. Пробовал самые разные костыли с интернета. При попытке изменить дату и проверить 304, получаю 200 даже если не было изменений, ну если просто проверить ответ сервера то любой новость выдавал 304 не смотря на обновленный контент.

    Проще говоря у меня все получилось наоборот :( 

    Еще в начале были проблемы с Last-Modified. Сервер не выдавал такую инфу, долго искал, наткнулся на форум 2017 года, там говорили про SSI в настройках WWW домена в ISP. Отключил эту функцию и все заработало, Last-Modified начал работать, но беда, голый Last-Modified никак не поможет...

    Так что лучше обратитесь к разработчикам с ТЗ, в самом DLE нет такой функций. Если что я готов поддержать / разделить расходы если найдете исполнителя.

  14. 20 часов назад, Ксанна сказал:

    https://narodural.ru/ Здравствуйте.Попыталась настроить экспорт новостей в вк.Одна новость скопировалась как-то .И все больше как не публикую.Ничего не попадает.Может у кого то есть инструкция?Что я не так делаю

    Там этот кэш мб выдаёт, и да вк не так часто проверят rss насколько помню. 

  15. Стандартными средствами не получится если не ошибаюсь.

    Надо написать плагин который вытащит данные из доп поля и сделает разделение каждого строка изображением. Потом где-то в шаблоне прописать {actors-foto} и будет выводиться много <img src...>

    Это так идея на ТЗ. Думаю будет недорого, хотя судя по бесплатному домену - пичаль

×
×
  • Создать...