Help Center

  • Fill out my online form
  • How to find URLs receiving both follow & nofollow internal links?

    Usage of a nofollow attribute when linking to a certain URL is normally intentional and is meant for preventing the search engine bots from following (crawling) the linked URL. Also, a link can be nofollowed to avert the flow of trust signals to the linked URL and thus do not increase its PageRank score.

    Dofollow (or just “follow”) links, on the other hand, do pass link equity and help the linked URL get a higher PageRank score. As there is, in fact, no “dofollow” attribute, a link is considered a dofollow one by default. In other words, dofollow links are those without attributes like nofollow, ugc, sponsored.

    Sometimes, most likely by mistake or misconfiguration, multiple pages may use a nofollow attribute when linking to a URL, while just one page sends a dofollow link to this URL. In this case, the dofollow link will nullify the website owner’s effort to prevent search engines from crawling the linked page.

    In order to avoid such situations and many other on-page SEO issues, you should perform regular website audits.

    With DataForSEO On-Page API, you can scan and check any website against multiple on-page check-ups and website health metrics, including metadata, page timing, and technical SEO checks.

    Using On-Page API, it’s super-easy to find pages with both follow and nofollow internal links. Such pages will be marked with true in the "is_link_relation_conflict" field.

    To obtain a list of pages receiving both follow & nofollow internal links, you should first register and get your API key necessary for authentication.

    Learn more about Authentication in our docs >>

    1 Set a task to On-Page API and specify the necessary website.

    POST: https://api.dataforseo.com/v3/on_page/task_post

    [
      {
        "target": "dataforseo.com",
        "max_crawl_pages": 10,
        "tag": "some_string_123",
        "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
      }
    ]

    2 Call the Summary endpoint to review the overall data for your target website.

    GET: https://api.dataforseo.com/v3/on_page/summary/$id

    In the response from this API endpoint, you’ll find the “links_relation_conflict” counter. If it shows a value greater than 0, our crawler found the indicated number of links on the target website that may have a conflict. At the same time, the “is_link_relation_conflict” counter will indicate the number of pages receiving both follow & nofollow internal links on the target website.

    3 Use the Pages endpoint to retrieve a list of URLs receiving both follow & nofollow links. Simply set a task with a filter as in the example.

    POST: https://api.dataforseo.com/v3/on_page/pages

    [
      {
        "id": "07281559-0695-0216-0000-c269be8b7592",
        "filters": [
          [
            "resource_type",
            "=",
            "html"
          ],
          "and",
          [
            "checks.is_link_relation_conflict",
            "=",
            true
          ]
        ]
      }
    ]

    The response will contain a list of pages receiving both follow and nofollow links, as well as detailed performance metrics for each listed page, including meta tags checks, page timing, and over 60 other on-page check-ups.

    You can also retrieve a list of internal links that conflict with each other, that is refer to the same internal resource as conflicting follow and nofollow links.

    4 To obtain the list of conflicting links, set a task to the Links endpoint, and specify a filter as in the example. You can also indicate a certain page to get conflicting links pointing at it. To do so, specify a relative URL of the necessary page in the “page_to” field when setting a task.

    [
      {
        "id": "07281559-0695-0216-0000-c269be8b7592",
        "page_to": "/apis/google-trends-api",
        "filters": [
          "is_link_relation_conflict",
          "=",
          true
        ]
      }
    ]