Everyone knows that I just can't live without Joomla, but in my opinion, good forum in components, no. That's why I work with forum engines. One of the new ones I just recently started using is Starting a new SMF category, hopefully with useful material. We start small, well, as beginners very useful.

First steps in search engine optimization Simple Machines Forum: remove copyright and external links

I’ll make a reservation right away that I work only with smf 2 and this article will refer specifically to this version of the free forum engine.

And so, regular readers know how much I do not like to put "10" external links to the official sites of engines, including forum ones. That is why, first of all, we remove the copyright and as many as 4, attention 4 external links of the form " SMF 2.0.2 | Simple Machines | SMF © 2011 | XHTML" ! To do this, connect to the site via FTP forum/Themes/ name of your theme/ and edit the file index.template.php. Naturally, at the very bottom is the code (about line 330), which displays external links that we don’t like so much. Therefore, we remove: "

  • ", theme_copyright(), "
  • " and "
  • ", $txt["xhtml"], "
  • ". Everything is so simple and easy. In the next publications, wait for new materials on promoting and optimizing forums on SMF /

    Let's start right away with the main script code:

    #!/usr/bin/perl

    # which-forum.pl script
    # (c) 2010 Alexandr A Alexeev, http://website/

    use strict;

    # commented lines - for strictness
    # if the task is to collect engine statistics, leave it as is
    # if you make a list of forums - uncomment

    my $data ;
    $data .= $_ while (<> ) ;

    # check how many were Powered by phpBB without footer link
    print "phpbb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i or
    # $data =~ /viewforum\.php\?[^""]*f=\d+/i or
    $data =~ /phpBB\-SEO/i or
    $data =~ /) ;
    print "ipb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i or
    $data =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/i or
    $data =~ /

    /i or
    $data =~ /index\.php\?[^""]*showforum=\d+/i) ;
    print "vbulletin \n"
    if ($data =~ /Powered by:?[^<]+vBulletin[^<]+(?:Version)?/i or
    $data =~ /) ;
    print "smf \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>Powered by SMF/i or
    $data =~ /index\.php\?[^""]*board=\d+\.0/i) ;
    print "punbb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i) ; #or
    # $data =~ /viewforum\.php\?[^""]*id=\d+/i);
    print "fluxbb \n"
    # if($data =~ /viewtopic\.php\?id=\d+/i or
    if ( $data =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
    print "exbb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # or
    # $data =~ /forums\.php\?[^""]*forum=\d+/i);
    print "yabb \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i or
    $data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ;
    print "dleforum \n"
    if ($data =~ /\(Powered By DLE Forum\)<\/title>/i or
    $data =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE Forum<\/a>/i) ;
    print "iconboard \n"
    if ($data =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i or
    $data =~ /\n"
    if ($data =~ /\n"
    # if($data =~ /forums\.php\?fid=\d+/i or
    # $data =~ /topic\.php\?fid=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
    print "stokesit \n"
    # if($data =~ /forum\.php\?f=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i) ;
    print "podium \n"
    # if($data =~ /topic\.php\?t=\d+/i or
    if ($data =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
    print "usebb \n"
    # if($data =~ /forum\.php\?id=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
    print "wrforum \n"
    # if($data =~ /index\.php\?fid=\d+/i or
    if ($data =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
    print "yetanotherforumnet \n"
    if ($data =~ /Yet Another Forum\.net/i or
    $data =~ /default\.aspx\?g=posts&t=\d+/i) ;

    This and other scripts mentioned in the post can be found in this archive.

    Script which-forum.pl examines the html-page code for the presence of forum engine signatures in it. We used a similar technique when defining WordPress and Joomla, but there are a couple of differences. Firstly, the script itself does not load the page code, but reads it from stdin or a file passed as an argument. This allows us to download the page once, for example, using wget, and then run it through several parsers, if we have more than one. Secondly, in this script, the presence of a signature is a 100% sign of the engine. Last time, the presence of the signature only gave weight to the corresponding engine and “won” the engine with the highest weight. I decided that in this case, such an approach would only unnecessarily complicate the code.

    To test the script, I did a little research. I compiled a list of several thousand forums and ran each of them through my script, thereby determining the percentage of program activations and the popularity of various engines.

    To get the list of forums, I used my Google parser. search engine send requests like

    site:forum.*.ru
    site:talk.*.ru
    site:board.*.ru
    site:smf.*.ru
    site:phpbb.*.ru
    ....

    and so on. You can find the complete query generator code in the file gen-forumsearch-urls.pl. In addition to the .ru zone, .su .ua .kz and .by were also used. It was difficult to conduct such a study last time, since WordPress and Joomla sites do not have such signatures in the URL. Catalogs like cmsmagazine.ru/catalogue/ do not provide a sufficient sample size. What is 600 sites on Drupal?

    I must admit that the results of the experiment disappointed me. Of the 12,590 sites studied, only 7,083 engines were successfully identified, that is, only in 56% of cases. Maybe I did not take into account some engine? Did Bitrix stand on half of the forums? Or should I have spent more time looking for signatures? In general, more research is needed here.

    Among the 56% of engines successfully identified, IPB (31%), phpBB (26.6%) and vBulletin (26.5%) were the most popular, as expected.

    They are closely followed by SMF (5.8%) and DLEForum (5.3%). My favorite punBB was only in 6th place (1.64%). I would not advise strongly trusting these figures (they say that every third forum in Runet works on IPB), but certain conclusions can, of course, be drawn.

    For example, if you intend to make a site on a forum engine and plan to modify the forum, say, pay users 0.01$ for each message with automatic withdrawal of funds once a week, then you should choose one of the three most popular engines. The more popular the forum, the more likely it is to find a programmer who is well versed in it.

    If no significant changes are expected in the engine, then it may make sense to choose a less popular engine, such as SMF or punBB. This will reduce the number hacker attacks to your forum and the amount of spam automatically sent on it.

    Scripts for searching / defining forums can also find more than one practical use. The first thing that came to my mind personally was to sort the identified forums by TCI and place posts with links to one of their sites in the first hundred. However, a hundred forum dofollow links did not affect the TIC in any way (2 updates have passed), so it's better not to waste time here unless you are interested in transitions.

    It is clear that the named use of scripts is far from the only one. I think you can easily figure out how else you can use them.

    Organized by Botmaster Labs, not planned. There is no time, the video is needed for the contest, as a newfangled trend, although it is easier to explain everything with good screenshots (my IMHO), and I don’t really want to shoot anything. There are very few profitable topics left, dumb spam no longer rules at all, here you need to think and no one will shoot the topic, if only the obsolete try to put it in a beautiful wrapping and powder a little. :) But this is not about us. In general, these 3 "not", I think, basically became barriers to participation in the competition for most potential participants. It's like with the repair of a car out of three: cheap, high-quality, fast - in the service they can only fulfill 2 conditions at the same time. sit and choose what is closer to you. :) It’s the same with the competition: I have time, I can make a video, but there is no topic, or I can make a video, I have a topic, but I don’t have time at all, or there is free time and there is a small topic, but the video scares. But it's good if 2 conditions are met at the same time. Okay, let's drop the lyrics. I will continue to myself. I didn’t plan to, so I will participate in the competition, I even chose which article I will vote for. Say what you like, but Doz knows the software very well and knows how to use it very sensibly. But today I learned that intrigue appeared in the competition. It turns out that I won't be able to vote, but only beginners who purchased the software in 2011 and the contest is designed for them can do it. I was a little surprised, but the owner is a gentleman. The competition is an advertising campaign and Alexander knows better how to conduct it. In general, I decided then to post an article, it is somewhat easier to write when it is clear for whom, in fact, it is impossible to do this for the entire collective farm.
    Long introduction is over, now to the point.
    What does a beginner need when he has acquired such a super-harvester, which is the Xrumer + Hrefer complex? That's right, learn how to work on it and discard the illusion that by starting to spam sheets, you can earn money. If you think so, donate your money to charity right away. You need to learn how to use the tools of the complex, preferably sharpening it for yourself. The time to "take more - throw more" is over. Quantity gives way to quality. So we will collect the base for ourselves, do not learn how to do it - you will fall behind the train. Of course, Khrefer will help us with this. If you plan to promote your resources on Google, then we also need to look for donor sites through Google. I think this is understandable and logical. But Google, as the mistress of the copper mountain, does not give away its wealth to everyone. It needs an approach. I would like to say right away that do not hope that according to the signs that you find in the public, you will be able to collect something. That's why they are available in public because they are worthless. I will not develop the topic further. It’s better to tell you how to assemble it correctly so that you see the result, the rest you will finalize yourself, the main thing is to understand the principle. It is necessary to collect according to the correct one according to the signs of specific engines we need, and not to the signs of forums in general. it main mistake beginners - do not concentrate on a specific one, but try to cover everything as a whole. And yet, if you want to parse a more or less normal base, refuse to use operators in queries. No "inurl:", "site:", "title" etc. Google will ban searchers like you instantly. Therefore, we carefully study the engines with which this moment Hrumer works:

    Powered by php-Fusion

    In Chrumer version 7.07, the program has been trained with several new engines:

    forumi.biz, forumb.biz, 1forum.biz, 7forum.biz, etc.

    phpBB-fr.com, Solaris phpBB theme

    And the process of learning new things goes on continuously.
    In general, we need to prepare the correct queries for parsing by Khrefer. Let's take forum dizhok as an example. SMF Forums. And we will begin to disassemble it into parts for parsing. Our beloved Google will help us with this. Entering a Google Query SMF Forums- a lot of garbage in the issue, rewind to some 13th page and select any link. I came across this one: http://www.volcanohost.com/forum/index.php?topic=11.0 . Let's open it and explore. We need to find something characteristic on the page that can be applied to the search for other pages on this engine. In the footer we notice the following inscription Powered by SMF 1.1.14, we quote it and enter it into Google, it shows us that for this request it knows about 59 million options. We skim through the links, add a couple more options to this keyword, for example, "Powered by SMF 1.1.14" poplar or Powered by SMF 1.1.14 viagra. We are convinced that the request is chic, in the issuance of only forums and almost no garbage for you.

    Besides, we are not interested in quantity, but in quality, as I said above. Move on. From the same forum we take another phrase from the footer: , also quote it and feed it to Google. In response, he reveals that he knows more than 13 million results. Again, we skim through the output, add additional words and check the output with them. We make sure that the request is excellent and there is also almost no garbage. In general, there are already 2 iron requests. I suggest that the first forum be left alone for now and continue to collect requests from other forums. Fortunately, Google is open on request 2006-2008 Simple Machines LLC. We take from the issue, for example, these forums: http://www.snowlinks.ru/forum/index.php?topic=1062.0 and http://litputnik.ru/forum/index.php?action=printpage;topic=380.0 in the footers we take the following requests from them: "Powered by SMF 1.1.7" and "Powered by SMF 1.1.10" (I always advise you to drive requests for Khrefer in quotes, because we need quality first of all). I think it is clear what we are doing, in the end we will have a certain database of queries for searching forums on the SMF engine (it was chosen as an example, with the rest of the engines it is similar).
    It will look something like this:

    Powered by SMF 1.1.2

    Powered by SMF 1.1.3

    Powered by SMF 1.1 RC2

    Powered by SMF 1.1.4

    Powered by SMF 1.1.8

    Powered by SMF 1.1.7

    "2006-2008, Simple Machines LLC"

    And that's not all. When collecting versions of engines, we find the overhang "2001-2006, Lewis Media" in the footer on some SMF forums. We check this request, it also fully satisfies us. We find a similar query: "2001-2005, Lewis Media". Running the footers further we find the following request: "SMFone design by A.M.A, ported to SMF 1.1". Check it out - great. And so on. Half an hour of work and you have a wonderful database of queries on the engine, and for these queries Google will ban much less often than if you use operators in them. And at the same time, your database will be much cleaner than if you use queries like "index.php?topic=", because here Google will give not only the forums we need, but also a lot of left resources where it was possible leave a link to the forum topic. You can argue, they say, what's wrong with that? Others left a link, so we can. But! Links can be left not only by Hrumer, but also by other programs. moreover, they can be specially sharpened for leaving comments in a certain resource, the so-called highly specialized software, plus such links could be left by hand. Again, I repeat, it is not the quantity of junk that is important to us, but the quality, we will collect the base with the right requests anyway. A plus this method also in the fact that you will practically not need to configure sieve-filter , it can be simply turned off, because Google will practically not give you garbage.


    I think that it is very important to learn how to correctly use Chrefer at the initial stage, because having learned this, you can always find a use for Chrumer, no matter how the situation changes. Defenses are becoming more complex, and if on some types of engines they have strengthened the protection and cannot cope with it in this moment Khrumer, it makes no sense to spend resources on collecting these links, and then on working on them with Khrumer, it is better to focus on what gives the result. And at the same time, if the Botmaster Labs team has taught Chrumer something new, you can quickly dissect a new patient and prepare Chrumer's base while the patient is still warm. Time is money, the resource may no longer be relevant when you buy the base. collected by someone. In addition, the correct collection of bases for yourself greatly expands the "white" use of Khrumer. And this is exactly where everything is moving, whether we like it or not, but the process of whitening or graying is going on. Black sheets for everything you can go into the past.
    All other, already technical aspects of working with Hrefer can be viewed in the help and it makes no sense to dwell on them, all goals-points-seconds are set empirically for each car individually.
    As a bonus, I'll post here a template for parsing the Chinese search engine Baidu, the other day I was asked about it, so I did it in between times, sorry for the pun. :)


    Hostname=http://www.baidu.com
    Query=s?wd=
    LinksMask=
    TotalPages=100
    NextPage=

    NextPage2=

    CaptchaURL=
    CaptchaImage=
    CaptchaField=


    I tried to test parse them, there was no ban, Khrefer collected resources quickly, all requests for parsing were similar to those of Google, but there were a sea of ​​Chinese resources, and with a high PR, and besides, a European had not set foot in a lot of places. It is better to parse with Chinese requests. Google Translate will help with this, type a list of keywords in Russian and translate it into Chinese. The truth in words"Chrefer's words cannot be put together in Chinese, they must be recoded.
    Instead of Chinese:

    伟哥 - viagra

    吉他 - guitar

    其他 - rest

    保险公司 - insurance

    Put these codes in the Words file to replace them:

    %E4%BC%9F%E5%93%A5

    %E5%90%89%E4%BB%96

    %E5%85%B6%E4%BB%96

    %E4%BF%9D%E9%99%A9%E5%85%AC%E5%8F%B8

    If you are promoting an insurance site, then by posting a link in your profile on a thematic (!) even a Chinese forum found on request " forum SMF" 保险公司 will be very good.
    In conclusion, I would like to say that I never understood people who complained that Khrefers were bad or not parsing, I always wanted to say this, you just don’t know how to cook them. Not a single parser is better than a referrer, it just needs to be correct. Hrefer is a car: good, solid, made in German, but a person controls it and it all depends on how sensibly it is driven, you can’t force the car to go right and left at the same time.
    A separate topic is the cleaning of bases, I once 3 years ago for the previous contest. Everything is still relevant from more there, but now you can refuse to check for 200 OK, I really didn’t really like this process, the errors were very large, a lot of superfluous was filtered out. Now this can be done almost automatically during Chrumer's work, although this process is not a complete analogue of checking for "200 OK". In general, to the point: not so long ago, a wonderful opportunity appeared in Khrumer - to rob information from resources at the time of the project run. It looks like this. You drive in a template that will be processed during the work, and the information collected according to the template will be entered into the xgrabbed.txt file in the Logs folder. You can use this function for anything, the flight of fancy is huge. I use this function once a week to remove links from the "expired" working database. It's no secret that forums die off every day in order to clean up the base from such resources and the "Autograbbing" tool will help us in this case.
    After all, you must admit that often typing, for example, http://www.laptopace.com/index.php, we see that this domain is already, for example, goudya, but there is no forum there. So, in order to throw this slag out of the base, we will rob. :) We open the source code of the page and see this entry there:

    laptopace.com
    For grabbing, we convert it to
    [...]

    Now all the "dead" from goudaddi will be known to us by name.
    Here is a small selection for the "Autograbbing" tool, if you want to clean the database from different "expired" domains:


    [...]

    [...]
    [...]
    [...]

    [...]
    This domain may be for sale. [...]Buy this Domain

    [...]<body bgcolor="#ffffff" text="#000000"> </span><br>The list is far from complete, but I think it will help not to drive multimillion-dollar garbage bases many times. It's not difficult to create a template, open the expired link and make a template mask. <br>Using the same auto-grabbing, you can also go through your existing databases and sort them by resources, breaking them down by engines. Sorting databases by engines will allow you to make the best use of all the features and settings of Hrumer, in particular the learning process. And besides, with the help of Autograbbing, you can remove garbage from the databases if you prefer to collect them not by Hrefer, but by downloading from various file hosting services. To do this, you need to either make a mask for selecting forums and then collect from the database only what is grabbed by the mask, or vice versa make a mask for non-forums and then delete what is grabbed. The first option is more logical and more reliable, because we know exactly what to look for. <br>Good luck in job. <br>PySy. I made a narrowly focused video (I suffered with it, I did it for the first time :)), although I launched Hrefer from my home machine, the net speed is not very good, here I have copies only for tests, so do not blame me for the speed of work. :) <br><p><span class="BlWV-EuxoOk"></span></p> <h4>16 comments:</h4> <p>jacka comments...</p><p>What program did you select keywords with?</p> Serge Glazko comments... <p>if I need to collect thematic resources, then I select the words in Words with pens and through Adwords. but on many topics words have already been selected for me, here I can only add or delete some words, but also not automatically, but I look through them all.</p> <p>Hello, dear readers of the blog site. So, we continue the topic of setting up a forum engine called SMF, started in a post about it. There we have not yet made the forum Russian, in terms of translation from the English interface. At the moment it does not look very presentable, but after Russification (if it has not been done yet) and the creation of the appropriate sections, its appearance will improve significantly.</p><p>Today we will consider themes and make it Russian, as well as install the JFusion component, which can work with both engines (both Jumla and SMF), which will allow us to have a common user base for two and just one form of their registration and login.</p><h2>Themes and installation of the Russian language pack</h2><p>The Simple Machines Forum engine supports the ability to change topics, and they can be changed both for the entire forum as a whole and for its individual sections in particular. Personally, I used the default theme, but made a lot of manual changes to it. In particular, I changed the background, the color schemes of some elements, added a flash clock, a radio, and much more, which I will talk about in subsequent posts in this section.</p><p>Why didn't I use any of the additional themes when creating the forum? Well, it's probably all about my laziness. No, I was not too lazy to look for and download new themes, since there are many places where this can be done. My laziness lies elsewhere.</p><p>The fact is that all the variety of mods for this engine, designed to expand its capabilities, is focused specifically on the default theme. I explain. If you have a default theme, then adding this or that mod to SMF takes a matter of seconds and, as a rule, does not require manual editing of the code.</p><p>In the case of installing a mod on a design theme other than the default one, it will be necessary, as they say, to process all the raw details with a file. In other words, you will have to <a href="https://bar812.ru/en/kak-stavit-shablony-osnovy-photoshop-sozdanie-besshovnoi-zalivki-pattern-dlya.html">using FileZilla</a>(download and configure it, you can access the site via FTP and open for editing the files of your forum engine, in which <a href="https://bar812.ru/en/skyrim-launcher-ne-vidit-faily-launcher-skairim-ne-vidit-mody-kak-reshit.html">this mod</a> makes changes.</p><p>Then look for <a href="https://bar812.ru/en/zachem-nuzhen-validnyi-kod-i-kak-ustranit-oshibki-validacii-url-adresa-v.html">Right place</a> in the code and perform the necessary actions: either replacing the code, or deleting, or adding a piece of code before or after the fragment you need. Considering that there may be around a dozen files to which changes will need to be made, one can imagine how troublesome this will be to do. In this case, you need to be very careful and not make mistakes, because otherwise the forum may not open at all.</p><p>If all the problems of using a non-default theme listed above do not scare you, then you can download them from here. The topics there are sorted into sections (minimalism, close to classical, modern, etc.) and for each of them you can see its screenshot on <a href="https://bar812.ru/en/kak-sdelat-polnoekrannyi-vyiti-na-polnyi-ekran-kak-nastroit.html">Full Screen</a>. How to install these same themes I will tell a little later.</p><p>If you did not Russify the forum at the stage of uploading the engine files to the hosting, as described in the first part of this opus (see the link at the very beginning of the article), then you can do it now. The Russian language pack previously downloaded from this page with the required one, you need to unpack and then copy the Themes folder to <a href="https://bar812.ru/en/html-absolyutnye-i-otnositelnye-ssylki-sozdanie-ssylki-otnositelno.html">root folder</a> where there is already a directory with the same name.</p><p>Upon completion of copying, you need to go to the forum using the login and password of the administrator. Select "Admin" from the top menu, and then click "Server Settings" from the left column.</p><p>In the window that opens, find the item "Default Forum Language" and select the Russian language from the drop-down list, and then click on the "Save" button at the bottom of the page.</p><p><img src='https://i2.wp.com/ktonanovenkogo.ru/image/16.092.png' width="100%" loading=lazy loading=lazy></p><p>That's it, now your conference is completely in Russian.</p><h3>Solving problems when installing mods that do not support the Russian language</h3><p>Please note that in the future, when adding mods to SMF that do not have Russian translation, you may sometimes have a problem with displaying mod settings in the admin panel. Actually, these same settings in the admin panel will simply not be visible, because. there will be no Russification files for them. Therefore, you will have two options for solving this problem.</p><p>The first way is to switch to English for the entire forum. How this can be done, you can see a few paragraphs above. Accordingly, after you perform the necessary actions with these settings, you will need to return to Russian again.</p><p>The second method is more complicated, but it will allow us to see the settings of installed mods in the admin panel always, and not only when activated <a href="https://bar812.ru/en/trikolor-tv-akcii-po-oplate-akcii-trikolor-tv-besplatnyh-uroka.html">of English language</a>. I dwell on this point in such detail because the question that someone has installed a mod and cannot find its settings in the admin panel of their board is a very common one.</p><p>So, the second way is to add translation lines to the Russification files for the newly added mods. How to determine which Russification files need to be changed and where to get them, I will tell later. In the meantime, temporarily, you can use the first method.</p><h2>Installing JFusion to integrate site and forum</h2><p>First you will need to download JFusion and its Russification. Having entered the Joomla admin panel, we perform standard actions: select from <a href="https://bar812.ru/en/fiksirovannoe-verhnee-menyu-i-plavayushchii-saidbar-v-wordpress.html">top menu</a> admin panel items "Extensions" - "Install / Remove" - ​​"Upload package file" - the button "Browse" - we find on our computer the file with the jfusion_package.zip component - click on the button "Upload file & Install>".</p><p>After that, a window appears informing you that the component was installed successfully. If problems arise, then you can familiarize yourself with the options for solving some of them at the link just above.</p><p>Now it's the turn of Russification, which is added in the same way as the component itself. Those. repeat the sequence of actions: "Extensions" - "Install / Remove" - ​​"Upload package file" - the "Browse" button - find the JFusion Russification file on your computer - click on the "Upload File & Install" button. Now we can go to the settings along the path "Components" - "JFusion" and make sure that Russification has been successfully added and is working.</p><p><img src='https://i1.wp.com/ktonanovenkogo.ru/image/16.093.png' width="100%" loading=lazy loading=lazy></p> <p>Good luck to you! See you soon on the blog pages site</p><h3></h3><p>You may be interested</p><p><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/nastroika-jfusion.jpg' width="100%" loading=lazy loading=lazy><span>Configuring JFusion for Fusion <a href="https://bar812.ru/en/prigotovil-index-php-topic-powered-by-smf-temy-oformleniya-i-rusifikaciya.html">Forum SMF</a> and Joomla site</span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/moduli-jfusion.jpg' width="100%" loading=lazy loading=lazy><span>JFusion modules for displaying messages from the forum on the site, as well as creating a button in SMF to return to Joomla</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/forum-joomla.jpg' width="100%" loading=lazy loading=lazy><span>Creating a menu item in Joomla to enter the forum and transferring user registration from SMF to the site</span> <br><img src='https://i1.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/ustanovka-smf.jpg' width="100%" loading=lazy loading=lazy><span>SMF Forum Installation - Joomla 1.5 and Simple Machines Forum Integration Using <a href="https://bar812.ru/en/gordostyu-index-php-topic-powered-by-smf-temy-oformleniya-i-rusifikaciya-foruma-smf-a-tak-zhe.html">JFusion component</a> </span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/rasshireniya-joomla.jpg' width="100%" loading=lazy loading=lazy><span>Extensions for Joomla - what is it and where to download components, modules and plugins for Joomla, how to install and remove them</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/k2-joomla.jpg' width="100%" loading=lazy loading=lazy><span>K2 component for creating blogs, catalogs and portals on Joomla - features, installation and Russification</span> <span>Photo Gallery for Joomla - Part 3 - Creating galleries in Joomla 1.5 using the Phoca Gallery component - adding categories and uploading images to the photo gallery</span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/artio-joomsef.jpg' width="100%" loading=lazy loading=lazy><span>ARTIO JoomSEF - customization of CNC (SEF) links and Title in Joomla, as well as creating a 404 error page using this extension</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/joomlapack.jpg' width="100%" loading=lazy loading=lazy><span>Akeeba Backup (former JoomlaPack) - creating a backup of a site on Joomla and restoring from <a href="https://bar812.ru/en/mozhno-li-ustanavlivat-windows-10-sposoby-besplatnogo-poluchenie-licenzii.html">backup</a> in two clicks</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </div> </div> <div class="td-pb-span4 td-main-sidebar" role="complementary"> <div class="td-ss-main-sidebar"> </div> </div> </div> </div> </article> <script type="text/javascript"> try { var sbmt = document.getElementById('submit'), npt = document.createElement('input'), d = new Date(), __ksinit = function() { sbmt.parentNode.insertBefore(npt, sbmt); }; npt.value = d.getUTCDate() + '' + (d.getUTCMonth() + 1) + 'uniq9065'; npt.name = 'ksbn_code'; npt.type = 'hidden'; sbmt.onmousedown = __ksinit; sbmt.onkeypress = __ksinit; } catch (e) {} </script> <div class="td-sub-footer-container td-container-wrap "> <div class="td-container "> <div class="td-pb-row "> <div class="td-pb-span td-sub-footer-menu "></div> <div class="td-pb-span td-sub-footer-copy ">2022 bar812.ru. Just about the complex. Programs. Iron. Internet. Windows</div> </div> </div> </div> </div> <script data-cfasync="false" type="text/javascript"> if (window.addthis_product === undefined) { window.addthis_product = "wpwt"; } if (window.wp_product_version === undefined) { window.wp_product_version = "wpwt-3.1.2"; } if (window.wp_blog_version === undefined) { window.wp_blog_version = "4.9.1"; } if (window.addthis_share === undefined) { window.addthis_share = {}; } if (window.addthis_config === undefined) { window.addthis_config = { "data_track_clickback": true, "ui_language": "ru", "ui_atversion": "300" }; } if (window.addthis_plugin_info === undefined) { window.addthis_plugin_info = { "info_status": "enabled", "cms_name": "WordPress", "plugin_name": "Website Tools by AddThis", "plugin_version": "3.1.2", "plugin_mode": "AddThis", "anonymous_profile_id": "wp-f2d21fd70bfc0c32605b4e5e1e4ff912", "page_info": { "template": "posts", "post_type": "" }, "sharing_enabled_on_post_via_metabox": false }; } (function() { var first_load_interval_id = setInterval(function() { if (typeof window.addthis !== 'undefined') { window.clearInterval(first_load_interval_id); if (typeof window.addthis_layers !== 'undefined' && Object.getOwnPropertyNames(window.addthis_layers).length > 0) { window.addthis.layers(window.addthis_layers); } if (Array.isArray(window.addthis_layers_tools)) { for (i = 0; i < window.addthis_layers_tools.length; i++) { window.addthis.layers(window.addthis_layers_tools[i]); } } } }, 1000) }()); </script> <script type='text/javascript'> var tocplus = { "smooth_scroll": "1", "visibility_show": "\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c", "visibility_hide": "\u0441\u043a\u0440\u044b\u0442\u044c", "width": "Auto" }; </script> <script type='text/javascript' src='https://bar812.ru/wp-content/plugins/disqus-comment-system/media/js/disqus.js?ver=bbebb9a04042e1d7d3625bab0b5e9e4f'></script> <script> (function() { var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm, ''); }); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } }); } })(); </script> <div id="tdw-css-writer" style="display: none" class="tdw-drag-dialog tdc-window-sidebar"> <header> <a title="Editor" class="tdw-tab tdc-tab-active" href="#" data-tab-content="tdw-tab-editor">Edit with Live CSS</a> <div class="tdw-less-info" title="This will be red when errors are detected in your CSS and LESS"></div> </header> <div class="tdw-content"> <div class="tdw-tabs-content tdw-tab-editor tdc-tab-content-active"> <script> (function(jQuery, undefined) { jQuery(window).ready(function() { if ('undefined' !== typeof tdcAdminIFrameUI) { var $liveIframe = tdcAdminIFrameUI.getLiveIframe(); if ($liveIframe.length) { $liveIframe.load(function() { $liveIframe.contents().find('body').append('<textarea class="tdw-css-writer-editor" style="display: none"></textarea>'); }); } } }); })(jQuery); </script> <textarea class="tdw-css-writer-editor td_live_css_uid_1_5a5dc1e76f1d6"></textarea> <div id="td_live_css_uid_1_5a5dc1e76f1d6" class="td-code-editor"></div> <script> jQuery(window).load(function() { if ('undefined' !== typeof tdLiveCssInject) { tdLiveCssInject.init(); var editor_textarea = jQuery('.td_live_css_uid_1_5a5dc1e76f1d6'); var languageTools = ace.require("ace/ext/language_tools"); var tdcCompleter = { getCompletions: function(editor, session, pos, prefix, callback) { if (prefix.length === 0) { callback(null, []); return } if ('undefined' !== typeof tdcAdminIFrameUI) { var data = { error: undefined, getShortcode: '' }; tdcIFrameData.getShortcodeFromData(data); if (!_.isUndefined(data.error)) { tdcDebug.log(data.error); } if (!_.isUndefined(data.getShortcode)) { var regex = /el_class=\"([A-Za-z0-9_-]*\s*)+\"/g, results = data.getShortcode.match(regex); var elClasses = {}; for (var i = 0; i < results.length; i++) { var currentClasses = results[i] .replace('el_class="', '') .replace('"', '') .split(' '); for (var j = 0; j < currentClasses.length; j++) { if (_.isUndefined(elClasses[currentClasses[j]])) { elClasses[currentClasses[j]] = ''; } } } var arrElClasses = []; for (var prop in elClasses) { arrElClasses.push(prop); } callback(null, arrElClasses.map(function(item) { return { name: item, value: item, meta: 'in_page' } })); } } } }; languageTools.addCompleter(tdcCompleter); window.editor = ace.edit("td_live_css_uid_1_5a5dc1e76f1d6"); // 'change' handler is written as function because it's called by tdc_on_add_css_live_components (of wp_footer hook) // We did it to reattach the existing compiled css to the new content received from server. window.editorChangeHandler = function() { //tdwState.lessWasEdited = true; window.onbeforeunload = function() { if (tdwState.lessWasEdited) { return "You have attempted to leave this page. Are you sure?"; } return false; }; var editorValue = editor.getSession().getValue(); editor_textarea.val(editorValue); if ('undefined' !== typeof tdcAdminIFrameUI) { tdcAdminIFrameUI.getLiveIframe().contents().find('.tdw-css-writer-editor:first').val(editorValue); // Mark the content as modified // This is important for showing info when composer closes tdcMain.setContentModified(); } tdLiveCssInject.less(); }; editor.getSession().setValue(editor_textarea.val()); editor.getSession().on('change', editorChangeHandler); editor.setTheme("ace/theme/textmate"); editor.setShowPrintMargin(false); editor.getSession().setMode("ace/mode/less"); editor.setOptions({ enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: false }); } }); </script> </div> </div> <footer> <a href="#" class="tdw-save-css">Save</a> <div class="tdw-more-info-text">Write CSS OR LESS and hit save. CTRL + SPACE for auto-complete.</div> <div class="tdw-resize"></div> </footer> </div> <script type="text/javascript" defer src="https://bar812.ru/wp-content/cache/autoptimize/js/autoptimize_d85127d8732b44d62e81e0455b3d3cb7.js"></script> </body> </html>