Hello everyone, today we will tell you how to clean and edit landings and pre-landers downloaded from an affiliate program or SPY. You can give out this article as a guide to action for young techies / layout designers with whom you are going to work. If, suddenly, you find that we have not described here some point that you regularly encounter, welcome to the comments. And let's get started, I guess!

How to download someone else's landing page​

Just listing the tools:
  • Plugins WebScrapBook or Save All Resources —the first differs from the second only in that it cannot download the folder structure and shoves all the files into one, which can lead to a non-working site if any scripts are used.
  • Wget — universal fighter, but you will need to learn how to insert a proxy of the desired GEO into it.
  • Download services, for example CopySite from XDan - the most convenient option for the average user, but often paid.
So, you have downloaded the landing page, what's next? We create a backup of the landing page (in case we screw something up), and open the index file in Notepad++. If you are editing a landing page that has a .php index file instead of .html, we strongly recommend that you clean up all the php code and rename the file.

Cosmetic changes​

Let's start by cleaning the <html> tag, the same WebScrapBook, for example, leaves there the full address of the original site from where you pulled the landing, and this, IMHO, is superfluous.

1682502071025-png.38401


Remove all attributes and leave the <html> clean. If the landing uses аrabic or any other language in which letters are written from right to left, then the dir="rtl" attribute must be added to the html tag.

We check that in the <head> section there is a meta tag with utf-8 encoding. Without it, it happens that the site is displayed in the wrong encoding:

1682502071034-png.38396


If there is a <base> tag inside the <head> tag, then we delete it so that it does not interfere.

Script cleaning​

Scripts on landing pages are most often found in three places: inside the <head> tag, immediately after the <body> tag, and at the very end before the closing </body>. We are looking for them by the word <script> and look at everything.

Landing pages usually use only a few scripts:
  • JQuery;
  • Date output: date of the article, comments, special offers and promotions (dtime.min.js, etc.);
  • Countdown timer (jquery.countdown.js and similar);
  • Masks for phone numbers (inputmask, intltelnum);
  • Script that hangs on all links of the landing scroll to the form.
In addition to this, there are:
  • scripts for roulette, boxes, doors (the well-known drewlex.js, for example);
  • scripts for the fake comment form;
  • scripts for conducting quiz-s;
  • scripts for displaying a carousel of images;
  • scripts for pop-ups, callbackers, comebackers, shopping carts and others.
Everything else that you will meet, and that most likely can be cleaned painlessly, is:
  • affiliate scripts (for example, shakesland.js);
  • domonetization scripts;
  • lead stylers;
  • jQuery plugins;
  • pixel code Facebook, Google Tag Manager.
Accordingly, for standard and regularly occurring scripts, you should ALWAYS have links to their CDN or the scripts themselves at hand. The fact is that webmasters don’t really like it when their landing pages pump out everything in a row, and they have learned to stuff lead stealers, domonetization, etc. inside the same jQuery.

Therefore, 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 some other one is registered on the landing. Plus, just in case, check that JQuery on the landing is not registered in several <script> tags, this happens all the time.

We do the same for all scripts that are in separate files: either we replace them with verified versions or we quickly look at the fact that, apart from their direct function, they do not perform anything suspicious. Suspicious are: redirects, accessing any third-party resources, intercepting onclicks from links, creating ifames, working with form fields, the body of the script is encoded in base64 (it is easy to recognize by the presence of two equals at the end of the == line), minified or obfuscated code (although in general almost all libraries use minification). Yes, you need to know Javascript, but what do you want? Therefore, if you are not strong in it, just replace the files with verified versions!

All scripts that seem superfluous to you, first uncomment:

1682502071042-png.38393


Then we check the functionality 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 was applied to the images, it should be removed when clicked;
  • working countdown timer;
  • correct dates of the article itself on the landing page and in the comments;
  • all sorts of callbackers / comebackers, if they were and if you need them.
If after checking everything is OK, then feel free to delete the commented scripts.

Cut out domonetization scripts​

Webmasters often use “backfix” in their landing pages: that is, the substitution of the action that occurs when you click on the “Back” button in the browser. Instead of “Back”, another landing or showcase opens. Here is an example of custom domonetization:

1682502071055-png.38398


Domonetization can be easily detected by the "onpopstate" event - just look for this word in all downloaded html files and scripts, and if we find it, then in 99% of cases it is it. The entire block shown in the screenshot can be safely deleted.

In addition to custom backfixes, there are backfixes from various services and affiliate programs. They can be found in the following code snippets:

1682502071066-png.38399


An example of domonetization from OneProfit:

1682502071078-png.38397


An example of domonetization from Minfobiz:

1682502071089-png.38395


Also, some use ancient script by Brooky Bryan to determine the pressing of the “Back” button, you can detect its presence by searching for the string “bajb” in all downloaded landing files.

Working with the application form​

I’ll say right away that if each of your landings has a separate lead submission file, which is not good. The bottom line is that the sending file should be one per offer, would be in a separate folder, and we would only have to register it in the action attribute of the form. For example: ../common/orders/ph/enerflex.php

Be sure to check that the application form tag has a method of sending method="post". Some CPA networks send leads via Javascript and do not specify method. Do not do it this way!

Next, we look at all the form fields and delete those that have type="hidden". Have you deleted? Gut. Time to insert all the subIDs you need into 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 its insertion can be organized simply by hotkey.

If you cannot find the form in the landing text, it means that the form is generated by Javascript, most likely using the Drewlex script.

Handling name, phone, and submit button fields​

If you are transferring a landing from one geo to another, then check that the Name field in the placeholder attribute (if it exists, of course) has a suitable example of a local name written. Or, if you translated the landing into another language, and the placeholder says "Enter your name", check that the placeholder has been translated correctly. Often this is not the case.

With a phone, it’s a little more complicated: here we also check the placeholder, if it contains an example of a phone, then it must match the local format. If a mask script is used, then it is also necessary to check the number format in it. Also, the field with the phone number should have type = "tel", and not "text", I wrote about this more than once.

Autocomplete for name and phone add as you like.

If <button> is used as a button, we check that it has type = "submit" set, if instead of it is <input>, then this "submit" is already there. When transferring to another geo and another language, be sure to check if the text on the button has been translated!

Offer replacement​

Replacing an offer on a landing page consists of several steps: replacing images, price, name, and form factor. Let's look at them in turn.

Image replacement​

Everything is more or less simple here: we take a picture with a can from the affiliate network and replace the one on the landing. You can usually find places where an image is used by searching the html text for something like prod.png or product.png or offer name.png. If nothing is found, you will have to open the landing in the browser and look with your eyes, after which we open the picture in a new tab and look at its name.

If the jar with the product (or the name of the offer) is photoshopped into other photos on the landing, then here you either edit them yourself and replace one jar with another, or give this task to professional designers. I recommend the second way.

Price​

Usually, finding a block with product prices is not difficult: just search the text of the landing for the word price:

1682502071104-png.38400


Change the price and currency: here you need the skill of multiplying by two to prescribe the "old" price.

Offer name​

We do it stupidly by replacing the text, but I recommend doing it not all at once, but in turn, so as not to inadvertently replace any names of pictures / scripts.

Form factor​

If you change the ointment to tablets or drops to powder, then you will have to use the services of Google Translate. We translate the entire landing into Russian and proofread everything. You need to find those pieces of text that do not fit the meaning. Tablets should not be “rubbed into the knee 2 times a day”, and the powder should not be dropped into a glass. You will have to fix all this, best of course, using a professional translator. But if you're too lazy, then Deepl / Google Translate is at your service, which does not negate the fact that you have to come up with a new piece of text.

Translation into another language​

If you or your team are serious about driving traffic to a new geo and you have landing pages in other languages, then it would be best to use the services of professionals or send the landing page to a CPA network for translation.

After the translation, first of all, check all the names: the names of the characters in the story, the names of the commentators. All of them must be from the new geo. Search Google for lists like: "top 100 male names in Bangladesh" and replace.

Next, see all geographical names: city, country, ethnonym (Spaniards, Portuguese, etc.). We edit everything for a new geo.

If the CPA network allows, then we are looking for real local characters: stars, doctors, politicians, etc. and replace the photos of those that were with new ones. All that remains is to change the price of the product, the local currency, and you can launch a campaign on this landing.

Do not forget to check the layout, links, scripts, application forms at the end. Submit a test lead to make sure everything works.

Our Instagram
Our Telegram
Our Site
  • Love
  • Rocket
Reactions: brooke and TM2538