Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Сео-оптимизация phpbb3 2011-11-30

Аватар пользователя

Введение. В сети множество мануалов по этой теме, вот и я решил немного написать об этом. Под сео-оптимизацией я понимаю такие улучшения форума, которые помогают поисковым системам быстрее и качественней индексировать форум, и как следствие лучшие выдачи в поисковых запросах. Впринципе не будем заморачиваться именно на всех тонкостях, расскажу о оптимизации заголовков и метатегов.
Внимание !!!Если вы не боитесь ковырять код форума, то вам следует пропустить первый шаг(установку мода) и обратить внимание на модификации и и , так как с помощью них вы можете вручную задать нужные описания и ключевые слова, мод представленный ниже делает это автоматически, но в результате можете получить кашу из тегов и не ахти какие популярные ключевые слова !!! А так же в любом случае нужно установить мод карты сайта (сайтмап, sitemap) для ускорения индексации форума поисковиками -

Шаг 1. Метатеги. Автоматический вывод метатегов и заполнение их.
Что такое метатеги ??? А метатеги это необязательные теги языков HTML и XMTL, которые не преднаназчены для посетителей сайта, они направлены на поисковые машины. К оформлению метатегов нужно отнестись очень серьезно, т.к. их поисковики используют в сниппетах, то есть показывают его содержимое в результатах поиска в качестве описания страницы. От того, насколько это описание соответствует тому, что ищет пользователь, во многом зависит, перейдет ли он на ваш сайт или на соседний в результатах поиска.

В стандартной, чистой инсталке форума метатеги забиты жестко, регулируются прямыми правками в файлах и отображаются для всех страниц тем одинаковыми. Представьте себе сколько форумов-клонов с мире с одинаковыми метатегами ??? Коллосальное число, оптимизации ноль, шансы перед поисковиками равны. С модом, описанным ниже, ваши позиции возрастут по сравнению с неоптимизированными форумами.

Установка.
Скачать и установить по инструкции мод из архива
Вложение :
Advanced Meta Tags.rar [29.42 KiB]
Скачиваний: 384


A Обратите внимание !!!
Сразу же в процессе установки мода нам надо решить проблему с тем, что мод не выводит русские ключевики.
Решение под спойлером
Решение - открыть includes/functions.php (перед правкой установить кодировку данного файла в UTF-8 без BOOM) и найти
 // Advanced Meta Tags MOD
   $page_keywords = $config['global_keywords'];
   $page_description = $config['site_desc'];
   
   if (!empty($post_text))
   {
      $post_text = strtolower(strip_tags($post_text));
      $post_text = str_word_count($post_text, 1);
      if ($config['use_dynamic_keywords'])
      {
         $count = 0;
         $page_keywords = array();
         foreach ($post_text as $word)
         {
            $word = str_replace("'", '', $word);
           
            if (strlen($word) > 2)
            {
               if (!empty($page_keywords) && in_array($word, $page_keywords))
               {
                  continue;
               }
               $page_keywords[] = $word;
               $count++;
            }
           
            if ($count == $config['keyword_word_count'])
            {
               break;
            }
         }
         $config_keywords = ($config['append_global_keywords']) ? $config['global_keywords'] : '';
         $page_keywords = ($config['append_keywords_first']) ? $config_keywords . ', ' . implode(', ', $page_keywords) : implode(', ', $page_keywords) . ', ' . $config_keywords;
      }
     
      if ($config['use_dynamic_description'])
      {
         $count = 0;
         $page_description = '';
         foreach ($post_text as $word)
         {
            $page_description .= $word . ' ';
            $count++;
           
            if ($count == $config['description_word_count'])
            {
               break;
            }
         }
      }
   }
 

Заменить найденное на
       // Meta Keywords MOD 2.0
       $stopwords = array("/^about$/","/^1$/","/^after$/","/^2$/","/^all$/","/^also$/","/^3$/","/^an$/","/^4$/","/^and$/","/^5$/","/^another$/","/^6$/","/^any$/","/^7$/","/^are$/","/^8$/","/^as$/","/^9$/","/^at$/","/^0$/","/^be$/","/^$$/","/^because$/","/^been$/","/^before$/","/^being$/","/^between$/","/^both$/","/^but$/","/^by$/","/^came$/","/^can$/","/^come$/","/^could$/","/^did$/","/^do$/","/^each$/","/^for$/","/^from$/","/^get$/","/^got$/","/^has$/","/^had$/","/^he$/","/^have$/","/^her$/","/^here$/","/^him$/","/^himself$/","/^his$/","/^how$/","/^if$/","/^in$/","/^into$/","/^is$/","/^it$/","/^like$/","/^make$/","/^many$/","/^me$/","/^might$/","/^more$/","/^most$/","/^much$/","/^must$/","/^my$/","/^never$/","/^now$/","/^of$/","/^on$/","/^only$/","/^or$/","/^other$/","/^our$/","/^out$/","/^over$/","/^said$/","/^same$/","/^see$/","/^should$/","/^since$/","/^some$/","/^still$/","/^such$/","/^take$/","/^than$/","/^that$/","/^the$/","/^their$/","/^them$/","/^then$/","/^there$/","/^these$/","/^they$/","/^this$/","/^those$/","/^through$/","/^to$/","/^too$/","/^under$/","/^up$/","/^very$/","/^was$/","/^way$/","/^we$/","/^well$/","/^were$/","/^what$/","/^where$/","/^which$/","/^while$/","/^who$/","/^with$/","/^would$/","/^you$/","/^your$/","/^а$/","/^безо$/","/^более$/","/^будем$/","/^будет$/","/^будто$/","/^буду$/","/^будут$/","/^бы$/","/^были$/","/^было$/","/^быть$/","/^в$/","/^в отношении$/","/^в течении$/","/^вас$/","/^ваш$/","/^вблизи$/","/^вбок$/","/^ввосьмером$/","/^в-восьмых$/","/^ввысь$/","/^вдали$/","/^вдаль$/","/^вдвое$/","/^вдвоем$/","/^вдвойне$/","/^вдевятером$/","/^в-девятых$/","/^вдесятеро$/","/^вдогон$/","/^вдогонку$/","/^вдоль$/","/^вдосталь$/","/^вдруг$/","/^верх$/","/^весь$/","/^взамен$/","/^вид$/","/^видно$/","/^вкратце$/","/^вкупе$/","/^вместо$/","/^вне$/","/^внешне$/","/^вниз$/","/^внизу$/","/^вновь$/","/^внутри$/","/^внутрь$/","/^во$/","/^во время$/","/^вовне$/","/^вовсе$/","/^вовсю$/","/^во-первых$/","/^воз$/","/^возле$/","/^воочию$/","/^вопреки$/","/^вот$/","/^впредь$/","/^в-пятых$/","/^вровень$/","/^врознь$/","/^врозь$/","/^вряд ли$/","/^в-седьмых$/","/^все$/","/^всего$/","/^все-таки$/","/^вслед$/","/^всплошную$/","/^вспять$/","/^всюду$/","/^в-третьих$/","/^в-шестых$/","/^вы$/","/^выше$/","/^где$/","/^где-либо$/","/^где-нибудь$/","/^где-то$/","/^да$/","/^дабы$/","/^далее$/","/^де$/","/^для$/","/^до$/","/^другие$/","/^других$/","/^его$/","/^едва$/","/^едва-едва$/","/^ее$/","/^еле$/","/^если$/","/^есть$/","/^еще$/","/^ж$/","/^же$/","/^за$/","/^заключается$/","/^зато$/","/^зачем$/","/^зачем-либо$/","/^зачем-нибудь$/","/^зачем-то$/","/^и$/","/^из$/","/^из-за$/","/^или$/","/^имеющее$/","/^имеющие$/","/^имеющий$/","/^имеющим$/","/^иначе$/","/^итого$/","/^их$/","/^к$/","/^как$/","/^как-либо$/","/^как-нибудь$/","/^какой$/","/^какой-то$/","/^как-то$/","/^кверху$/","/^ко$/","/^когда$/","/^когда-либо$/","/^когда-нибудь$/","/^когда-то$/","/^кое$/","/^кое-где$/","/^кое-как$/","/^кое-какой$/","/^кое-когда$/","/^кое-кто$/","/^кое-куда$/","/^кое-откуда$/","/^кое-чей$/","/^кое-что$/","/^который$/","/^который$/","/^который-либо$/","/^который-нибудь$/","/^кто-либо$/","/^кто-нибудь$/","/^кто-то$/","/^куда$/","/^куда-либо$/","/^куда-нибудь$/","/^куда-то$/","/^ли$/","/^либо$/","/^ль$/","/^мало$/","/^меж$/","/^мимо$/","/^может$/","/^можно$/","/^мы$/","/^на$/","/^над$/","/^надо$/","/^намного$/","/^наш$/","/^не$/","/^него$/","/^некий$/","/^некогда$/","/^некого$/","/^некто$/","/^нем$/","/^немало$/","/^немного$/","/^несколько$/","/^нет$/","/^нечего$/","/^ни$/","/^нигде$/","/^никакой$/","/^никогда$/","/^никто$/","/^никуда$/","/^ним$/","/^нисколько$/","/^ничей$/","/^ничто$/","/^но$/","/^о$/","/^об$/","/^обе$/","/^обо$/","/^однако$/","/^около$/","/^он$/","/^она$/","/^они$/","/^опять$/","/^особенно$/","/^от$/","/^от$/","/^откуда$/","/^откуда-либо$/","/^откуда-нибудь$/","/^откуда-то$/","/^относится$/","/^относятся$/","/^отнюдь$/","/^ото$/","/^отсюда$/","/^оттого$/","/^по$/","/^под$/","/^подле$/","/^подо$/","/^подчас$/","/^позднее$/","/^позже$/","/^пока$/","/^полно$/","/^помимо$/","/^поначалу$/","/^понемногу$/","/^по-прежнему$/","/^порой$/","/^по-своему$/","/^поскольку$/","/^после$/","/^посредине$/","/^постольку$/","/^потом$/","/^потому$/","/^почему$/","/^почему-либо$/","/^почему-нибудь$/","/^почему-то$/","/^почти$/","/^поэтому$/","/^пред$/","/^предо$/","/^представляет$/","/^прежде$/","/^при$/","/^про$/","/^просто$/","/^против$/","/^прямо$/","/^путем$/","/^путем$/","/^ради$/","/^разве$/","/^разом$/","/^ранее$/","/^с$/","/^себе$/","/^сквозь$/","/^сколь$/","/^сколько$/","/^сколько-нибудь$/","/^сколько-то$/","/^сложно$/","/^служащее$/","/^служащие$/","/^служащим$/","/^служит$/","/^сначала$/","/^снова$/","/^со$/","/^собой$/","/^совсем$/","/^содержащее$/","/^содержащий$/","/^содержит$/","/^сообразно$/","/^сперва$/","/^спереди$/","/^сразу$/","/^среди$/","/^средь$/","/^столь$/","/^столько$/","/^та$/","/^так$/","/^такой$/","/^так как$/","/^так что$/","/^также$/","/^там$/","/^то$/","/^тогда$/","/^того$/","/^тоже$/","/^только$/","/^том$/","/^тот$/","/^тут$/","/^у$/","/^уже$/","/^хоть$/","/^хотя$/","/^чего$/","/^чего-то$/","/^чей$/","/^чей-либо$/","/^чей-нибудь$/","/^чей-то$/","/^чем$/","/^через$/","/^что$/","/^что-либо$/","/^что-нибудь$/","/^что-то$/","/^чтоб$/","/^чтобы$/","/^чуть$/","/^чье-либо$/","/^чье-нибудь$/","/^чье-то$/","/^эти$/","/^этим$/","/^этих$/","/^это$/","/^этом$/","/^я$/","/^этот$/","/^оно$/");
       $page_keywords = $config['global_keywords'];
       $page_description = $config['site_desc'];
       
       if (!empty($post_text))
       {
          $post_text = utf8_strtolower(strip_tags($post_text));
          $post_text = explode(" ", $post_text);
          if ($config['use_dynamic_keywords'])
          {
             $count = 0;
             $page_keywords = array();
             foreach ($post_text as $word)
             {
                $word = str_replace("'", '', $word);
                $word = eregi_replace("\n{1,}|\r{1,}|\n\r{1,}","",$word);
                $word = preg_replace($stopwords,"",$word);
                if (strlen($word) > 3)
                {
                   if (!empty($page_keywords) && in_array($word, $page_keywords))
                   {
                      continue;
                   }
                   $page_keywords[] = $word;
                   $count++;
                }
               
                if ($count == $config['keyword_word_count'])
                {
                   break;
                }
             }
             $config_keywords = ($config['append_global_keywords']) ? $config['global_keywords'] : '';
             $page_keywords = ($config['append_keywords_first']) ? $config_keywords . ', ' . implode(', ', $page_keywords) : implode(', ', $page_keywords) . ', ' . $config_keywords;
          }
         
          if ($config['use_dynamic_description'])
          {
             $count = 0;
             $page_description = '';
             foreach ($post_text as $word)
             {
                $word = str_replace("'", '', $word);
                $word = eregi_replace("\n{1,}|\r{1,}|\n\r{1,}","",$word);

                $page_description .= $word . ' ';
                $count++;
               
                if ($count == $config['description_word_count'])
                {
                   break;
                }
             }
          }
       }
       
 

И после этого мод корректно заработает


Руссификация
Открыть language/ru/acp/board.php и найти
    'WARNINGS_EXPIRE_EXPLAIN'
));
 

Добавить после
// Advanced Meta Tags MOD
$lang = array_merge($lang, array(
    'APPEND_GLOBAL_KEYWORDS'                => 'Глобальные ключевые слова ',
    'APPEND_GLOBAL_KEYWORDS_EXPLAIN'=> 'Добавить глобальные ключевые слова к сгенерированным',
    'APPEND_KEYWORDS_FIRST'                 => 'Место глобальных ключевых слов',
    'APPEND_KEYWORDS_FIRST_EXPLAIN' => 'Да - Глобальные перед сгенерированными,<br />Нет - Глобальные после сгенерированных',
    'DESCRIPTION_WORD_COUNT'                => 'Лимит сгенерированных слов',
    'DYNAMIC_DESCRIPTION'                   => 'Включить в страницу сгенерированное описание',
    'DYNAMIC_KEYWORDS'                              => 'Включить сгенерированные слова',
    'GLOBAL_KEYWORDS'                               => 'Глобальные ключевые слова',
    'KEYWORD_WORD_COUNT'                    => 'Лимит слов в описании',
));
 


Для стиля на любой верстке
Открыть /styles/ваш стиль/overall_header.html и найти
<meta name="keywords" content="" />
<meta name="description" content="" />
 

Заменить на
<meta name="keywords" content="{PAGE_KEYWORDS}" />
<meta name="description" content="{PAGE_DESCRIPTION}" />
 


Настраиваем мод на свой вкус - Админка - Настройки Форума и больше не паримся насчет метатегов


Шаг 2. Заголовки - Просмотр темы, Просмотр форума, Главная страница.
Стандартные заголовки или тайтлы (от названия тега <title>) форума ничего общего с сео-оптимизацией не имеют. Лишние слова, такие как «Просмотр форума», «Просмотр темы», «Главная», и притом одинаковые для всех тем и разделов, мы постараемся убрать в этом шаге.

Избавляемся от «Главная страница»
Открываем index.php и находим
page_header($user->lang['INDEX']);
 

Заменяем на
page_header();
 


Избавляемся от «Просмотр форума»
Открываем viewforum.php и находим
page_header($user->lang['VIEW_FORUM'] . ' - ' . $forum_data['forum_name'], true, $forum_id);
 

Заменяем на
page_header($forum_data['forum_name'], true, $forum_id);
 


Избавляемся от «Просмотр темы»
Открываем viewtopic.php и находим
page_header($user->lang['VIEW_TOPIC'] . ' - ' . $topic_data['topic_title'], true, $forum_id);
 

Заменяем на
page_header($topic_data['topic_title'], true, $forum_id);
 

Если установлен мод, описанный выше,то данная строка должна иметь вид(после правок)
page_header($topic_data['topic_title'], true, $first_post_text, $forum_id);
 


Шаг 3. Оптимизация alt-ов вложенных изображений и картинок
Те, кто знаком с тем, чем хорош валидный код, знают наверняка, что любому изображению в коде должен быть присвоен тег (атрибут) alt, аналог title для ссылок. В phpBB3 присутствует такая наработка, но в alt вложенных изображений выводится само имя картинки. А так как в большинстве своем народ, прилепляющий изображения оригинальностью не блещет, то в alt попадают такие имена картинок как 1.png или безымянный.png. Вообщем логику вы поняли, с помощью таких alt-ов повысить позиции в выдаче ( допустим по поиску картинок) не получится. Надо дорабатывать, а я вам предложу способ как это сделать. На мой взгляд лучше в альт выводить имя темы, в которой расположена картинка.
Для примера вот неоптимизированный alt
Вложение :
Комментарий к файлу: неоптимизированный alt в phpBB3


А вот alt после приведенных ниже правок, различия очевидны
Вложение :
Комментарий к файлу: оптимизированный alt в phpBB3


Итак открываем includes/functions_content.php и находим
  if (!sizeof($attachments))
    {
        return;
    }

    global $template, $cache, $user;
    global $extensions, $config, $phpbb_root_path, $phpEx;
 

Вставляем после найденного
  global $topic_data; 
 

Находим
  'COMMENT'            => $comment, 
 

И вставляем после
 'TOPIC_TITLE'        => censor_text($topic_data['topic_title']), 
 

Открываем styles/ваш стиль/template/attachment.html и 2 раза находим код
alt="{_file.DOWNLOAD_NAME}"
 

Заменяем его на
alt="{_file.TOPIC_TITLE}"
 

Вот и все правки и оптимизация alt-ов вложенных изображений

Шаг 4. Семантическая разметка
1.
2.

Шаг 5. Добавляем номер страницы в тайтл
Выше я описывал способ как убрать из тайтла страницы текст Просмотр форума и Просмотр Темы, если так подумать, то теперь у вас получается, к примеру, в подфоруме есть 3 страницы с темами, но они имеют одинаковый тайтл, а так же если в теме более 1 страницы сообщений, то эти страницы так же имеют одинковый тайтл. Надо это исправить, добавим после имени подфорума (или названия темы) текст - Страница N, где N - число, порядковый номер страницы.
Для страницы просмотра подфорумов, открыть viewforum.php и найти строку начинающуюся с page_header и заменить всю строку на
$extra_title = ($start > 0) ? ' - ' . $user->lang['Page'] . ( floor( $start / $config['topics_per_page'] ) + 1 ) : '';
page_header($forum_data['forum_name'] . $extra_title, true, $forum_id);
 

Для страницы просмотра темы, открыть viewtopic.php и найти строку начинающуюся с page_header и заменить всю строку на
$extra_title = ($start > 0) ? ' - ' . $user->lang['Page'] . ( floor ($start / $config['posts_per_page'] ) + 1 ) : '';
page_header($topic_data['topic_title'] . $extra_title, true, $forum_id);
 

Если у вас установлен мод , то нужно еще найти строку
'TOPIC_SEO_TITLE'   => (isset($topic_data['topic_seo_title'])) ? $topic_data['topic_seo_title'] : '',
 

Вставить после найденного
'PAGENUM'   => ($start > 0) ? ' - ' . $user->lang['Page'] . ( floor ($start / $config['posts_per_page'] ) + 1 ) : '',
 

Открыть styles/Ваш стиль/template/overall_header.html и найти
{TOPIC_SEO_TITLE}
 

Вставить после найденного
{PAGENUM}
 

Так же нужно открыть language/ru/common.php и найти
'CHANGING_PROFILE'         => 'Изменение настроек профиля',
 

Вставить после найденного
'Page' => 'Страница ',
 


Шаг 6. Убираем имя форума со страницы просмотра подфорумов (viewforum.php)
На досуге посетила одна мысль - а зачем нам вообще отображение имени форума в тайтле страницы просмотра подфорумов (viewforum.php) ??? Там обычно идет (на неоптимизированном форуме) так - Просмотр форума - Имя подфорума(раздела) - Имя форума, после оптимизации, описанной выше у вас должно получиться так - Имя подфорума(раздела) - Имя форума, а после правок, описанных ниже, у вас должно получиться так - - Имя подфорума(раздела). На мой взгляд так более красиво выглядит, вообщем если заинтересовало, то открываем шаблон overall_header.html вашего стиля и находим
 

Вставляем после найденного
<!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSE -->
 

Находим
</title>
 

Вставляем перед найденным
<!-- ENDIF -->
 

Чистим кеш и вуаля :-0=)


Шаг 7. Открываем для индексации картинки-вложения
Внимание !!! Данный метод конфликтует с !!!

Наверняка, многие из вас думали что разрешив ботам скачивать вложения, эти самые боты будут индексировать картинки-вложения. Не тут то было, фигушки. Давайте решим это недоразумение, пусть в индекс и картинки с форума попадают. Для начала открываем корневой .htaccess и добавляем в него
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^fpit/.*_(\d+)\.(gif|jpg|jpeg|bmp|png|tiff|tif|tga)$ download/file.php?id=$1&t=1 [NC]
RewriteRule ^fpin/.*_(\d+)\.(gif|jpg|jpeg|bmp|png|tiff|tif|tga)$ download/file.php?id=$1&mode=view [NC]
RewriteRule ^fpid/.*_(\d+)\.(gif|jpg|jpeg|bmp|png|tiff|tif|tga)$ download/file.php?id=$1 [NC]
</IfModule>
 

Потом открываем download\file.php и находим
if ($display_cat == ATTACHMENT_CATEGORY_IMAGE && $mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && ((strpos(strtolower($user->browser), 'msie') !== false) && (strpos(strtolower($user->browser), 'msie 8.0') === false)))
{
   wrap_img_in_html(append_sid($phpbb_root_path . 'download/file.' . $phpEx, 'id=' . $attachment['attach_id']), $attachment['real_filename']);
   file_gc();
}
 

Заменяем найденное на
if ($display_cat == ATTACHMENT_CATEGORY_IMAGE && $mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && ((strpos(strtolower($user->browser), 'msie') !== false) && (strpos(strtolower($user->browser), 'msie 8.0') === false)))
{
   send_file_to_browser($attachment, $config['upload_path'], $display_cat);
   file_gc();
}
 

Находим
if (empty($user->browser) || (!$is_ie8 && (strpos(strtolower($user->browser), 'msie') !== false)))
      {
         header('Content-Disposition: attachment; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
         if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie 6.0') !== false))
         {
            header('expires: -1');
         }
      }
      else
      {
         header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
         if ($is_ie8 && (strpos($attachment['mimetype'], 'image') !== 0))
         {
            header('X-Download-Options: noopen');
         }
      }
 

И заменяем найденное на
      if (empty($user->browser) || (!$is_ie8 && (strpos(strtolower($user->browser), 'msie') !== false)))
      {
         if (false === strpos($attachment['mimetype'], 'image'))
         header('Content-Disposition: attachment; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
         if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie 6.0') !== false))
         {
            header('expires: -1');
         }
      }
      else
      {
         if (false === strpos($attachment['mimetype'], 'image'))
         header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
         if ($is_ie8 && (strpos($attachment['mimetype'], 'image') !== 0))
         {
            header('X-Download-Options: noopen');
         }
      }
 

Открываем файл includes/functions_content.php и находим
function parse_attachments($forum_id, &$message, &$attachments, &$update_count, $preview = false)
{
   if (!sizeof($attachments))
   {
      return;
   }

   global $template, $cache, $user;
 

Заменяем найденное на
function parse_attachments($forum_id, &$message, &$attachments, &$update_count, $preview = false)
{
   if (!sizeof($attachments))
   {
      return;
   }

   global $template, $cache, $user, $topic_data;
 

Находим
switch ($display_cat)
         {
            // Images
            case ATTACHMENT_CATEGORY_IMAGE:
               $l_downloaded_viewed = 'VIEWED_COUNT';
               $inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
               $download_link .= '&amp;mode=view';

               $block_array += array(
                  'S_IMAGE'      => true,
                  'U_INLINE_LINK'      => $inline_link,
               );

               $update_count[] = $attachment['attach_id'];
            break;

            // Images, but display Thumbnail
            case ATTACHMENT_CATEGORY_THUMB:
               $l_downloaded_viewed = 'VIEWED_COUNT';
               $thumbnail_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id'] . '&amp;t=1');
               $download_link .= '&amp;mode=view';

               $block_array += array(
                  'S_THUMBNAIL'      => true,
                  'THUMB_IMAGE'      => $thumbnail_link,
               );

               $update_count[] = $attachment['attach_id'];
            break;
 

И заменяем найденное на
   switch ($display_cat)
         {
            // Images
            case ATTACHMENT_CATEGORY_IMAGE:
               $l_downloaded_viewed = 'VIEWED_COUNT';
               $inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
               $download_link .= '&amp;mode=view';

               if (isset($topic_data) && isset($topic_data['topic_title']))
               {
                  $fn = $topic_data['topic_title'] . ' - ' . ('' === $attachment['attach_comment'] ?
                     utf8_str_replace('.' . $attachment['extension'], '', htmlspecialchars_decode($attachment['real_filename'])) : $attachment['attach_comment'] );
                  $block_array['DOWNLOAD_NAME'] = utf8_basename($fn);
                  $fn = rawurlencode($fn);
                  $inline_link    = "/fpid/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
                  $download_link    = "/fpin/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
               }

               $block_array += array(
                  'S_IMAGE'      => true,
                  'U_INLINE_LINK'      => $inline_link,
               );

               $update_count[] = $attachment['attach_id'];
            break;

            // Images, but display Thumbnail
            case ATTACHMENT_CATEGORY_THUMB:
               $l_downloaded_viewed = 'VIEWED_COUNT';
               $thumbnail_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id'] . '&amp;t=1');
               $download_link .= '&amp;mode=view';

               if (isset($topic_data) && isset($topic_data['topic_title']))
               {
                  $fn = $topic_data['topic_title'] . ' - ' . ('' === $attachment['attach_comment'] ?
                     utf8_str_replace('.' . $attachment['extension'], '', htmlspecialchars_decode($attachment['real_filename'])) : $attachment['attach_comment'] );
                  $block_array['DOWNLOAD_NAME'] = utf8_basename($fn);
                  $fn = rawurlencode($fn);
                  
                  $thumbnail_link = "/fpit/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
                  $download_link    = "/fpin/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
               }


               $block_array += array(
                  'S_THUMBNAIL'      => true,
                  'THUMB_IMAGE'      => $thumbnail_link,
               );

               $update_count[] = $attachment['attach_id'];
            break;
 

Все, теперь картинки будут видеть боты, кстати, после этого проверьте нормально ли отображаются картинки-вложения

Вот впринципе и все, форум более менее оптимизирован. Успехов в администрировании :(


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
Сео-оптимизация phpbb3, раскрутка phpbb3, метатеги, заголовки, оптимизация альтов вложенных картинок

Последний раз редактировалось DeaDRoMeO 25 окт 2015, 10:32, всего редактировалось 11 раз(а).
Добавлена информация о решении проблем с модом Advanced Meta Tags ( проблема с не выводом русских ключевиков)
          Вернуться наверх  
 


Аватар пользователя

Может есть вариант сделать какие-то другие правки в "овервал хедер"? Просто уж очень хочется на странице просмотра тем иметь только название темы в тайтле.


          Вернуться наверх  
 


Аватар пользователя

Чорд, опять неправильно поглядел, вот ваш тайтл
<title><!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSE -->{SITENAME} &bull; <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF -->{PAGE_TITLE}<!-- ENDIF --></title>
 

Заменить его на
<title><!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSE --> {PAGE_TITLE} &bull;{SITENAME} <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF --><!-- ENDIF --></title>
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Практически то, что я и хотел, но всё равно тайтл в теме: имя темы * название сайта. А можно ли сделать, чтобы в имени темы не было названия сайта?


          Вернуться наверх  
 


Аватар пользователя

Тогда попробуйте так
<title><!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSEIF SCRIPT_NAME == "viewtopic"  --> {PAGE_TITLE} <!-- ELSE --> &bull;{SITENAME} <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF --><!-- ENDIF --></title>
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Практически идеально, только почему-то на активных темах заголовок, не активные темы, а название сайта, это возможно изменить или так придётся оставить?


          Вернуться наверх  
 


Аватар пользователя

Тогда так
<title><!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSEIF SCRIPT_NAME == "viewtopic"  --> {PAGE_TITLE} <!-- ELSE -->{PAGE_TITLE} &bull;{SITENAME} <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF --><!-- ENDIF --></title>
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Как всегда - Огромное спасибо за помощь!!! Теперь всё красиво.

Подскажи, а куда надо прописать, чтобы после цифры (номера страницы), было слово - страница? В пару мест попробовал вставить, но экран побелел :smu:sche_nie:


          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Так же нужно открыть language/ru/common.php и найти

Во втором сообщении эту инструкцию выполняли ?


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Во втором сообщении эту инструкцию выполняли ?


Только что сделал, спасибо, просто думал, что она для тех, кто установил МОД...


          Вернуться наверх  
 


Аватар пользователя

Вот и ладненько


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Я прочитал все 270 сообщений и не нашел ответ на мои вопросы.
Вопросы:
1. какой лучше использовать для закрытия от поисковика (приоритет на гугл) : <!--noindex-->Ваш код<!--/noindex-->
или <!-- IF not S_IS_BOT -->Ваш код<!-- ENDIF --> ?
2. А если применять : в /language/ru/common.php заменить "Форум" на <!--noindex-->Форум<!--/noindex--> ? (RDS показывает что текст "Форум" noindex)
Зарание спасибо за ответ.


          Вернуться наверх  
 


Аватар пользователя

lex0013 писал(а):

или <!-- IF not S_IS_BOT -->Ваш код<!-- ENDIF --> ?

Универсально и от всех ботов, которые есть в вашей админке. Этот код намного лучше
lex0013 писал(а):

А если применять

Не стоит употреблять ноиндекс, он же только одной ПС котируется.


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Ап теме, во второй пост добавлен пункт Открываем для индексации картинки-вложения


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

ДеаДРоМеО писал(а):

Не стоит употреблять ноиндекс, он же только одной ПС котируется.
Ну, есть ещё rel="nofollow", который котируется второй.


          Вернуться наверх  
 


Аватар пользователя

ursego, а есть чудо условие, которое котируется всеми ботами)) Насчет ноиндекса, удалю-ка я этот бред свой из поста))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

-------------- Убираем имя форума со страницы просмотра подфорумов (viewforum.php) -------

Скрытый текст
На досуге посетила одна мысль - а зачем нам вообще отображение имени форума в тайтле страницы просмотра подфорумов (viewforum.php) ??? Там обычно идет (на неоптимизированном форуме) так - Просмотр форума - Имя подфорума(раздела) - Имя форума, после оптимизации, описанной выше у вас должно получиться так - Имя подфорума(раздела) - Имя форума, а после правок, описанных ниже, у вас должно получиться так - - Имя подфорума(раздела). На мой взгляд так более красиво выглядит, вообщем если заинтересовало, то открываем шаблон overall_header.html вашего стиля и находим
Код: Выделить все
<title>

Вставляем после найденного
Код: Выделить все
<!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSE -->

Находим
Код: Выделить все
</title>

Вставляем перед найденным
Код: Выделить все
<!-- ENDIF -->

Чистим кеш и вуаля
Закрыть

Все работает, а вот когда тему открываешь, все как и было (название темы. название раздела. номер страницы. имя форума. Так и должно?
Код вот такой получился
<title><!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSE --><!-- IF TOPIC_SEO_TITLE -->{TOPIC_SEO_TITLE}{PAGENUM}<!-- ELSE --><!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF --><!-- IF PAGE_TITLE -->{PAGE_TITLE} &bull; <!-- ENDIF -->{SITENAME}<!-- ENDIF --><!-- ENDIF --></title>
 


          Вернуться наверх  
 


Аватар пользователя

Alex31 писал(а):

Так и должно?

Ну ясень пень, правка лишь для страницы подфорумов


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Ну ясень пень, правка лишь для страницы подфорумов

А как у вас как сделать?


          Вернуться наверх  
 


Аватар пользователя

Сделать все правки из данной темы. Мой тайтл не отличается от вашего
<title><!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSE --><!-- IF TOPIC_SEO_TITLE -->{TOPIC_SEO_TITLE} {PAGENUM}<!-- ELSE -->{PAGE_TITLE} -  <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF --> {SITENAME}<!-- ENDIF --><!-- ENDIF --></title>
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Похоже с нумерацией страницы напутано, я делал с другого форума.


          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Оптимизация: всё по порядку
Что устанавливать и править

Lorem Ipsum

5

782

Аватар пользователя

18 ноя 2012, 21:56

DeaDRoMeO

Аватар пользователя Правильная оптимизация сайта / статьи
В этой статье речь пойдет о том как правильно писать уникальные описания для товаров в интернет магазинах, и просто блогах принцип одинаков и применим ко всем видам сайтов

СТЕПАН

2

1124

Аватар пользователя

13 апр 2014, 17:07

СТЕПАН

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

Evgenij83

1

285

Аватар пользователя

22 июн 2017, 11:34

Atlas

Случайный аватар. Пользователю рекомендуется загрузить свой аватар в Настройках профиля Вопрос по оптимизация работы форума
Оптимизация работы форума

kiev

37

1147

Аватар пользователя

02 мар 2013, 15:42

akella1900

Аватар пользователя Who Views Who phpbb3
Who Views Who - модификация для phpbb3, которая немного расширит информацию предоставляемую на странице Кто Онлайн

DeaDRoMeO

8

2561

Аватар пользователя

30 сен 2013, 20:27

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


Самая неформальная поддержка phpBB :P