Нека започнем веднага с основния код на скрипта:

#!/usr/bin/perl

# скрипт which-forum.pl
# (c) 2010 Александър Алексеев, http://site/

използвайте строг;

# коментирани реда - за строгост
# ако задачата е да се съберат статистически данни за двигателя, оставете я както е
# ако правите списък с форуми - разкоментирайте

моите $данни;
$data .= $_while (<> ) ;

# проверете колко е Осъществено от phpBB без връзка в долния колонтитул
печат "phpbb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/iили
# $data =~ /viewforum\.php\?[^""]*f=\d+/i или
$data =~ /phpBB\-SEO/i или
$данни =~ /) ;
печат "ipb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i или
$данни =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/iили
$данни =~ /

/iили
$данни =~ /index\.php\?[^""]*showforum=\d+/i) ;
отпечатайте "vbulletin \н"
if ($data =~ /Осъществено от:?[^<]+vBulletin[^<]+(?:Version)?/i или
$данни =~ /) ;
печат "smf \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>Осъществено от SMF/iили
$данни =~ /index\.php\?[^""]*board=\d+\.0/i) ;
печат "punbb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i) ; #или
# $data =~ /viewforum\.php\?[^""]*id=\d+/i);
отпечатайте "fluxbb \н"
# if($data =~ /viewtopic\.php\?id=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
печат "exbb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # или
# $data =~ /forums\.php\?[^""]*forum=\d+/i);
печат "yabb \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/iили
$data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
печат "dleforum \н"
if ($data =~ /\(Осъществено от DLE форум\)<\/title>/iили
$данни =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE форум<\/a>/i) ;
печат "ikonboard \н"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/iили
$данни =~ /\н"
if ($data =~ /\н"
# if($data =~ /forums\.php\?fid=\d+/i или
# $data =~ /topic\.php\?fid=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
печат "stokesit \н"
# if($data =~ /forum\.php\?f=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i) ;
печат "подиум \н"
# if($data =~ /topic\.php\?t=\d+/i или
if ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Подиум/i) ;
печат "usebb \н"
# if($data =~ /forum\.php\?id=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
печат "wrforum \н"
# if($data =~ /index\.php\?fid=\d+/i или
if ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
печат "yetanotherforumnet \н"
ако ($data =~ /Още един форум\.net/i или
$данни =~ /по подразбиране\.aspx\?g=posts&t=\d+/i) ;

Ще намерите този и други скриптове, споменати в публикацията в този архив.

Скрипт който-форум.plпроверява кода на HTML страницата, за да види дали съдържа подписи на двигателя на форума. Използвахме подобна техника, когато дефинирахме WordPress и Joomla, но има няколко разлики. Първо, самият скрипт не зарежда кода на страницата, а го чете от stdin или файл, подаден като аргумент. Това ви позволява да изтеглите страницата веднъж, например с помощта на wget, и след това да я пуснете през няколко анализатора, ако имаме повече от един. Второ, в този скрипт наличието на подпис е 100% знак на двигателя. Последният път наличието на подпис само добави тежест към съответния двигател и двигателят с най-голямо тегло „спечели“. Реших, че в този случай подобен подход само ще усложни ненужно кода.

За да тествам сценария, направих някои изследвания. Съставих списък от няколко хиляди форума и прекарах всеки от тях през моя скрипт, като по този начин определих процента на програмните отговори и популярността на различните двигатели.

За да получа списъка с форуми, използвах моя анализатор на Google. Заявки като тази бяха изпратени до търсачката

сайт: форум.*.ru
сайт: talk.*.ru
сайт: борд.*.ru
сайт: smf.*.ru
сайт:phpbb.*.ru
....

и така нататък. Във файла ще намерите пълния код на генератора на заявки gen-forumsearch-urls.pl. Освен zone.ru са използвани и .su .ua .kz и .by. Последният път беше трудно да се проведе подобно проучване, тъй като сайтовете на WordPress и Joomla нямат такива подписи в URL адреса. Каталози като cmsmagazine.ru/catalogue/ не осигуряват достатъчен размер на извадката. Какво е 600 Drupal сайта?

Трябва да призная, резултатите от експеримента ме разочароваха. От изследваните 12 590 сайта, двигателят е идентифициран успешно само в 7 083, тоест само в 56% от случаите. Може би не съм взел предвид някой двигател? Вярно ли беше, че половината от форумите имат инсталиран Bitrix? Или трябваше да отделя повече време за търсене на подписи? По принцип тук са необходими допълнителни изследвания.

Сред 56% от успешно идентифицираните машини, най-популярните, както се очакваше, бяха IPB (31%), phpBB (26,6%) и vBulletin (26,5%)

Следват ги с голямо изоставане SMF (5.8%) и DLEForum (5.3%). Моят любим punBB беше едва на 6-то място (1,64%). Не бих препоръчал да се вярва много на тези цифри (казват, че всеки трети форум в RuNet работи на IPB), но някои изводи, разбира се, могат да бъдат направени.

Например, ако възнамерявате да направите сайт на форумна машина и планирате да модифицирате форума, да речем, да плащате на потребителите $0,01 за всяко съобщение с автоматично изтегляне на средства веднъж седмично, тогава трябва да изберете една от трите най-популярни машини. Колкото по-популярен е форумът, толкова по-големи са шансовете да намерите програмист, който го познава добре.

Ако не се очакват значителни промени в двигателя, тогава може да има смисъл да изберете по-малко популярен двигател, например SMF или punBB. Това ще намали броя на хакерските атаки към вашия форум и количеството спам, изпращан автоматично в него.

Скриптовете за търсене/идентифициране на форуми също могат да намерят много практически приложения. Първото нещо, което ми хрумна, беше да сортирам идентифицираните форуми по TIC и да публикувам на първите сто публикации с връзки към един от моите сайтове. Въпреки това, стотици форумни dofollow връзки не повлияха на TCI по никакъв начин (2 актуализации са минали), така че е по-добре да не губите време тук, освен ако не се интересувате от преходи.

Ясно е, че споменатото използване на скриптове далеч не е единственото. Мисля, че лесно можете да разберете как иначе можете да ги използвате.

Всички знаят, че просто не мога да живея без Joomla, но според мен няма добър форум за компоненти. Затова работя с форумни двигатели. Една от новите, които наскоро започнах да използвам, е Да започнем нова SMF категория с надявам се полезни неща. Започваме с малко и като начинаещи е много полезно.

Първи стъпки в оптимизацията за търсачки Simple Machines Forum: премахване на авторски права и външни връзки

Нека направя резервация веднага, че работя само с smf 2 и тази статия ще се отнася конкретно за тази версия на безплатния двигател на форума.

И така, редовните читатели знаят колко не обичам да поставям „10“ външни връзки към официалните уебсайтове на двигатели, включително форумни. Ето защо, на първо място, премахваме авторските права и цели 4, внимание 4 външни връзки на формата " SMF 2.0.2 | Прости машини | SMF © 2011 | XHTML"! За да направите това, свържете се със сайта чрез FTP форум/Теми/ името на вашата тема/ и редактирайте файла index.template.php. Естествено, най-отдолу има код (около ред 330), който показва външни връзки, които не ни харесват толкова много. Затова изтриваме: "

  • ", theme_copyright(), "
  • " И "
  • ", $txt["xhtml"], "
  • ". Всичко е толкова просто и лесно. В следващите публикации очаквайте нови материали за популяризиране и оптимизиране на форуми в SMF/

    Здравейте, скъпи читатели на сайта на блога. И така, продължаваме темата за настройка на двигателя на форума, наречен SMF, която започнахме в публикацията за него. Там все още не сме направили форума руски, по отношение на превода от английския интерфейс. В момента не изглежда много представителен, но след русификация (ако вече не е направена) и създаване на съответните раздели, външният му вид ще се подобри значително.

    Днес ще разгледаме темите за дизайн и ще ги направим руски, а също така ще инсталираме компонента JFusion, който може да работи и с двата двигателя (Jumla и SMF), което ще ни позволи да имаме обща потребителска база за двама и само една форма за техните регистрация и влизане.

    Теми и инсталиране на руски езиков пакет

    Двигателят на Simple Machines Forum поддържа възможността за промяна на теми, като те могат да се променят както за целия форум, така и за отделните му секции в частност. Лично аз използвах темата по подразбиране, но направих доста промени в нея ръчно. По-специално промених фона, цветовете на някои елементи, добавих часовник на флашка, радио и много други, за които ще говоря в следващите публикации в този раздел.

    Защо не използвах някоя от допълнителните теми при създаването на форума? Е, вероятно всичко е заради мързела ми. Не, не ме мързеше да търся и изтеглям нови теми, за щастие има много места, където това може да се направи. Мързелът ми е другаде.

    Факт е, че цялото разнообразие от модификации за този двигател, предназначени да разширят възможностите му, са фокусирани специално върху темата по подразбиране. Нека обясня. Ако имате тема по подразбиране, тогава добавянето на мод към SMF става за няколко секунди и като правило не изисква ръчно редактиране на кода.

    Ако инсталирате мод с дизайнерска тема, различна от тази по подразбиране, ще трябва, както се казва, да обработите всички необработени части с файл. С други думи, ще трябва да използвате FileZilla (изтеглете и го конфигурирайте; можете да получите достъп до сайта чрез FTP и да отворите за редактиране файловете на вашия форум двигател, в който този мод прави промени.

    След това потърсете правилното място в кода и изпълнете необходимите действия: или замяна на кода, или изтриване, или добавяне на част от код преди или след необходимия фрагмент. Ако смятате, че може да има около дузина файлове, в които ще трябва да се направят промени, тогава можете да си представите колко неприятно ще бъде да направите това. В този случай трябва да сте много внимателни и да не правите грешки, защото в противен случай форумът може изобщо да не се отвори.

    Ако всички горепосочени проблеми при използването на тема, която не е по подразбиране, не ви плашат, тогава можете да ги изтеглите от тук. Темите там са сортирани по секции (минимализъм, близки до класическите, модерни и т.н.) и за всяка от тях можете да видите екранна снимка на цял екран. Ще ви кажа как да инсталирате същите тези теми малко по-късно.

    Ако не сте русифицирали форума на етапа на качване на файловете на двигателя в хостинга, както е описано в първата част на този опус (вижте връзката в самото начало на статията), тогава можете да го направите сега. Руският езиков пакет с необходимия, предварително изтеглен от тази страница, трябва да бъде разопакован и след това да копирате папката Themes в главната папка, където вече има директория със същото име.

    След като копирането приключи, трябва да влезете във форума с администраторското потребителско име и парола. Изберете „Администратор“ в горното меню и след това щракнете върху „Настройки на сървъра“ в лявата колона.

    В прозореца, който се отваря, намерете елемента „Език на форума по подразбиране“ и изберете руския език от падащия списък, след което кликнете върху бутона „Запазване“ в долната част на страницата.

    Това е всичко, сега вашата конференция е изцяло на руски език.

    Решаване на проблеми при инсталиране на модове, които не поддържат руски език

    Моля, имайте предвид, че в бъдеще, когато добавяте модове към SMF, които нямат руски превод, понякога може да имате проблем с показването на настройките на мода в администраторския панел. Всъщност същите тези настройки просто няма да се виждат в админ панела, защото... за тях няма да има русификационни файлове. Следователно ще имате две възможности за решаване на този проблем.

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

    Вторият метод е по-сложен, но ще ни позволи да виждаме настройките на инсталираните модове в админ панела винаги, а не само когато е активиран английски език. Спирам се на тази точка толкова подробно, защото въпросът, че някой е инсталирал мод и не може да намери настройките му в админ панела на своята конференция, е много често срещан.

    И така, вторият метод е да добавите низове за превод към файловете за русификация за новодобавените модове. По-късно ще ви кажа как да определите кои файлове за русификация трябва да бъдат променени и къде да ги получите. Междувременно, временно, можете да използвате първия метод.

    Инсталиране на JFusion за интегриране на уебсайт и форум

    Първо ще трябва да изтеглите JFusion и неговата русификация. След като влезем в административния панел на Joomla, извършваме стандартни действия: изберете от горното меню на административния панел елементите „Разширения“ - „Инсталиране/Деинсталиране“ - „Изтегляне на пакетен файл“ - бутон „Преглед“ - намерете файла с компонент jfusion_package.zip на вашия компютър - щракнете върху бутона „ Качване на файл&Инсталиране>".

    След това се появява прозорец, който ви информира, че компонентът е инсталиран успешно. Ако възникнат проблеми, можете да се запознаете с решенията на някои от тях на линка, даден малко по-горе.

    Сега е време за русификация, която се добавя точно по същия начин като самия компонент. Тези. повторете последователността от действия: „Разширения“ - „Инсталиране/Деинсталиране“ - „Изтегляне на пакетен файл“ - бутон „Преглед“ - намерете файла за русификация на JFusion на вашия компютър - щракнете върху бутона „Изтегляне на файл и инсталиране“. Сега можем да отидем до настройките по пътя „Компоненти“ - „JFusion“ и да се уверим, че русификацията е добавена успешно и работи.

    Късмет! Ще се видим скоро на страниците на сайта на блога

    Може да се интересувате

    Настройване на JFusion за комбиниране на SMF форум и Joomla сайт
    JFusion модули за показване на съобщения от форума в сайта, както и създаване на бутон в SMF за връщане към Joomla
    Създаване на елемент от менюто в Joomla за влизане във форума и прехвърляне на потребителска регистрация от SMF към сайта
    Инсталиране на SMF форум - Интегриране на Joomla 1.5 и Simple Machines Forum с помощта на компонента JFusion
    Разширения за Joomla - какво представляват и откъде да изтеглите компоненти, модули и добавки за Joomla, как да ги инсталирате и премахнете
    K2 компонент за създаване на блогове, каталози и портали на Joomla - функции, инсталиране и русификация Фотогалерия за Joomla - Част 3 - Създаване на галерии в Joomla 1.5 с помощта на компонента Phoca Gallery - добавяне на категории и качване на изображения във фотогалерията
    ARTIO JoomSEF - настройка на CNC (SEF) връзки и заглавие в Joomla, както и създаване на страница за грешка 404 с помощта на това разширение
    Akeeba Backup (по-рано JoomlaPack) - създаване на резервно копие на Joomla сайт и възстановяване от архив с две кликвания