Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Seo и внутренняя оптимизация dle. подборка статей и приемов

Discussion in 'Модули DLE' started by DLEPlugins, Aug 27, 2016.

27.08.16 в 05:00
25.07.22 в 13:06
201
232,083
20
  1. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    [​IMG]
    Привет. Решил собрать в кучку разные приемы и статьи по сео и внутренней оптимизации сайта. Статья будет добавляться и обновляться.
    - Зачем это? Уже ж есть всякие паки-каки.
    - Я заманался людям помогать чинить сайты после всяких таких паков. Все описанное ниже я использую лично у себя и проверял на себе. Не пишу от фонаря как некоторые.
    Статья будет делиться на 2 части - SEO и внутренняя оптимизация, и делиться по пунктам.

    Внутренняя оптимизация:
    Включив кэш в браузерах посетителей скорость загрузки страницы существенно увеличится.
    Тестировал на загруженном всякими скриптами и всевозможными наворотами шаблоне + напихал тяжеловесных картинок.
    До проделанной манипуляции страница загружалась 1-2 секунды, после она загружается моментально.

    Открываем .htaccess в корне сайта. Находим

    PHP:
    RewriteEngine On
    ниже вставляем

    PHP:
    # Включаем кэш в браузерах посетителей
    <ifModule mod_headers.c>
        
    # Все html и htm файлы будут храниться в кэше браузера один день
        
    <FilesMatch "\.(html|htm)$">
            
    Header set Cache-Control "max-age=43200"
        
    </FilesMatch>
        
    # Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю
        
    <FilesMatch "\.(js|css|txt)$">
            
    Header set Cache-Control "max-age=604800"
        
    </FilesMatch>
        
    # Все флэш файлы и изображения будут храниться в кэше браузера один месяц
        
    <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
            
    Header set Cache-Control "max-age=2592000"
        
    </FilesMatch>
        
    # Отключаем кеширование php и других служебных файлов
        
    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
            
    Header unset Cache-Control
        
    </FilesMatch>
    </
    IfModule>
    Будет полезно тем, у кого одна новость пренадлежит нескольким категориям.

    Хак был разработан Олегом Александровичем a.k.a. Sander.

    По утверждению автора на посещаемом сайте увеличится потребление оперативной памяти, зато уменьшается время отклика, увеличивается скорость формирования запроса.
    По этому сами решайте ставить этот хак или нет! Лично я поставил его себе.

    Открыть файл engine/engine.php
    Найти код:
    PHP:
                        $where_category "category = '{$get_cats}'";

                    }

                }
    После него вставить:
    PHP:
                $db->query("SELECT id FROM ".PREFIX."_post WHERE {$where_category} AND approve=1" $where_date);
                
    $ids = array();
                while(
    $r $db->get_row()) $ids[] = $r['id'];
                if(
    count($ids)) $ids implode(',',$ids);
                else 
    $ids 0;
                
    $where_category "id IN ($ids)";


    SEO оптимизация DLE

    Хак был разработан Олегом Александровичем a.k.a. Sander.
    Говорят, что для СЕО плохо, когда страница ссылается сама на себя. А именно это происходит в спидбаре при просмотре категории.
    Данный фикс исправляет это дело.

    Открыть файл engine/modules/functions.php
    Найти строку:
    PHP:
    function get_breadcrumbcategories($id$separator="&raquo;") {
    Заменить на:
    PHP:
    function get_breadcrumbcategories($id$separator="&raquo;",$rec=false) {
    Тут же ниже найти строку:
    PHP:
    $parent_id $cat_info[$id]['parentid'];
    После нее вставить:
    PHP:
        global $cstart$dle_module;
        if(
    $rec OR $cstart>OR $dle_module!='cat'$list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" $config['http_home_url'] . get_url$id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>";
        else 
    $list $cat_info[$id]['name'];
        if(
    $parent_id){
            
    $parent get_breadcrumbcategories($parent_id,$separator,true);
            if(
    $parent$list $parent $separator " $list;
        }
        return 
    $list;
    Автор АлаичЪ и Gameer
    Открываем /engine/engine.php, находим код :
    PHP:
    $metatags['title'] = $nam_e $page_extra ' &raquo; ' $metatags['title'];
    Меняем на:
    PHP:
    $metatags['title'] = $nam_e $page_extra;
    Далее ищем :
    PHP:
    $metatags['title'] = $titl_e $page_extra ' &raquo; ' $config['home_title'];
    Меняем на :
    PHP:
    $metatags['title'] = $titl_e $page_extra;
    Далее ищем код :
    PHP:
    if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title'].$page_extra);
    Меняем на:
    PHP:
    if ($do == "cat" and $category != '' and $subaction == ''//если категория
    {
        if(
    $cat_info[$category_id]['metatitle'])
            
    $metatags['title'] = isset($page_extra) ? stripslashes($cat_info[$category_id]['metatitle']) . $page_extra stripslashes($cat_info[$category_id]['metatitle']);
        elseif(
    $metatags['header_title'])
            
    $metatags['title'] = isset($page_extra) ? stripslashes($metatags['header_title']) . $page_extra stripslashes($metatags['header_title']);
        else
            
    $metatags['title'] = isset($page_extra) ? stripslashes($cat_info[$category_id]['name']) . $page_extra stripslashes($cat_info[$category_id]['name']);
    }
    elseif (
    $dle_module == "main"//если главная страница
        
    $metatags['title'] = isset($page_extra) ? stripslashes($config['home_title']) . $page_extra stripslashes($config['home_title']);
    elseif (
    $metatags['header_title']) $metatags['title'] = stripslashes($metatags['header_title']);
    Автор Gameer
    Открываем /engine/engine.php, находим :
    PHP:
    if ($config['speedbar'] AND !$view_template ) {

        
    $s_navigation "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"{$config['http_home_url']}\" itemprop=\"url\"><span itemprop=\"title\">" $config['short_title'] . "</span></a></span>";

        if( 
    $config['start_site'] == AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e "";

        if (
    intval($category_id)) $s_navigation .= {$config['speedbar_separator']} " get_breadcrumbcategories intval($category_id), $config['speedbar_separator'] );
        elseif (
    $do == 'tags') {

            if (
    $config['allow_alt_url']) $s_navigation .= {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" $config['http_home_url'] . "tags/\" itemprop=\"url\"><span itemprop=\"title\">" $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " $tag;
            else 
    $s_navigation .= {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"?do=tags\" itemprop=\"url\"><span itemprop=\"title\">" $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " $tag;

        } elseif (
    $nam_e$s_navigation .= {$config['speedbar_separator']} " $nam_e;

        if (
    $titl_e$s_navigation .= {$config['speedbar_separator']} " $titl_e;
        else {

            if ( isset(
    $_GET['cstart']) AND intval($_GET['cstart']) > ){

                
    $page_extra {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']);

            } else 
    $page_extra '';

            
    $s_navigation .= $page_extra;

        }

        
    $tpl->load_template 'speedbar.tpl' );
        
    $tpl->set '{speedbar}''<span id="dle-speedbar">' stripslashes $s_navigation ) . '</span>' );
        
    $tpl->compile 'speedbar' );
        
    $tpl->clear ();

    }
    Меняем на :
    PHP:
    if ($config['speedbar'] AND !$view_template ) {

        
    $s_navigation "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"{$config['http_home_url']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">" $config['short_title'] . "</span></a><meta property=\"position\" content=\"1\"></li>";

        if( 
    $config['start_site'] == AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e "";

        if (
    intval($category_id))
        {
            
    $cat_breadcrumb explode("|"get_breadcrumbcategories intval($category_id), $config['speedbar_separator'] ));
            
    $s_navigation .= {$config['speedbar_separator']} " $cat_breadcrumb[0];
        }
        elseif (
    $do == 'tags') {

            if (
    $config['allow_alt_url']) $s_navigation .= {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . "tags/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">" $lang['tag_cloud'] . "</span></a><meta property=\"position\" content=\"2\"></li> {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">" $tag "</span><meta property=\"position\" content=\"3\"></li>";
            else 
    $s_navigation .= {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"?do=tags\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">" $lang['tag_cloud'] . "</span></a><meta property=\"position\" content=\"2\"></li> {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">" $tag "</span><meta property=\"position\" content=\"3\"></li>";

        } elseif (
    $nam_e)
        {
            if(
    $dle_module == "showfull")
            {
                
    $cat_breadcrumb[1] = $cat_breadcrumb[1] + 1;
                
    $s_navigation .= {$config['speedbar_separator']} " "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$nam_e}</span><meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"></li>";
            }
            else
            {
                
    $s_navigation .= {$config['speedbar_separator']} " "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$nam_e}</span><meta property=\"position\" content=\"2\"></li>";
            }
        }

        if (
    $titl_e)
        {
            if(isset(
    $cat_breadcrumb[1]) && !is_null($cat_breadcrumb[1]))
                
    $cat_breadcrumb[1] = $cat_breadcrumb[1] + 1;
            else
                
    $cat_breadcrumb[1] = 3;
            
    $s_navigation .= {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$titl_e}</span><meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"></li>";
        }
        else {

            if ( isset(
    $_GET['cstart']) AND intval($_GET['cstart']) > ){
                
    $cat_breadcrumb[1]++;
                
    $page_extra {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">".$lang['news_site']." ".intval($_GET['cstart']) . "</span><meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"></li>";

            } else 
    $page_extra '';

            
    $s_navigation .= $page_extra;

        }

        
    $tpl->load_template 'speedbar.tpl' );
        
    $tpl->set '{speedbar}''<ol vocab="http://schema.org/" typeof="BreadcrumbList">' stripslashes $s_navigation ) . '</ol>' );
        
    $tpl->compile 'speedbar' );
        
    $tpl->clear ();

    }
    Далее открываем /engine/modules/functions.php, находим :
    PHP:
    function get_breadcrumbcategories($id$separator="&raquo;") {

        global 
    $cat_info$config$PHP_SELF;

        if( ! 
    $id ) return;

        
    $parent_id $cat_info[$id]['parentid'];

        if( 
    $config['allow_alt_url'] ) $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" $config['http_home_url'] . get_url$id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>";
        else 
    $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>";

        while ( 
    $parent_id ) {

            if( 
    $config['allow_alt_url'] ) $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" $config['http_home_url'] . get_url$parent_id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" {$separator} " $list;
            else 
    $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" {$separator} " $list;

            
    $parent_id $cat_info[$parent_id]['parentid'];

            if(
    $parent_id) {
                if( 
    $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
            }
        }

        return 
    $list;
    }
    Меняем на :
    PHP:
    function get_breadcrumbcategories($id$separator="&raquo;") {

        global 
    $cat_info$config$PHP_SELF$dle_module;

        if( ! 
    $id ) return;

        
    $parent_id $cat_info[$id]['parentid'];
        
    $first_id_p $parent_id;
        
    $i 1;
        while(
    $parent_id)
        {
            
    $i++;
            
    $parent_id $cat_info[$parent_id]['parentid'];
            if(
    $parent_id)
                if( 
    $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
        }

        
    $i += 1;
        
    $parent_id $first_id_p;
        if(
    $parent_id == 0)
        {
            
    $id_i 2;
            if(
    $dle_module == "cat")
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"2\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"2\"></li>";
            }
            else
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . get_url$id ) . "/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"2\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"2\"></li>";
            }
        }
        else
        {
            
    $id_i 3;
            if(
    $dle_module == "cat")
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"{$i}\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"{$i}\"></li>";
            }
            else
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . get_url$id ) . "/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"3\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"3\"></li>";
            }
        }
        while ( 
    $parent_id ) {
            
    $i--;
            if(
    $dle_module != "cat")
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . get_url$parent_id ) . "/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span></a><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span></a><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
            }
            else
            {
                if(
    $id != $cat_info[$parent_id]['id'])
                    
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a property=\"item\" typeof=\"WebPage\" href=\"" $config['http_home_url'] . get_url$parent_id ) . "\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span></a><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
                else
                    
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
            }
            
    $parent_id $cat_info[$parent_id]['parentid'];
            if(
    $parent_id) {
                if( 
    $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
            }
        }
        return 
    $list "|" $id_i;
    }
    Далее открываем .css файл который используется где и хлебные крошки и вставляем :
    PHP:
    ol[typeof=BreadcrumbList]
    {
        
    display:inline-block;
        list-
    style:none!important;
    }
    ol[typeof=BreadcrumbList] > li
    {
        
    display:inline-block;
    }
    4. Ставим микро-разметку open graph для яндекс
    5. Ставим микро-разметку под твиттер
    6. Ставим микро-разметку schema для google
    В этом пункте мы преобразуем title и добавим в него ключи. Что туда добавлять решайте сами, я же опишу вам как это делается.
    Открываем /engine/modules/show.full.php и ищем в нем
    PHP:
    $metatags['title'] = $row['title'];
    меняем на
    PHP:
    $metatags['title'] = "Смотреть онлайн " $row['title'] . " бесплатно в HD";
    Допустим вы хотите задать title в зависимости от категории, для фильмов один, для сериалов другой, для анонсов или трейлеров третий. Тогда добавим проверку на категорию. Для этого
    PHP:
    $metatags['title'] = $row['title'];
    заменяем на
    PHP:
    if ($category_id == OR $category_id == 6$metatags['title'] = "Смотреть онлайн фильм " $row['title'] . " бесплатно в HD";
    elseif (
    $category_id == OR $category_id == OR $category_id == OR $category_id == 4$metatags['title'] = "Смотреть онлайн сериал " $row['title'] . " бесплатно в HD";
    else 
    $metatags['title'] = "Смотреть онлайн трейлер " $row['title'] . " бесплатно в HD";
    Не забудьте проставить свои категории id
    8. Делаем ссылку на полную новость как на кинопоиске
    или (одно из двух)
    9. Делаем ссылку на полную новость вида сайт.ру/категория/id/чпу-новости/
    Внимание пункты 8 и 9 - выбераем что-то одно из двух, либо можно оставить все как есть с коробки dle, + в том что можно добавить ключи прямо в ссылку, используя эти пунты
    10. Добавляем мета-тег canonical для ссылки на полную новость (важно)
    11. Aggregaterating для dle - микроразметка для рейтинга новости


    Каждый может предложить свои варианты, я протестирую и добавлю в статью, если все работает
     
    #1 DLEPlugins, Aug 27, 2016
    Last edited: Aug 30, 2016
    • Нравится Нравится x 20
    • Полезно Полезно x 2
  2. aeneas

    Забанен

    Joined:
    Mar 12, 2016
    Messages:
    11,450
    Best Answers:
    10
    Ratings:
    +4,027 / 208 / -0
    у меня категории и главная шустро а сами страницы с фильмами бывает по минуте открываются ) как исправить )
     
  3. Sergy

    Staff Member VIP Кинотрафик v2

    Joined:
    Jun 13, 2016
    Messages:
    698
    Best Answers:
    0
    Ratings:
    +243 / 3 / -0
    #UPD:
    "К сожалению на посещаемом сайте данный хак оказался не столь производительным. Из-за повышенной длинны запроса он стал потреблять на порядок больше оперативной памяти."

    З.Ы. - Спасибо за подборку - но вот этот момент надо было добавить обязательно !)
     
    • Нравится Нравится x 1
  4. Sergy

    Staff Member VIP Кинотрафик v2

    Joined:
    Jun 13, 2016
    Messages:
    698
    Best Answers:
    0
    Ratings:
    +243 / 3 / -0
    И по поводу кеша - Пафнутого реккомендация такая если все правильно скопировал когда-то
    И еще стоит добавить что это работает ТОЛЬКО НА ЧИСТОМ АПАЧЕ если работает нгикс - то это не работает
    <IfModule mod_expires.c>
    ExpiresActive on

    ExpiresDefault "access plus 1 month"

    # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
    ExpiresByType text/cache-manifest "access plus 0 seconds"

    # html
    ExpiresByType text/html "access plus 0 seconds"

    # XML
    ExpiresByType text/xml "access plus 0 seconds"
    ExpiresByType application/xml "access plus 0 seconds"

    # RSS
    ExpiresByType application/rss+xml "access plus 1 hour"

    # Favicon
    ExpiresByType image/x-icon "access plus 1 week"

    # Картинки
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"

    # HTC файлы (например css3pie)
    ExpiresByType text/x-component "access plus 1 month"

    # Нестандартные шрифты сайта
    ExpiresByType application/x-font-ttf "access plus 1 month"
    ExpiresByType font/opentype "access plus 1 month"
    ExpiresByType application/x-font-woff "access plus 1 month"
    ExpiresByType image/svg+xml "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

    # CSS и javascript
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"

    </IfModule>

    # Cache-Control браузера
    <ifModule mod_headers.c>
    # 30 дней
    <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
    </filesMatch>
    # 30 дней
    <filesMatch "\.(css|js)$">
    Header set Cache-Control "max-age=2592000, public"
    </filesMatch>
    # 2 дня
    <filesMatch "\.(xml|txt)$">
    Header set Cache-Control "max-age=172800, public, must-revalidate"
    </filesMatch>
    # 1 день
    <filesMatch "\.(html|htm|php)$">
    Header set Cache-Control "max-age=172800, private, must-revalidate"
    </filesMatch>
    </ifModule>

    <IfModule mod_setenvif.c>
    #Эта конструкция для говнобраузера
    #Запрет отдачи HTTP-заголовков Vary
    BrowserMatch "MSIE" force-no-vary
    BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
    </IfModule>
     
    • Нравится Нравится x 2
  5. Keiskar

    Забанен

    Joined:
    Jul 2, 2015
    Messages:
    855
    Best Answers:
    0
    Ratings:
    +386 / 0 / -0
    Вот приложу сжатие для nginx:
    Code:
    expires max;
    gzip on;
    gzip_min_length 1000;
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/javascript text/xml text/javascript application/x-javascript application/xml application/rss+xml application/atom+xml applicatio$
    gzip_disable "msie6";
    gzip_comp_level 6;
     
    • Нравится Нравится x 1
  6. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    Я там вписал, что больше оперативки ест и ставить или нет, решайте сами. У меня vps и оперативно свободной нормально, я его использую. На обычном хостинге конечно лучше не ставитт
     
  7. Romantv

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
  8. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
  9. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    • Нравится Нравится x 1
  10. Romantv

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
    с чего ты взял что она не нравится?и встроенная тоже работает,
     
  11. Romantv

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
    но как же он будет против,стоять рядом со реальными профи,ты на пример откажешся на одной странице напишут про тебя и президента
     
  12. madpitbull

    madpitbull Бывалый

    Joined:
    Sep 26, 2015
    Messages:
    395
    Best Answers:
    0
    Ratings:
    +60 / 6 / -0
    а у меня такой код стоит, не помню откуда ставил

    Code:
    //разные title для страниц пагинации, для первой полный title, для пагинации короткий
    if ($do == "cat" and $category != '' and $subaction == '') { //если категория
        if ( $metatags['header_title'] and ! $page_extra ) $metatags['title'] = stripslashes($metatags['header_title']);
        else $metatags['title'] = stripslashes($cat_info[$category_id]['name']) . $page_extra;
    } elseif ($dle_module == "main") { //если главная страница
        if ( ! $page_extra ) $metatags['title'] = stripslashes($config['home_title']);
        else $metatags['title'] = stripslashes($config['short_title']) . $page_extra;
    } elseif ($metatags['header_title']) $metatags['title'] = stripslashes($metatags['header_title']);
    //разные title для страниц пагинации, для первой полный title, для пагинации короткий
    в чем отличие, ставить твой или можно оставить то что есть?
     
  13. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    Ты брал на сайте Алаича или там, где у него взяли етот код. Как писал выше геймер он подправил под новые версии dle. Та часть что ты цитировал была адаптирована им. Думаю лучше от геймера использовать, так как код который стоит у тебя был написан еще на 9 dle
     
    • Нравится Нравится x 1
  14. Ysol33

    Staff Member VIP Кинотрафик v2

    Joined:
    Apr 21, 2015
    Messages:
    856
    Best Answers:
    0
    Ratings:
    +213 / 0 / -0
    Если код для сжатия связки апача и nginx
     
  15. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    первый пункт Внутренней оптимизации тебе должен подойти, попробуй. У меня тоже связка стоит
     
  16. europa1988

    europa1988 Бывалый

    Joined:
    Feb 24, 2016
    Messages:
    613
    Best Answers:
    2
    Ratings:
    +113 / 11 / -0
    а что если было так site.ru » драма » Милый Ханс, дорогой Петр (2015)

    стало так

    site.ru
    »
    драма
    »
    Милый Ханс, дорогой Петр (2015)

    так стало после манипуляций приведенных выше
     
    #16 europa1988, Aug 30, 2016
    Last edited: Aug 30, 2016
  17. new

    new
    Забанен

    Joined:
    Aug 14, 2016
    Messages:
    537
    Best Answers:
    0
    Ratings:
    +242 / 0 / -0
    Это в файл nginx.conf?
     
  18. Keiskar

    Забанен

    Joined:
    Jul 2, 2015
    Messages:
    855
    Best Answers:
    0
    Ratings:
    +386 / 0 / -0
    • Нравится Нравится x 1
  19. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    Каких именно?
     
  20. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    добавил пункты 7-11 для seo оптимизации
     
Яндекс.Метрика