메인 스크립트 코드부터 바로 시작해 보겠습니다.

#!/usr/bin/perl

# which-forum.pl 스크립트
# (c) 2010 Alexandr A Alexeev, http://site/

엄격하게 사용하십시오.

# 주석 처리된 줄 - 엄격함
# 엔진 통계를 수집하는 작업이라면 그대로 둡니다.
# 포럼 목록을 작성하는 경우 - 주석 해제

내 $data ;
$data .= $_while (<> ) ;

# 바닥글에 링크 없이 Powered by phpBB가 얼마인지 확인
인쇄 "phpbb \N"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i또는
# $data =~ /viewforum\.php\?[^""]*f=\d+/i 또는
$data =~ /phpBB\-SEO/i 또는
$데이터 =~ /) ;
"ipb"를 인쇄하세요 \N"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i 또는
$데이터 =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision 전원 보드/i또는
$데이터 =~ /

/나또는
$데이터 =~ /index\.php\?[^""]*showforum=\d+/i) ;
인쇄 "vbulletin \N"
if ($data =~ /제공:?[^<]+vBulletin[^<]+(?:Version)?/i 또는
$데이터 =~ /) ;
인쇄 "smf \N"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>SMF/i 제공또는
$데이터 =~ /index\.php\?[^""]*board=\d+\.0/i) ;
인쇄 "punbb \N"
if ($data =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i) ; #또는
# $data =~ /viewforum\.php\?[^""]*id=\d+/i);
"fluxbb"를 인쇄하세요. \N"
# if($data =~ /viewtopic\.php\?id=\d+/i 또는
if ( $data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
"exbb"를 인쇄하세요. \N"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # 또는
# $data =~ /forums\.php\?[^""]*forum=\d+/i);
인쇄 "yabb \N"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i또는
$data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
인쇄 "dleforum \N"
if ($data =~ /\(DLE 포럼 제공\)<\/title>/나또는
$데이터 =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE 포럼<\/a>/나) ;
인쇄 "아이콘보드 \N"
if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i또는
$데이터 =~ /\N"
if ($data =~ /\N"
# if($data =~ /forums\.php\?fid=\d+/i 또는
# $data =~ /topic\.php\?fid=\d+/i 또는
if ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
"스토크시트"를 인쇄하세요 \N"
# if($data =~ /forum\.php\?f=\d+/i 또는
if ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*스토크스 IT/i) ;
인쇄 "연단 \N"
# if($data =~ /topic\.php\?t=\d+/i 또는
if ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
"usebb"를 인쇄하세요. \N"
# if($data =~ /forum\.php\?id=\d+/i 또는
if ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>BB/i 사용) ;
"W포럼"을 인쇄하세요. \N"
# if($data =~ /index\.php\?fid=\d+/i 또는
if ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
"yetanotherforumnet"을 인쇄하세요. \N"
if ($data =~ /또 다른 포럼\.net/i 또는
$데이터 =~ /default\.aspx\?g=posts&t=\d+/i) ;

이 아카이브의 게시물에서 언급된 이 스크립트와 기타 스크립트를 찾을 수 있습니다.

스크립트 which-forum.pl HTML 페이지 코드를 검사하여 포럼 엔진의 서명이 포함되어 있는지 확인합니다. WordPress와 Joomla를 정의할 때 비슷한 기술을 사용했지만 몇 가지 차이점이 있습니다. 첫째, 스크립트 자체는 페이지 코드를 로드하지 않고 stdin이나 인수로 전달된 파일에서 읽습니다. 이를 통해 예를 들어 wget을 사용하여 페이지를 한 번 다운로드한 다음, 둘 이상의 분석기가 있는 경우 여러 분석기를 통해 실행할 수 있습니다. 둘째, 이 스크립트에서 서명의 존재는 100% 엔진의 서명입니다. 지난번에는 시그니처가 있으면 해당 엔진과 무게가 가장 큰 엔진에만 무게가 추가되었습니다. 나는 이 경우 그러한 접근 방식이 코드를 불필요하게 복잡하게 만들 뿐이라고 결정했습니다.

스크립트를 테스트하기 위해 몇 가지 조사를 했습니다. 나는 수천 개의 포럼 목록을 작성하고 스크립트를 통해 각 포럼을 실행하여 프로그램 응답 비율과 다양한 엔진의 인기를 결정했습니다.

포럼 목록을 얻으려면 Google 파서를 사용했습니다. 이와 같은 쿼리가 검색 엔진으로 전송되었습니다.

사이트:forum.*.ru
사이트:talk.*.ru
사이트:board.*.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별로 정렬하고 내 사이트 중 하나에 대한 링크와 함께 처음 100개의 게시물에 게시하는 것이었습니다. 그러나 수백 개의 포럼 dofollow 링크는 어떤 식으로든 TCI에 영향을 미치지 않았으므로(2개의 업데이트가 통과됨) 전환에 관심이 없는 한 여기에서 시간을 낭비하지 않는 것이 좋습니다.

언급된 스크립트 사용이 유일한 스크립트 사용과는 거리가 멀다는 것이 분명합니다. 다른 용도로 사용하면 쉽게 알 수 있을 것 같아요.

Joomla 없이는 살 수 없다는 것을 누구나 알고 있지만 제 생각에는 구성 요소에 대한 좋은 포럼이 없습니다. 이것이 제가 포럼 엔진을 사용하여 작업하는 이유입니다. 제가 최근에 사용하기 시작한 새로운 것 중 하나는 유용한 내용을 담은 새로운 SMF 카테고리를 시작하는 것입니다. 우리는 작게 시작하고 초보자로서 매우 유용합니다.

검색 엔진 최적화의 첫 번째 단계 Simple Machines 포럼: 저작권 및 외부 링크 제거

저는 smf 2로만 작업한다는 점을 즉시 예약하겠습니다. 이 기사는 특히 이 버전의 무료 포럼 엔진과 관련이 있습니다.

그래서 일반 독자들은 내가 포럼을 포함하여 엔진의 공식 웹사이트에 "10"개의 외부 링크를 넣는 것을 얼마나 좋아하지 않는지 알고 있습니다. 그렇기 때문에 우선 저작권을 제거하고 "라는 형식의 외부 링크 4개에 주의하세요. SMF 2.0.2 | 단순 기계 | SMF © 2011 | XHTML"! 이렇게 하려면 FTP 포럼/테마/를 통해 사이트에 연결하세요. 테마 이름/ 그리고 파일을 편집합니다 index.template.php. 당연히 맨 아래에는 우리가 별로 좋아하지 않는 외부 링크를 표시하는 코드(약 330행)가 있습니다. 따라서 다음을 삭제합니다: "

  • ", theme_copyright(), "
  • " 그리고 "
  • ", $txt["xhtml"], "
  • ". 모든 것이 매우 간단하고 쉽습니다. 향후 간행물에서는 SMF/에서 포럼 홍보 및 최적화에 대한 새로운 자료를 기대합니다.

    안녕하세요, 블로그 사이트 독자 여러분. 그래서 우리는 이에 대한 게시물에서 시작한 SMF라는 포럼 엔진 설정 주제를 계속합니다. 우리는 아직 영어 인터페이스 번역 측면에서 러시아어 포럼을 만들지 않았습니다. 현재로서는 그다지 보기 좋아 보이지는 않지만 Russification(아직 수행되지 않은 경우)과 적절한 섹션을 생성한 후에는 모양이 크게 향상될 것입니다.

    오늘 우리는 디자인 테마를 살펴보고 이를 러시아어로 만들고 두 엔진(Jumla 및 SMF)에서 작동할 수 있는 JFusion 구성 요소도 설치합니다. 등록 및 로그인.

    러시아어 언어 팩 테마 및 설치

    Simple Machines 포럼 엔진은 테마 변경 기능을 지원하며 전체 포럼과 특히 개별 섹션에 대해 테마를 변경할 수 있습니다. 개인적으로 저는 기본 테마를 사용했지만 수동으로 변경한 부분이 꽤 많았습니다. 특히 배경, 일부 요소의 색상을 변경하고 플래시 드라이브의 시계, 라디오 등을 추가했습니다. 이에 대해서는 이 섹션의 후속 게시물에서 설명하겠습니다.

    포럼을 만들 때 추가 테마를 사용하지 않은 이유는 무엇입니까? 글쎄, 그것은 아마도 내 게으름에 관한 것입니다. 아니요, 저는 새로운 테마를 검색하고 다운로드하는 데 게으르지 않았습니다. 다행히도 이를 수행할 수 있는 곳이 많이 있습니다. 나의 게으름은 다른 곳에 있다.

    사실 이 엔진의 기능 확장을 위해 설계된 다양한 모드는 특히 기본 테마에 초점을 맞추고 있습니다. 설명하겠습니다. 기본 테마가 있는 경우 SMF에 모드를 추가하는 것은 몇 초 안에 이루어지며 일반적으로 코드를 수동으로 편집할 필요가 없습니다.

    기본 테마와 다른 디자인 테마로 모드를 설치하는 경우, 그들이 말하는 것처럼 모든 원시 부분을 파일로 처리해야 합니다. 즉, FileZilla를 사용해야 합니다(다운로드하고 구성해야 합니다. FTP를 통해 사이트에 액세스하고 이 모드에서 변경하는 포럼 엔진의 파일을 편집하기 위해 열 수 있습니다.

    그런 다음 코드에서 올바른 위치를 찾고 필요한 작업을 수행합니다. 즉, 코드를 바꾸거나 삭제하거나 필요한 조각 앞이나 뒤에 코드 섹션을 추가합니다. 변경해야 할 파일이 12개 정도 있을 수 있다는 점을 고려하면 이를 수행하는 것이 얼마나 번거로울지 상상할 수 있습니다. 이 경우 매우 조심해야 하며 실수하지 않아야 합니다. 그렇지 않으면 포럼이 전혀 열리지 않을 수 있기 때문입니다.

    기본이 아닌 테마 사용과 관련된 위의 모든 문제가 걱정되지 않으면 여기에서 다운로드할 수 있습니다. 거기에 있는 테마는 섹션(미니멀리즘, 클래식에 가까움, 현대 등)으로 분류되어 있으며 각 테마에 대한 스크린샷을 전체 화면으로 볼 수 있습니다. 동일한 테마를 설치하는 방법은 잠시 후에 알려드리겠습니다.

    이 작업의 첫 번째 부분에서 설명한 대로 엔진 파일을 호스팅에 업로드하는 단계에서 포럼을 Russify하지 않은 경우(기사 맨 처음에 있는 링크 참조) 지금 그렇게 할 수 있습니다. 이전에 이 페이지에서 다운로드한 필수 언어 팩이 포함된 러시아어 언어 팩의 압축을 풀고 테마 폴더를 루트 폴더에 복사해야 합니다. 루트 폴더에는 이미 동일한 이름의 디렉터리가 있습니다.

    복사가 완료되면 관리자 사용자 이름과 비밀번호를 사용하여 포럼에 로그인해야 합니다. 상단 메뉴에서 "관리"를 선택한 다음 왼쪽 열에서 "서버 설정"을 클릭합니다.

    열리는 창에서 "기본 포럼 언어" 항목을 찾아 드롭다운 목록에서 러시아어를 선택한 다음 페이지 하단의 "저장" 버튼을 클릭하세요.

    이제 귀하의 회의는 완전히 러시아어로 진행됩니다.

    러시아어를 지원하지 않는 모드 설치 시 문제 해결

    앞으로 러시아어 번역이 없는 모드를 SMF에 추가할 때 관리자 패널에 모드 설정을 표시하는 데 문제가 발생할 수 있다는 점에 유의하세요. 실제로 이러한 동일한 설정은 관리자 패널에 표시되지 않습니다. 왜냐하면... 이에 대한 Russification 파일은 없습니다. 따라서 이 문제를 해결하려면 두 가지 옵션이 있습니다.

    첫 번째 방법은 포럼 전체를 영어로 전환하는 것입니다. 위의 몇 단락에서 이 작업을 수행하는 방법을 확인할 수 있습니다. 따라서 이러한 설정으로 필요한 작업을 수행한 후에는 다시 러시아어로 돌아가야 합니다.

    두 번째 방법은 더 복잡하지만 영어가 활성화된 경우뿐만 아니라 항상 관리자 패널에서 설치된 모드의 설정을 볼 수 있습니다. 누군가가 모드를 설치했는데 회의 관리자 패널에서 해당 설정을 찾을 수 없다는 질문이 매우 흔한 질문이기 때문에 이 점에 대해 자세히 설명합니다.

    따라서 두 번째 방법은 새로 추가된 모드에 대한 번역 문자열을 Russification 파일에 추가하는 것입니다. 어떤 Russification 파일을 변경해야 하는지 결정하는 방법과 해당 파일을 어디서 얻을 수 있는지 나중에 알려드리겠습니다. 그동안 일시적으로 첫 번째 방법을 사용할 수 있습니다.

    웹 사이트 및 포럼 통합을 위해 JFusion 설치

    먼저 JFusion과 Russification을 다운로드해야 합니다. Joomla 관리 패널에 들어가면 표준 작업을 수행합니다. 관리 패널의 상단 메뉴에서 "확장" - "설치/제거" - "패키지 파일 다운로드" - "찾아보기" 버튼 항목을 선택합니다. 컴퓨터의 jfusion_package.zip 구성 요소 - "파일 업로드&설치>" 버튼을 클릭하세요.

    그런 다음 구성 요소가 성공적으로 설치되었음을 알리는 창이 나타납니다. 문제가 발생하면 바로 위에 제공된 링크에서 일부 문제에 대한 해결 방법을 익힐 수 있습니다.

    이제 구성 요소 자체와 정확히 동일한 방식으로 추가되는 Russification을 수행할 차례입니다. 저것들. "확장" - "설치/제거" - "패키지 파일 다운로드" - "찾아보기" 버튼 - 컴퓨터에서 JFusion Russification 파일 찾기 - "파일 다운로드 및 설치" 버튼 클릭. 이제 "Components" - "JFusion" 경로를 따라 설정으로 이동하여 Russification이 성공적으로 추가되어 작동하는지 확인할 수 있습니다.

    행운을 빕니다! 블로그 사이트 페이지에서 곧 뵙겠습니다.

    당신은 관심이 있을 수도 있습니다

    SMF 포럼과 Joomla 사이트를 결합하기 위해 JFusion 설정
    웹 사이트 포럼의 메시지를 표시하고 SMF에서 Joomla로 돌아가는 버튼을 생성하는 JFusion 모듈
    포럼에 입장하기 위해 Joomla에서 메뉴 항목을 생성하고 SMF에서 사이트로 사용자 등록을 전송합니다.
    SMF 포럼 설치 - JFusion 구성 요소를 사용하여 Joomla 1.5 및 Simple Machines 포럼 통합
    Joomla용 확장 기능 - Joomla용 구성 요소, 모듈, 플러그인을 다운로드할 수 있는 위치, 설치 및 제거 방법
    Joomla에서 블로그, 카탈로그 및 포털을 생성하기 위한 K2 구성 요소 - 기능, 설치 및 Russification Joomla용 사진 갤러리 - 3부 - Phoca 갤러리 구성 요소를 사용하여 Joomla 1.5에서 갤러리 만들기 - 범주 추가 및 사진 갤러리에 이미지 업로드
    ARTIO JoomSEF - Joomla에서 CNC(SEF) 링크 및 제목을 설정하고 이 확장을 사용하여 404 오류 페이지를 생성합니다.
    Akeeba Backup(이전의 JoomlaPack) - 두 번의 클릭만으로 Joomla 사이트의 백업을 생성하고 백업에서 복원