Hi all, today I'm going to tell you about how I clean and edit my PP or spawned (pre)lndings. You won't find anything supernatural here, just the usual pragmatic approach. You can pass this article off as a guide for the young techies/vertailers you're going to work with. If you find that I haven't described something here that you encounter on a regular basis, you're welcome to comment. And we'll get started, please!
I'm not going to describe for the hundredth time how to pump out the landing pages, I'll just list the tools:
- Plugins WebScrapBook or Save All Resources - the first differs from the second only in that does not know how to extract the folder structure and crams all the files in one, which can lead to a non-working site if you use any scripts, like Drewlex
- wget is a versatile fighter, but you will need to learn how to insert proxy the right geo and, sometimes, the referrer
- Services for downloading, such as CopySite from XDan - the most convenient for the average user option, but often the most expensive
So, you pumped out the banding, what's next? Create a backup of the landing (just in case we screw something up), and open the index file in any text editor with syntax highlighting: mine is NeoVim, you can use Notepad++ or even Visual Studio Code.
Yes, if you are editing a landing page that has an index file with a .php extension rather than .html, I strongly recommend that you clean up all the php code and rename the file. In my opinion, PHP in the PP web pages - this is a redundancy, which is needed only for the PP themselves, and the usual arbitrator practically does not bring any benefits. Don't understand what and how to scrub? Easy, just throw a PHP landing on the hosting and download it for yourself all over again!
Cosmetics
Let's start by clearing the tag <html>
For example, the same WebScrapBook leaves there the full address of the original site from which you pulled the lend, and this, imho, unnecessary.
If the band uses Arabic or any other language in which the letters are written from right to left, then you must add the attribute dir="rtl"
.
Check that in the section <head>
there is a meta tag with utf-8 encoding. Without it, it happens that the site is displayed in the wrong encoding:
If inside a tag <head>
there is a tag .
then delete it so it doesn't get in the way🙃
Cleaning scripts
The scripts on the page most often occur in three places: inside the tag <head>
, right after the tag <body>
and at the very end before the closing </body>
. Search for them using the word .
and look through everything in a row.
Usually there are only a few scripts used on the bandings:
- JQuery
- Date output: date of articles, comments, special offers and promotions (dtime.min.js, etc.)
- Countdown timer (jquery.countdown.js and analogues) for the time or number of packs
- masks for phone numbers (inputmask, intltelnum)
- A script that hangs a scroll to the form on all links in the feed
In addition to this are found:
- scripts tape measure, boxes, doors (commonly known drewlex.jsfor example)
- scripts for fake comment forms
- scripts for quizzes
- scripts to display a carousel of images
- scripts for popups, kolbaker, kambaker, shopping cart and other whistles
Everything else you encounter, and what is most likely to be painlessly cleaned up, is:
- PP scripts (For example, shakesland.js)
- domonetization scripts
- lead stylers
- JQuery plugins
- Facebook, Google Tag Manager and Yandex.Metrics pixel code
Accordingly, for standard and regularly occurring scripts, you should ALWAYS have links to their CDNs or scripts themselves at your fingertips. The fact is that arbitrageurs don't really like it when their frontends are pumped out all in a row, and they have learned to cram lead stylers inside the same JQuery, domestication etc.
So be sure to replace JQuery with the version from the CDN:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
Usually the latest version is enough and everything will work, even if you have some other version on the feed. Plus, just in case, check that JQuery on the feed is not registered in several tags, this is very common.
Do the same for all the scripts that are in separate files: either replace them with validated versions or quickly scan them to make sure that they are not doing anything suspicious except their direct function. It's suspicious.: redirects, accessing any third-party resources, intercepting onclicks from links, creating ifames, working with form fields, the script body is encoded in base64 (is easily recognized by the presence of two equal signs at the end of the string ==), minified or obfuscated code (although in general almost all libraries use minification). Yes, you need to know Javascript, but what did you want? 🤷♂️ So if you're not good at it - Just replace the files with verified versions! But obviously, if the file is called index.js, main.js, script.js
etc., you are unlikely to have any "standard" version to replace it, you have to look at the code after all.
All scripts that seem unnecessary to you will be commented out first:
After which we check the performance of the site:
- all links should scroll us to the form
- all game mechanics should work in the form, if they were originally there
- If blur has been applied to the pictures, it should be removed when you click on it
- operating countdown timer
- correct dates of the article itself on the feed and in the comments
- all sorts of collabackers/cambackers, if there were any and if you need them
If after checking everything is okay, then feel free to delete the commented scripts.
Let me tell you a little bit more about a particular kind of script👇
Cutting out the pre-monetization scripts
Arbitrators often use "backfixing" in their feeds: that is, replacing the action that happens when you click the "Back" button in the browser. Instead of "Back," it opens a different landing page or storefront. Here's an example of custom domonetization:
You can easily detect a pre-monetica by the event onpopstate
- just look for this word in all downloaded html-files and scripts, and if you find it, in 99% cases it is🙃 The whole block, shown in the screenshot, safely delete.
Also, as an option, if you are too lazy to look through the files, and you want to check it - open in your browser lend from the local machine. Further click anywhere on the ribbon (prerequisite for domonet scripts on the desktop to be able to work with the history of the browser), and then press "Back". Nothing happened? Congratulations, there is most likely no domonetization in the tape. Why most likely? Because the domonetization script, for example, may check for a localhost. So it's better to check with search, or check the "Back" button already after you have uploaded the processed tape to the hosting or in tracker.
In addition to the custom backfixes, backfixes from various services and PPs are also found. They can be found in the following code snippets:
Also, some people use Brooky Bryan's ancient script to determine if the "Back" button is pressed, its presence can be detected by searching for the line "bajb
" over all of the downloaded Land files.
Working with the application form
Let me say right off the bat that if each of your landing pages has a separate lead sending file, that's crazy in my opinion. Here's a video of me telling you how to set up work with sending leads. The idea is that the submission file would be one per offerer, would be in a separate folder, and we would only have to put it in the action attribute of the form. For example: ../common/orders/ph/enerflex.php
Be sure to check that the form tag has a send method method="post"
. Some businesses are guilty of sending leads through Javascript and not prescribing a method. Don't do that!
Next, look at all the fields in the form and delete those that have type="hidden"
. Deleted? Gut. It's time to put all the subs you want in the same hidden fields. It's always the same set for me:
<input type='hidden' name='sub1' value='{subid}'/>
<input type='hidden' name='sub2' value='{landing_id}'/>
<input type='hidden' name='sub3' value='{sub_id_3}' />
<input type='hidden' name='px' value='{px}'/><input type='hidden' name='country' value='{country_code}'/>
You may have other names and values, but I recommend that you organize your work so that the set of fields is always the same. Then you can organize its insertion simply by hotkey.
I also often delete in the form of .
where the choice of country stands. What the hell is he doing?
If you can't find the form in the text of theIf the form is generated by Javascript, then it means that it is generated by Drewlex, most likely with the help of the Drewlex script. Read about it on my website and quickly figure out how to edit its settings.
Handling the name, phone number and send button fields
If you are transferring a strip from one geo to another, check that the Name field has a placeholder attribute (if there is one, of course.) a suitable example is written local name. Alternatively, if you have translated the feed into another language and the placeholder says "Enter your name", check that the placeholder has translated correctly, often it has not.
The phone is a little more complicated: here too we check the placeholder, if it contains an example of a phone, it should fit the local format. If you use a mask script, you should also check the number format in it. Also the field with the phone number must have type="tel"
rather than "text"
I've written about it many times.
Add Autocomplete for name and phone to taste🙃
If the button is used as the check that it is set to
type="submit"
If instead of it .
there's this { "submit"
is already in place. When transferring to another geo and language, be sure to see if the text on the button has been translated!
Offer substitution
Replacing an offer on the landing consists of several steps: replacing the pictures, price, name and form factor. Let's look at them one by one.
Images
This is more or less straightforward: we take the picture of the can from the PP and replace it with the one on the tape. You can usually find the places where the picture is used by searching through the html text for something like prod.png
or product.png
or nameoffer.png
. If you can't find anything, you have to open the feed in your browser and search with your eyes, then open the picture in a new tab and look at its name.
The situation becomes more complicated if (In addition to the main picture with the can) The photo with the offerer is also present in the comments. Usually there is a photo with the product in hand, etc. To replace it, you either have to find the same photos for your offerer (Ask the managers of PP), or you can simply delete these pictures.
If the can of goods (or the name of the offer) photoshopped into other photos on the lend, then here you either edit them yourself and replace one can with another, or give this task to professional designers. I recommend the second way.
Price
Usually it's easy to find the block with the prices of the product: just search through the text of the landmark for the word price
:
Change the price and currency: here you need the skill of multiplication by two to spell the "old" price🙃
Name of the offer
Do stupidly replace the text, but I recommend that you do not do it all at once, and one at a time, so as not to inadvertently replace any names of pictures / scripts.
Form Factor
If you change from ointment to pills or drops to powder, you'll have to use Google Translate. Translate the entire band into Russian and proofread everything. You need to find the pieces of text that do not fit the meaning. The pills can't be "rubbed into your knee twice a day," and the powder can't be dropped into a glass. All of this you will have to correct, preferably, of course, using a professional translator. But if you're lazy, Deepl/Google Translate is at your service, which doesn't negate the fact that you'll have to make up a new piece of text.
Translation to another language
If you or your team are serious about driving traffic to a new geo, and you have lends in other languages, it's best to use professionals or have the lends translated by a translation company. But until the translation is ready, you you can use my auto-translation software, it's pretty good!🤘
After translating, check first of all all the names: the names of the characters in the story, the names of the commenters. They should all be from the new geo. Look for google lists like: "Top 100 male names in Bangladesh
" and replace it.
Next, see all the place names: city, country, ethnochoronim (Spaniards, Portuguese, etc.). Everything is edited for the new geo.
If the PP allows, look for real local characters: stars, doctors, politicians, etc., and replace the photos of those that were there with new ones.
All that remains is to change the price of the goods and the local currency and you can pour!
Checking the functionality
So, at the end of your editing work, you have to check:
- layout: it did not go, the site is displayed correctly in both desktop and mobile versions
- links do not open in a new or current window, they all scroll to the application form
- All game mechanics and additional scripts work
- the form has the correct prices and there is a bank of goods
- there are no "double" dates, i.e. the dates of the article and the comments are written once. If you see that there are two dates, then you did not download the site correctly (Most likely via "Save as" in the browser), you'll have to look up the current year and delete the excess
- then it remains to send a test lead and check that it has fallen into the Rejected
Conclusion
As you may have noticed, when editing feeds, quite a few tasks have to be done manually: changing scripts, names, etc. Think about which of these can be automated: I personally have up to 30-50% of feed processing tasks done by a telegram bot. He's already gotten to the point where he even uses computer vision and checks to see if the name of the old offerer on the pictures + can change them automatically. Maybe someday I'll share such a solution in a public forum, and I wish you to pour in plus and clean out your landing pages properly!