Status Error: Link is not found on the page OR placed outside of BODY and HTML tags

Last update: 18.04.2025



Go to your site and see how the links are displayed.

Links are displayed normally on the site

Links on the site are displayed in the wrong encoding

The links.db file contains a string with <!--check code-->, but it does not contain links

The links on the website are not displayed.

The website has moved to a new hosting, and earnings have stopped, and links have turned into ERROR.

I have fixed the error, and my website is now accessible. Please recheck the ERRORS.



Links are displayed normally on the site

Go to the “Links” section and click on the ERROR status, and error statistics for the selected link will be displayed. Find the line that matches the current date.

Link is not found on the page OR placed outside of BODY and HTML tags

Timeout

Page is restricted in Meta tags

No IP found for the domain

Other possible reasons for the ERROR status

Page is unresponsive



Link is not found on the page OR placed outside of BODY and HTML tags

Follow all of the following instructions step by step.

  1. THE MOST COMMON REASON FOR ERRORS - links are located between NOINDEX tags, or NOINDEX tags are incorrectly placed (for example, opened twice but closed only once). Open the source code of your page in the browser and count the number of opened NOINDEX (<noindex>) and closed (</noindex>) tags. The number should match. If the number matches, check if the links are not inside noindex to avoid this construction: <noindex>LINKS</noindex>.

  2. Check if the links are in the indexable zone of the document accessible to search engines. If links are closed for indexing by any of the following methods, they will not be found by our system's robot.  

    • Links are closed for indexing using tags <noindex>, <!--noindex-->, <script>, <frames>, <applet>, <embed>, <object>,  form tags, or comments.

    • The page where the links are placed is closed for indexing in the robots.txt file or in meta tags.

    • The nofollow attribute is added to the link's code.

    • When checking for links on pages, the robot receives an HTTP header response code different from 200 from your server's headers.

    • Links are not placed inside the <marguee> tag.

    • Links are placed outside the <html> and <body>. For a correct link check, the <html> and <body> tags should appear in the page's code once, and the links should be placed between these tags. If this is not the case, you need to fix the situation: place the links inside the tags. Proper link placement should be like this:

      <html>
          <body> 
          <!-- links -->
          </body>
      </html>
  3. It is possible that your website engine (or some installed module) automatically closes external links with noindex tags or adds the nofollow attribute to the link. Often, links are closed to robots in this way (including our robot). In this case, you should disable the use of such modules for our links.

  4. Check if the encoding specified in the page's meta tags matches the windows-1251 encoding. If the encoding is different, make sure it is also specified in the code calling the links that you insert on the pages. For example, if your site uses UTF-8 encoding, change the following line in the link output code:

    <?php
         $client = new BACKLINKS_client();
    ?>
    to:
    <?php
        $o = array();
    
        $o['charset'] = 'UTF-8';
        $client = new BACKLINKS_client($o);
        unset($o);
    ?>
    For any other encoding, the actions are similar. Also, make sure that the encoding is specified in the page's meta tags.

    In some browsers, automatic encoding detection is enabled, so to ensure that the encoding is correct, specify the encoding in the browser forcibly (usually it is set in View->Encoding-> Specify the desired encoding).

  5. Check that the link's source code exactly matches what the system loads from the links.db file. Often, some CMS adds their styles to links or, for example, removes double spaces, etc. Our robot looks for an exact match, so if even one character has changed in the link, it will not be found.

  6. Possibly, your server incorrectly or in a non-standard format returns the HTTP_HOST environment variable (this problem often occurs if the site has aliases, mirrors, or is running on a non-standard port). To explicitly pass the correct value to the service script in the link insertion code (which you add to the site pages), change the following line:

    <?php
         $client = new BACKLINKS_client();
    ?>
    to:
    <?php
        $o = array();
    
        $o['host'] = 'your_domain_name_without_http://';
        $client = new BACKLINKS_client($o);
        unset($o);
    ?>
  7. It is possible that the problem is that there are unknown special characters in the page's text (usually displayed as "question marks") that cause an error when the robot parses the page (https://www.php.net/manual/en/function.iconv.php) - that is, the robot sees part of the page before the special character. The only way to solve the problem is to clean the pages from these characters.

After completing all of the above checks and recommendations, the next time our robot checks for the presence of links, they will most likely be found. Otherwise, you can contact us through the feedback form, and we will try to help you. Rechecks of link errors occur automatically several times a day.

When contacting us, please provide the following:

  1. The site where the problem occurred.

  2. Whether the links are inside the <html> and <body> tags.

  3. The encoding of the site (does it match the link insertion code).

  4. Whether the links are in the links.db file.

  5. Whether folder permissions are set to 777.

  6. Whether links are displayed on the site.

  7. Whether the host is specified or not (see above, point #6).

  8. The error message displayed when clicking on ERROR status.

For example:

site.ru links are inside html and body UTF-8, changes have been made in links.db, permissions are set to 777, links are displayed on the site, the host is specified, and the error message "Links not found on the page" is displayed when clicking on ERROR status.

Links are displayed normally on the site


Timeout

Our robot did not receive a response from the requested page within 30 seconds. Please check the availability of the page and ensure that the hosting provider has not imposed any sanctions on the robot's IP (subnets 188.72.80.* and 193.232.121.*).

Links are displayed normally on the site


Page is restricted in Meta tags

Please check whether the page is prohibited for indexing in the meta tags in the page's source code (for example, by using noindex, nofollow, or noarchive).

Links are displayed normally on the site


No IP found for the domain

Most likely, there are DNS issues with the hosting – our robot couldn't resolve the website's domain to a specific IP address. Contact your hosting provider to determine the cause.

Additionally, please check whether the hosting provider has imposed any sanctions on the subnets 188.72.80.* and 193.232.121.* as our robot, which checks the correct placement of links, accesses from addresses within these subnets.

Links are displayed normally on the site


Other possible reasons for the ERROR status

Clicking on the ERROR status for a link will reveal the reasons why the link received this status. Their decryption and your actions to rectify the situation are provided in this section.

Only statuses not covered in other sections of "No earnings for the platform, links in ERROR status" are listed here:

Page is prohibited by robots.txt

Page not found through links

No code on the page

Page returns an HTTP status other than 200

Connection error with the server

Empty server response

Failed to decompress the page from gzip compression

Error in decoding parts of the response (problem in the chunky parser)

Server redirects to another page

Invalid Content-type

Use of the frameset tag is prohibited

Page is too large

The site is hosted on Timeweb hosting

Page is prohibited by robots.txt

Check whether the page is prohibited for indexing in the robots.txt file using the disallow directive for search engine bots and for our robot's IP (subnets 188.72.80.*, 193.232.121.*).

Other possible reasons for the ERROR status

Page not found through links

Our robot couldn't navigate to the target page using its URL in the system. Verify the correctness of the URL, and if necessary, remove the page from the system and request reindexing.

Other possible reasons for the ERROR status

No code on the page

The code to call links on the page is not set. Check its installation correctness using the relevant FAQ sections (for example, for PHP code calling links - this section).

Other possible reasons for the ERROR status

Page returns an HTTP status other than 200

Check what HTTP status the page returns. If it is not equal to 200, several scenarios are possible:

  1. The host blocks our robot's IP addresses (subnets 188.72.80.*, 193.232.121.*), try contacting them to find out more.

  2. Specific site settings may also cause such a problem. It's possible that a different status is returned only when our robot makes a request.

Other possible reasons for the ERROR status

Connection error with the server

The robot couldn't establish a connection with the server hosting the platform. Check the website's availability and ensure the hosting provider hasn't imposed sanctions on the robot's IP (subnets 188.72.80.*, 193.232.121.*).

Other possible reasons for the ERROR status

Empty server response

The server returns an empty response to the robot's request. Contact your hosting support; the issue lies on their side. Additionally, confirm that the hosting provider hasn't imposed sanctions on the robot's IP (subnets 188.72.80.*, 193.232.121.*).

Other possible reasons for the ERROR status

Failed to decompress the page from gzip compression

Gzip compression for pages is either not working or is working incorrectly. You should contact your hosting provider's support - either request the disabling of gzip compression or ask them to identify and resolve the issue with its improper functioning.

Other possible reasons for the ERROR status

Error in decoding parts of the response (problem in the chunky parser)

The problem typically lies on the hosting provider's side and is usually resolved by disabling gzip compression.

Other possible reasons for the ERROR status

Server redirects to another page

When accessing the page, it redirects to another page. Remove the redirect, and after some time, the links will acquire an OK status.

Other possible reasons for the ERROR status

Invalid Content-type

The system only supports content of type text/html that is correctly specified in the meta tags of the page.

Other possible reasons for the ERROR status

Use of the frameset tag is prohibited

If the robot detects even one frameset tag in the page's source code, the links will be marked as ERROR. You should remove frames; it's the only possible solution to the problem.

Other possible reasons for the ERROR status

Page is too large

The maximum allowable page size in the system is 2 megabytes; accordingly, you should adjust the size of your page.

Other possible reasons for the ERROR status

The site is hosted on Timeweb hosting

If the site is hosted on Timeweb hosting, check if "Site Accelerator" is enabled in the settings. When using it, the link code returned by the dispenser may be modified, leading to links appearing in an ERROR status.

Links are displayed normally on the site

Other possible reasons for the ERROR status


Page is unresponsive

At the time of checking for the presence of links, the platform's pages were unresponsive - our robot waits for a response for 15 seconds, and if there is none, it moves on to check the next page. Links from an unavailable page receive an ERROR status.

This can happen for several reasons:

  1. The website is not working or is slow due to hosting issues.

  2. The hosting provider has banned the IP addresses of our robot (you can find the robot's IP addresses at the end of the links.db file).

  3. Your hosting provider has implemented an anti-parser mechanism that temporarily blocks IP addresses when there are frequent requests to the website.

  4. There are issues with the communication line.

In this situation, we can only advise you to contact your hosting provider.

Our robot checks for the presence of links several times a day, and if the site's accessibility issues were temporary, the links will be found and funds for them will be credited during the next recheck.

Back to top



Links on the site are displayed in the wrong encoding

If your website uses encoding different from windows-1251, you need to modify the link code you insert into each page of your website. Replace the following line:

<?php
    $client = new BACKLINKS_client();
?>

with:

<?php
    $o = array();

    $o['charset'] = 'utf-8'; 
    $client = new BACKLINKS_client($o); 
    unset($o);
?>

This example is given for the utf-8 encoding. If you are using a different encoding, specify it in a similar way.

Using encodings other than UTF-8, windows-1251, KOI8-R, and KOI8-U is not recommended. The dispenser can only provide links in these encodings.

If your website uses multiple encodings, such as windows-1251 and utf-8, you need to modify the link code on the pages where utf-8 encoding is used. Replace this line:

<?php
    echo $client->return_links();
?>

with:

<?php
    echo iconv( "windows-1251", "UTF-8", $client->return_links());
?>

You don't need to change the line $client = new BACKLINKS_client(); in this case.

After making these changes to the link code, be sure to delete the links.db file so that it is reloaded in the new encoding. After some time, the links on your site will start displaying in the correct encoding.

Back to top



The links.db file contains a string with <!--check code-->, but it does not contain links

  1. It is likely that your server is returning the HTTP_HOST environment variable incorrectly or in a non-standard format. This issue often occurs when a website has aliases, mirrors, or runs on a non-standard port. To explicitly pass the correct value to the service script, you need to modify the link code that you insert into your website's pages. Replace the following line:

    <?php
        $client = new BACKLINKS_client();
    ?>
    with:
    <?php
        $o = array();
    
        $o['host'] = 'your_domain_name_without_http://';
        $client = new BACKLINKS_client($o);
        unset($o);
    ?>
    After following this recommendation, during the next check for links by our robot, they will likely be found. If not, you can seek assistance through the feedback form, and we will do our best to help.
  2. If your request involves moving the platform from one account to another, make sure that in the code for calling links on pages, the line:

    <?php
        define('_BACKLINKS_USER', '1234qwertyuiop567890asdf');
    ?>
    has a value of '1234qwertyuiop567890asdf' that matches the name of the folder you can download from the archive with the system code in your new account.

Back to top



The links on the website are not displayed

Please check if there are links in the links.db file.

You can do this by going to the folder you downloaded from sape.ru and opening the file.

There are links in links.db.

The links.db file is completely empty.

The website has been transferred to a new hosting, and now the links are getting the status ERROR


Links are present in links.db.

Please follow the recommendations sequentially:

  1. Check the correctness of the code placement. In the code that displays links (which you insert on each page of the site), change the line:

    <?php
        $client = new BACKLINKS_client();
    ?>
    to:
    <?php
        $o = array();
    
        $o['force_show_code'] = true;
        $client = new BACKLINKS_client($o);
    ?>
  2. If the code is correctly installed, you will see a commented number or the string <!--check code--> in the code of the page where you want to place SAPE links. If the commented number or <!--check code--> does not appear in the code of the page, it means the code is installed incorrectly.

  3. If the code is installed correctly, and the issue is that our code cannot determine from which page it is being called, there may be several reasons. The most common one is that the sape.php call code is inserted into a file (e.g., footer.php) that is included in the site via a subrequest, for example:

    <?php
        include('http://www.site.ru/footer.php');
    ?>
    There are two possible solutions:
    <?php
        include('http://www.site.ru/footer.php?uri='.$_SERVER['REQUEST_URI']);
    ?>

    Insert the code call into another location or pass information about the current page to the footer.php file:

    <?php
        $o = array();
    
        $o['request_uri'] = $_GET['uri']; // Clearly set the current page
    
        $client = new BACKLINKS_client($o);
    ?>
  4. If your site uses mod_rewrite (many standard "engines" use it by default, e.g., Joomla) and the links on the site are not displayed, then the code for calling links that you insert on the site pages should look like this:

    <?php
        define('_BACKLINKS_USER', '1234qwertyuiop567890asdf'); 
        require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._BACKLINKS_USER.'/backlinks.php'));
    
        $o = array();
    
        $o['request_uri'] = $_SERVER['REDIRECT_URL'];
        $client = new BACKLINKS_client($o);
    
        echo $client->return_links();
    ?>
    Don't forget to replace `1234qwertyuiop567890asdf` in the code call with the name of our system folder.
  5. If only a part of the links is not displayed, possible reasons may include:

    • Running out of disk space on your hosting.

    • Missing character encoding in the meta tags on the pages where the error occurs.

    • Having an old version of the client code. You can find the latest version of the client code here.

After performing all the above checks and recommendations, when our robot checks for the presence of links, they will most likely be found. If not, please contact us through the feedback form, and we will try to assist you.

When contacting us, please provide the following information:

  1. The website where the issue occurred.

  2. The website's character encoding (does it match the code for calling links).

  3. What is contained in the links.db file (copy it). If the file doesn't exist at all, please report it.

  4. Are the folder permissions set to 777.

  5. Whether links are displayed on the site.

  6. Whether the host is specified (how to specify it, see section 6).

  7. What error message is displayed when clicking on the ERROR status.

For example:

site.com, UTF-8, code changes are made, links are present in the links.db, permissions are set to 777, links are displayed on the site, host is not specified, and when clicking on ERROR, the message "Links not found on the page" is displayed."

The links on the website are not displayed


The links.db file is completely empty.

Try deleting the links.db file so that it can be downloaded again. If this does not change the situation, the following reasons are possible:

  1. Make sure that the folder with a long name has 777 access permissions.

  2. It's possible that your server cannot establish a connection with the servers responsible for distributing links. This, in turn, can be caused by the following reasons:

    • Your hosting does not allow outgoing connections (in this case, we cannot assist, and the only solution is to change the hosting).

    • The file_get_contents function is blocked on your hosting. In this case, you need to attempt the connection using socket or curl. To specify a different method for obtaining links forcibly, you need to replace the line in the code that calls the links and that you insert on your site pages:

      <?php
          $client = new BACKLINKS_client();
      ?>
      with:
      <?php
          $o = array();
      
          $o['fetch_remote_type'] = 'socket'; //(or curl)
          $client = new BACKLINKS_client($o);
          unset($o);
      ?>
    • If you find an error in the logs like: Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution it may indicate that the domain name resolution system on your server and/or hosting does not work correctly. In this case, our link distribution server is available via an IP address. You can check this by making a DNS resolution request from your server and from another computer. An example of a working DNS resolution:

      $ nslookup dispenser-01.globalbacklinks.com
      Server:         192.168.144.1
      Address:        192.168.144.1#53
      
      Non-authoritative answer:
      Name:   dispenser-01.globalbacklinks.com
      Address: 193.232.121.12
      Name:   dispenser-01.globalbacklinks.com
      Address: 193.232.121.62
      An example of non-working resolution:
      $ nslookup dispenser-101.globalbacklinks-fake
      
      Server: 192.168.144.1
      Address: 192.168.144.1#53
      
      ** server can't find dispenser-101.globalbacklinks-fake: NXDOMAIN
      If the problem is confirmed, you need to check the DNS settings on your server (if you manage the server yourself) or contact your hosting provider.

The links on the website are not displayed


The website has been transferred to a new hosting, and now the links are getting the status ERROR.

When changing hosting for your website, it's necessary to update the link database in the links.db file. To do this, delete the links.db file, and a new file will be automatically downloaded the first time someone accesses the website.

The links on the website are not displayed

Back to top



The website has moved to a new hosting, and earnings have stopped, and links have turned into ERROR.

When changing hosting for your website, it's necessary to update the link database in the links.db file. To do this, delete the links.db file, and a new file will be automatically downloaded the first time someone accesses the website.

Check to ensure that the folder name and your hash code specified in the code for calling links are correct, and that the folder's access rights are set to 777.

Back to top



I have fixed the error, and my website is now accessible. Please recheck the ERRORS.

Rechecking links with the ERROR status occurs again within 24 hours.

If, within 24 hours, the status of the links changes to OK, the additional earnings for the links will be credited with the next billing."

Back to top

Was this article helpful?