• می گوید ایندکس موضوع php توسط smf طراحی شده است. اولین گام در بهینه سازی موتورهای جستجو تالار ماشین های ساده: حذف حق چاپ و لینک های خارجی. حل مشکلات هنگام نصب مدهایی که از زبان روسی پشتیبانی نمی کنند

    بیایید بلافاصله با کد اسکریپت اصلی شروع کنیم:

    #!/usr/bin/perl

    اسکریپت # which-forum.pl
    # (ج) 2010 الکساندر الکسیف، http://website/

    سخت استفاده کنید؛

    # خط نظر - برای سختگیری
    # اگر وظیفه جمع آوری آمار موتور است، آن را همانطور که هست رها کنید
    # اگر فهرستی از انجمن‌ها تهیه می‌کنید - نظر خود را لغو کنید

    $داده من ;
    $data .= $_ در حالی که (<> ) ;

    # بررسی کنید که چه تعداد توسط phpBB بدون پیوند پاورقی ارائه شده است
    چاپ "phpbb \n"
    اگر ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/iیا
    # $data =~ /viewforum\.php\?[^""]*f=\d+/i یا
    $data =~ /phpBB\-SEO/i یا
    $data =~ /) ;
    چاپ "ipb \n"
    اگر ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i یا
    $data =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/iیا
    $data =~ /

    /منیا
    $data =~ /index\.php\?[^""]*showforum=\d+/i) ;
    چاپ "vbulletin \n"
    اگر ($data =~ /طراحی شده توسط:؟[^<]+vBulletin[^<]+(?:Version)?/i یا
    $data =~ /) ;
    چاپ "smf \n"
    اگر ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>طراحی شده توسط SMF/iیا
    $data =~ /index\.php\?[^""]*board=\d+\.0/i) ;
    چاپ "punbb \n"
    اگر ($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 یا
    اگر ($data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
    چاپ "exbb \n"
    اگر ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ؛ # یا
    # $data =~ /forums\.php\?[^""]*forum=\d+/i);
    چاپ "یاب \n"
    اگر ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/iیا
    $data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
    چاپ "dleforum \n"
    اگر ($data =~ /\(طراحی شده توسط انجمن DLE\)<\/title>/منیا
    $data =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*"> انجمن DLE<\/a>/من) ;
    چاپ "نماد \n"
    اگر ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/iیا
    $data =~ /\n"
    اگر ($data =~ /\n"
    # if($data =~ /forums\.php\?fid=\d+/i یا
    # $data =~ /topic\.php\?fid=\d+/i یا
    اگر ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
    چاپ "stokesit \n"
    # if($data =~ /forum\.php\?f=\d+/i یا
    اگر ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i) ;
    چاپ "تریبون \n"
    # if($data =~ /topic\.php\?t=\d+/i یا
    اگر ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
    چاپ "usebb \n"
    # if($data =~ /forum\.php\?id=\d+/i یا
    اگر ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
    چاپ "wrforum \n"
    # if($data =~ /index\.php\?fid=\d+/i یا
    اگر ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
    چاپ "yetanotherforumnet \n"
    اگر ($data =~ /Yet Another Forum\.net/i یا
    $data =~ /default\.aspx\?g=posts&t=\d+/i) ;

    این و سایر اسکریپت های ذکر شده در پست را می توانید در این آرشیو پیدا کنید.

    اسکریپت which-forum.plکد صفحه html را برای وجود امضاهای موتور انجمن در آن بررسی می کند. ما هنگام تعریف وردپرس و جوملا از تکنیک مشابهی استفاده کردیم، اما چند تفاوت وجود دارد. اولاً، خود اسکریپت کد صفحه را بارگذاری نمی کند، بلکه آن را از stdin یا فایلی که به عنوان آرگومان ارسال می شود، می خواند. این به ما این امکان را می دهد که یک بار مثلاً با استفاده از wget صفحه را دانلود کنیم و در صورتی که بیش از یکی داریم آن را از طریق چندین تجزیه کننده اجرا کنیم. ثانیاً در این فیلمنامه وجود امضا نشان 100% موتور است. دفعه قبل، وجود امضا فقط به موتور مربوطه وزن می داد و موتور با بیشترین وزن را "برنده" می کرد. من تصمیم گرفتم که در این مورد، چنین رویکردی فقط کد را به طور غیر ضروری پیچیده می کند.

    برای تست فیلمنامه، کمی تحقیق کردم. من لیستی از چندین هزار فروم تهیه کردم و هر یک از آنها را از طریق اسکریپت خود اجرا کردم و از این طریق درصد فعال سازی برنامه ها و محبوبیت موتورهای مختلف را تعیین کردم.

    برای دریافت لیست انجمن ها، از تجزیه کننده گوگل خود استفاده کردم. موتور جستجو عبارت بود از

    سایت:forum.*.ru
    سایت:talk.*.ru
    سایت:board.*.ru
    سایت: smf.*.ru
    سایت: phpbb.*.ru
    ....

    و غیره شما می توانید کد کامل ایجاد کننده پرس و جو را در فایل پیدا کنید gen-forumsearch-urls.pl. علاوه بر منطقه .ru، .su .ua .kz و .by نیز استفاده شد. دفعه قبل انجام چنین مطالعه ای دشوار بود، زیرا سایت های وردپرس و جوملا چنین امضایی در URL ندارند. کاتالوگ هایی مانند cmsmagazine.ru/catalogue/ حجم نمونه کافی را ارائه نمی دهند. 600 سایت در دروپال چیست؟

    باید اعتراف کنم که نتایج آزمایش من را ناامید کرد. از 12590 سایت مورد مطالعه، تنها 7083 موتور با موفقیت شناسایی شد، یعنی فقط در 56٪ موارد. شاید من موتور را در نظر نگرفتم؟ آیا Bitrix در نیمی از انجمن ها ایستاده است؟ یا باید زمان بیشتری را برای جستجوی امضا صرف می کردم؟ به طور کلی، در اینجا به تحقیقات بیشتری نیاز است.

    در میان 56 درصد موتورهایی که با موفقیت شناسایی شدند، IPB (31٪)، phpBB (26.6٪) و vBulletin (26.5٪) همانطور که انتظار می رفت محبوب ترین ها بودند.

    پس از آنها SMF (5.8٪) و DLEForum (5.3٪) قرار دارند. punBB مورد علاقه من فقط در مکان ششم (1.64٪) بود. من توصیه نمی کنم به شدت به این ارقام اعتماد کنید (آنها می گویند که هر سومین انجمن در Runet روی IPB کار می کند)، اما البته می توان نتیجه گیری های خاصی کرد.

    به عنوان مثال، اگر قصد دارید یک سایت در موتور فروم ایجاد کنید و قصد دارید تالار را تغییر دهید، مثلاً یک بار در هفته برای هر پیام 0.01 دلار به کاربران با برداشت خودکار وجه پرداخت کنید، باید یکی از سه موتور محبوب را انتخاب کنید. . هر چه انجمن محبوب تر باشد، احتمال بیشتری وجود دارد که برنامه نویسی را پیدا کنید که به خوبی در آن مسلط باشد.

    اگر هیچ تغییر قابل توجهی در موتور انتظار نمی رود، ممکن است منطقی باشد که یک موتور کمتر محبوب مانند SMF یا punBB انتخاب کنید. با انجام این کار، تعداد حملات هکرها به انجمن خود و میزان هرزنامه هایی که به صورت خودکار به آن ارسال می شود را کاهش می دهید.

    اسکریپت هایی برای یافتن/تعریف انجمن ها نیز می توانند بیش از یک کاربرد عملی پیدا کنند. اولین چیزی که شخصاً به ذهن من رسید این بود که انجمن های شناسایی شده را بر اساس TCI مرتب کنم و پست هایی را با پیوند به یکی از سایت های آنها در صد مورد اول قرار دهم. با این حال، صد لینک dofollow انجمن به هیچ وجه بر TIC تأثیری نداشته است (2 به روز رسانی گذشته است)، بنابراین بهتر است زمان را در اینجا تلف نکنید، مگر اینکه به انتقال علاقه مند باشید.

    واضح است که استفاده نامبرده از اسکریپت ها به دور از آن است. من فکر می کنم شما به راحتی می توانید بفهمید که چگونه می توانید از آنها استفاده کنید.

    با سلام خدمت خوانندگان محترم سایت وبلاگ. بنابراین، ما موضوع راه اندازی یک موتور انجمن به نام SMF را که در یک پست در مورد آن آغاز شده است، ادامه می دهیم. در آنجا ما هنوز انجمن را از نظر ترجمه از رابط انگلیسی روسی نکرده ایم. در حال حاضر چندان قابل ارائه به نظر نمی رسد، اما پس از Russification (اگر هنوز انجام نشده باشد) و ایجاد بخش های مناسب، ظاهر آن به طور قابل توجهی بهبود می یابد.

    امروز ما تم ها را در نظر می گیریم و آن را روسی می کنیم، همچنین کامپوننت JFusion را نصب می کنیم، که می تواند با هر دو موتور (هر دو Jumla و SMF) کار کند، که به ما امکان می دهد یک پایگاه کاربر مشترک برای دو و فقط یک فرم ثبت آنها داشته باشیم. و وارد شوید.

    تم ها و نصب بسته زبان روسی

    موتور Simple Machines Forum از قابلیت تغییر موضوعات پشتیبانی می کند و می توان آنها را هم برای کل انجمن به طور کلی و هم برای بخش های جداگانه آن تغییر داد. من شخصا از تم پیش فرض استفاده کردم، اما تغییرات دستی زیادی در آن ایجاد کردم. به طور خاص، من پس زمینه، طرح های رنگی برخی از عناصر را تغییر دادم، یک ساعت فلش، یک رادیو و بسیاری موارد دیگر اضافه کردم که در پست های بعدی در این بخش در مورد آنها صحبت خواهم کرد.

    چرا هنگام ایجاد انجمن از هیچ یک از تم های اضافی استفاده نکردم؟ خوب، احتمالاً همه چیز به تنبلی من مربوط می شود. نه، من برای جستجو و دانلود تم های جدید تنبل نبودم، زیرا مکان های زیادی وجود دارد که می توان این کار را انجام داد. تنبلی من جای دیگری است.

    واقعیت این است که تمام حالت های مختلف این موتور که برای گسترش قابلیت های آن طراحی شده است، به طور خاص بر روی موضوع پیش فرض متمرکز شده است. من توضیح می دهم. اگر یک تم پیش فرض دارید، اضافه کردن این یا آن مد به SMF چند ثانیه طول می کشد و، به عنوان یک قاعده، نیازی به ویرایش دستی کد ندارد.

    در مورد نصب یک مود بر روی یک موضوع طراحی غیر از حالت پیش فرض، همانطور که می گویند لازم است تمام جزئیات خام با یک فایل پردازش شود. به عبارت دیگر، شما باید از FileZilla استفاده کنید (آن را دانلود و پیکربندی کنید، می توانید از طریق FTP به سایت دسترسی پیدا کنید و برای ویرایش فایل های موتور انجمن خود باز کنید، که این ماد تغییراتی در آن ایجاد می کند.

    سپس به دنبال مکان مناسب در کد بگردید و اقدامات لازم را انجام دهید: یا جایگزین کردن کد، یا حذف، یا اضافه کردن یک قطعه کد قبل یا بعد از قطعه مورد نیاز. با توجه به اینکه ممکن است حدود ده ها فایل وجود داشته باشد که باید تغییراتی در آنها ایجاد شود، می توان تصور کرد که انجام این کار چقدر مشکل ساز خواهد بود. در این صورت باید بسیار مراقب باشید و اشتباه نکنید زیرا در غیر این صورت ممکن است انجمن اصلا باز نشود.

    اگر تمام مشکلات استفاده از یک تم غیر پیش فرض ذکر شده در بالا شما را نمی ترساند، می توانید آنها را از اینجا دانلود کنید. موضوعات در بخش های (مینیمالیسم، نزدیک به کلاسیک، مدرن و غیره) طبقه بندی شده اند و برای هر یک از آنها می توانید اسکرین شات کامل آن را مشاهده کنید. نحوه نصب همین تم ها را کمی بعد خواهم گفت.

    اگر همانطور که در قسمت اول این کار توضیح داده شد در مرحله آپلود فایل های موتور در هاست، انجمن را روسی نکردید (لینک در ابتدای مقاله را ببینید)، اکنون می توانید این کار را انجام دهید. بسته زبان روسی که قبلاً از این صفحه با بسته مورد نیاز دانلود شده است، باید بسته بندی شود و سپس پوشه Themes در پوشه ریشه کپی شود، جایی که از قبل یک فهرست با همین نام وجود دارد.

    پس از اتمام کپی، باید با استفاده از لاگین و رمز عبور مدیر به انجمن بروید. "Admin" را از منوی بالا انتخاب کنید و سپس روی "Server Settings" از ستون سمت چپ کلیک کنید.

    در پنجره ای که باز می شود، آیتم "زبان پیش فرض انجمن" را پیدا کنید و زبان روسی را از لیست کشویی انتخاب کنید و سپس روی دکمه "ذخیره" در پایین صفحه کلیک کنید.

    تمام، اکنون کنفرانس شما کاملاً به زبان روسی است.

    حل مشکلات هنگام نصب مدهایی که از زبان روسی پشتیبانی نمی کنند

    لطفاً توجه داشته باشید که در آینده هنگام افزودن مودهایی به SMF که ترجمه روسی ندارند، ممکن است گاهی اوقات با نمایش تنظیمات مود در پنل مدیریت با مشکل مواجه شوید. در واقع، همین تنظیمات در پنل مدیریت به سادگی قابل مشاهده نخواهد بود، زیرا. هیچ فایل Russification برای آنها وجود نخواهد داشت. بنابراین شما دو گزینه برای حل این مشکل خواهید داشت.

    راه اول این است که برای کل انجمن به زبان انگلیسی سوئیچ کنید. چگونه می توان این کار را انجام داد، می توانید چند پاراگراف بالا را ببینید. بر این اساس، پس از انجام اقدامات لازم با این تنظیمات، باید دوباره به زبان روسی برگردید.

    روش دوم پیچیده تر است، اما به ما این امکان را می دهد که تنظیمات مودهای نصب شده را همیشه در پنل مدیریت ببینیم و نه تنها زمانی که زبان انگلیسی فعال است. من در این مورد با جزئیات صحبت می کنم زیرا این سوال که شخصی یک مود را نصب کرده است و نمی تواند تنظیمات آن را در پنل مدیریت برد خود پیدا کند بسیار رایج است.

    بنابراین، راه دوم اضافه کردن خطوط ترجمه به فایل‌های Russification برای مدهای جدید اضافه شده است. نحوه تعیین اینکه کدام فایل های Russification نیاز به تغییر دارند و از کجا می توان آنها را دریافت کرد، بعداً خواهم گفت. در ضمن به طور موقت می توانید از روش اول استفاده کنید.

    نصب JFusion برای ادغام سایت و انجمن

    ابتدا باید JFusion و Russification آن را دانلود کنید. پس از ورود به پنل مدیریت جوملا، اقدامات استاندارد را انجام می دهیم: موارد "افزونه ها" - "نصب/حذف" - "آپلود فایل بسته" - دکمه "مرور" از منوی بالای پنل مدیریت را انتخاب کنید - فایل را پیدا کنید. با مولفه jfusion_package.zip در رایانه خود - روی دکمه "دانلود فایل و نصب>" کلیک کنید.

    پس از آن، پنجره ای ظاهر می شود که به شما اطلاع می دهد که مؤلفه با موفقیت نصب شده است. اگر مشکلی پیش آمد، می توانید با گزینه های حل برخی از آنها در لینک بالا آشنا شوید.

    حالا نوبت به Russification است که به همان شکل خود کامپوننت اضافه می شود. آن ها دنباله اقدامات را تکرار کنید: "افزونه ها" - "نصب / حذف" - "آپلود فایل بسته" - دکمه "مرور" - فایل JFusion Russification را در رایانه خود پیدا کنید - روی دکمه "آپلود فایل و نصب" کلیک کنید. اکنون می توانیم به تنظیمات در مسیر "Components" - "JFusion" برویم و مطمئن شویم که Russification با موفقیت اضافه شده و کار می کند.

    موفق باشی! به زودی شما را در سایت صفحات وبلاگ می بینیم

    ممکن است علاقه مند باشید

    راه اندازی JFusion برای ادغام انجمن SMF و سایت جوملا
    ماژول های JFusion برای نمایش پیام ها از انجمن در سایت و همچنین ایجاد دکمه در SMF برای بازگشت به جوملا
    ایجاد آیتم منو در جوملا برای ورود به انجمن و انتقال ثبت نام کاربر از SMF به سایت
    نصب انجمن SMF - ادغام جوملا 1.5 و انجمن ماشین های ساده با استفاده از کامپوننت JFusion
    برنامه های افزودنی برای جوملا - چیست و کجا می توان کامپوننت ها، ماژول ها و پلاگین ها را برای جوملا دانلود کرد، نحوه نصب و حذف آنها
    جزء K2 برای ایجاد وبلاگ، کاتالوگ و پورتال در جوملا - ویژگی ها، نصب و روسی سازی گالری عکس برای جوملا - قسمت 3 - ایجاد گالری در جوملا 1.5 با استفاده از کامپوننت Phoca Gallery - اضافه کردن دسته ها و آپلود تصاویر در گالری عکس
    ARTIO JoomSEF - سفارشی سازی پیوندها و عنوان CNC (SEF) در جوملا، و همچنین ایجاد یک صفحه خطای 404 با استفاده از این پسوند
    پشتیبان گیری Akeeba (جوملا پک سابق) - ایجاد یک نسخه پشتیبان از یک سایت در جوملا و بازیابی از یک نسخه پشتیبان با دو کلیک

    همه می دانند که من به سادگی نمی توانم بدون جوملا زندگی کنم، اما، به نظر من، انجمن خوبی در کامپوننت ها وجود ندارد. به همین دلیل من با موتورهای انجمن کار می کنم. یکی از موارد جدیدی که اخیراً شروع به استفاده از آن کردم، شروع یک دسته بندی جدید SMF با چیزهای امیدوارکننده مفید است. ما شروع کوچک، خوب، به عنوان مبتدی بسیار مفید است.

    اولین قدم در بهینه سازی موتورهای جستجو انجمن ماشین های ساده: حذف حق چاپ و پیوندهای خارجی

    من فوراً رزرو می کنم که فقط با smf 2 کار می کنم و این مقاله به طور خاص به این نسخه از موتور انجمن رایگان اشاره خواهد کرد.

    و بنابراین، خوانندگان معمولی می دانند که من چقدر دوست ندارم "10" پیوند خارجی را به سایت های رسمی موتورها، از جمله انجمن های انجمن، قرار دهم. به همین دلیل است که اول از همه، ما حق چاپ را حذف می کنیم و به 4، توجه 4 پیوند خارجی فرم " SMF 2.0.2 | ماشین های ساده | SMF © 2011 | XHTMLبرای انجام این کار، از طریق FTP forum/Themes/ به سایت متصل شوید نام تم شما/ و فایل را ویرایش کنید index.template.php. به طور طبیعی، در پایین کد (در مورد خط 330) وجود دارد که پیوندهای خارجی را نشان می دهد که ما چندان دوست نداریم. بنابراین، ما حذف می کنیم: "

  • "، theme_copyright()،"
  • "و"
  • "، $txt["xhtml"]، "
  • ". همه چیز بسیار ساده و آسان است. در انتشارات بعدی منتظر مطالب جدید در مورد ترویج و بهینه سازی انجمن ها در SMF باشید /