Recently Updated: 18 min read

Reading rel Attributes in a Competitor Backlink Table

Reading rel Attributes in a Competitor Backlink Table

To read rel attributes in a competitor backlink table, open the source page of each link, find your target inside the a element, record the exact rel value, and sort it into nofollow, sponsored, ugc, several values, or empty. The result becomes its own column next to domain, page type and anchor text. That column shows how the page owner labeled the link. It does not show how valuable the link is or how it affects a ranking. The method suits SEO teams that audit a rival's link profile and publishers that weigh which links to buy.

Example scenario: the marketing team of a SaaS accounting tool studies a rival product, and the tool, rows and values are fictional. Anything beyond Google's definitions is marked as a practical suggestion.

A backlink tool export carries a source domain, a target URL, anchor text and a follow flag. A two-state flag compresses three different Google values into one bucket, and it leaves the empty case unexplained. Once the flag is the only attribute field in your sheet, a paid directory entry, a forum reply and a link the publisher simply distrusts all land in the same cell.

A dedicated rel column keeps those cases apart. It records the label the page owner chose, and that label is the only attribute evidence a source page offers for a link. Read next to the page type and the section of the page, it lets you group the rival's links by how they were presented instead of by how many there are. For the full competitor backlink workflow, from export to opportunity list, see how to do a competitor backlink analysis. Other angles are outside this topic.

Google's definitions, value by value

The Google page on qualifying outbound links (Opens in a new tab) explains how a site owner can tell Google about the relationship with a linked page. Plain links need no rel attribute, because Google reads them as ordinary links.

ValueWording in the documentationQuestion to ask when reading
sponsoredLinks that are advertisements or paid placements, known as paid linksDid the page owner label this as an ad or paid placement?
ugcRecommended for user-generated content links, such as comments and forum postsWas the link posted by a user rather than the page owner?
nofollowUsed when the other values do not apply, and when you want Google not to associate your site with the linked page or crawl the page from your siteDoes the page owner decline to vouch for this target?
EmptyAn ordinary link, no attribute neededIs it really ordinary, or was a label simply left off?

The documentation asks site owners to mark advertisements and paid placements with sponsored. It adds that nofollow was previously recommended for such links and is still an acceptable way to flag them. A paid-looking link carrying nofollow therefore agrees with the documentation, though sponsored is the more precise label. In a rival table, treat both as the paid-placement family and keep the raw value so the two stay distinguishable later.

ugc in practice

Google recommends ugc for links inside user-generated content, with comments and forum posts as its examples. The same page says a site owner who wants to recognize trusted contributors may remove the attribute from links posted by members who have consistently made high-quality contributions. A forum link without ugc is therefore not proof of an editorial decision. It may reflect a deliberate exception by the forum owner.

nofollow in practice

The documentation reserves nofollow for cases where the other values do not apply and where the site owner does not want Google to associate the site with the linked page or crawl it from there. For links within your own site it points to the robots.txt disallow rule instead. Seen from the rival's side, a nofollow link tells you only that the page owner chose not to vouch for the target in that context.

The empty value

No rel attribute means an ordinary link in Google's terms. An empty cell in your sheet is a statement about the markup and nothing else. It does not say why the link exists, who placed it or whether anything changed hands.

Syntax: spaces, commas and case

Google states that several rel values can be written as a space-separated or comma-separated list. Two forms appear in the documentation: ugc nofollow and ugc,nofollow. A source page can therefore show two values in one attribute.

Decide once how the sheet stores them. One option is two boolean columns, one for ugc and one for nofollow, both ticked for a combined value. The other is a separate class called combined. Either works if every row follows the same rule, and mixed rules break the totals. Practical suggestion: lowercase the value for the class column and keep the original string in a raw column, since the documentation does not discuss letter case.

Collecting the rel value by hand

Two places hold the value: the tool export and the source page. They can disagree, and the source page wins when it carries a known date.

The tool export

Backlink tools show a link attribute in their own columns. Column names, the set of values distinguished and the crawl date differ by provider, so read the tool's help page before trusting a column. Check whether sponsored and ugc appear separately or fold into nofollow. A crawl date matters too, because a source page can change after the tool visited it.

The source page

Open the page in an ordinary browser session, as any visitor would, view its source and search for your target address. Read the rel value inside the a element and note the page section: article body, sidebar, footer, comment area or author box. This reading is manual and limited to public pages. Automated bulk fetching and pages behind a login are outside the method, and a site's terms of use may rule them out.

The Google page on crawlable links (Opens in a new tab) says Google can crawl a link only if it is an a element with an href attribute, and that it cannot reliably extract URLs from a elements without href. Links built from onclick handlers or javascript: hrefs are listed as not recommended, though Google may still try to parse them. If the rival's link is of that kind, add a note such as "not a standard crawlable link" in a helper class instead of forcing it into a rel bucket.

Anchor text next to the attribute

The same page defines anchor text as the visible text of a link and asks for text that is descriptive, reasonably concise and relevant to the page it sits on. When you copy the anchor text into the sheet, copy it as shown, and keep it in its own column. Comparing the anchor text of sponsored rows with that of empty rows can reveal how the rival words its listings versus its editorial mentions. Treat that comparison as a description of wording and not as a verdict about intent.

Recording the date and the page section

Every reading gets a date, because a source page can be edited after you leave it. Every reading also gets a section label. Two links to the same rival from the same domain can sit in an article body and in a footer, and the page owner may label them differently. Keep one row per link instead of one row per domain, so that the class counts describe links and not domains.

If the link has disappeared when you open the page, class the row as unreadable and add a short reason: page removed, link removed, or login required. Do not delete the row. The size of the unreadable group tells you how much of the tool export you could not confirm.

Example: a SaaS accounting tool studies a rival

Example scenario: the marketing team of a SaaS accounting tool exports linking pages for a rival product and orders the source domains by relevance to its own audience. It reads the top five pages by hand. The values are invented to show the layout.

Source pageTool fieldrel read by handNote
Small-business finance newsletter, article bodyfollowemptyOrdinary link
Software review directory, product listingnofollowsponsoredLabeled as paid placement
Accountants' forum, reply to a questionnofollowugc nofollowPosted by a user
Startup blog post marked "sponsored post" in textfollowemptyUntagged, may be paid
Webinar speaker pagefollownofollowPage owner declines to vouch

Reading the table

Row two shows a tool field that compresses the label: the export says nofollow while the page says sponsored. Row five shows the opposite problem, where the tool says follow but the source page carries nofollow, perhaps because the page changed after the crawl. Both rows get an inconsistency note, and the hand reading counts. Row four is handled in the next section.

From these five rows the team writes two conclusions. First, the rival has a listing in a review directory that is labeled as paid. Second, the editorial-looking links need context checks before anyone calls them editorial. Neither conclusion says anything about the rival's rankings.

What the team does with the result

The team does not copy the rival's directory listing as a tactic. It records that the directory labels listings as paid, decides that any listing of its own there would need the sponsored value, and moves on to the newsletter and the webinar page as outreach questions. Each of those decisions lives in a separate planning note, away from the rel column.

Some links carry no rel yet sit on a page that reads like an advertisement: a visible sponsored label in the text, dense promotional wording, or a run of near-identical posts. Google asks site owners to flag paid links with sponsored or nofollow. Whether a given untagged link was paid for is rarely something the page can prove.

Write such a row as "untagged, may be paid" and stop there. An accusation label would claim more than your evidence supports, and it can mislead a colleague who reads the sheet without the page in front of them. For the reasoning behind a rival's link in general, see why a competitor link was given: reading the source page.

Writing the judgment note

  • State the observation: "page text says sponsored post, link has no rel".
  • Keep the interpretation apart: "may be a paid placement, unverified".
  • Skip the verdict: no wording such as "rival breaks the rules".
  • Add the consequence for your own plan: "do not expect an editorial link from this source".

What a rel value cannot tell you

The column is useful, and its limits are just as useful to know.

  • It does not measure ranking contribution. The documentation says links marked with these attributes are generally not followed (linked pages may still be found and crawled through other means), which is a statement about crawling and not about a rival's position.
  • It does not prove how a link came about. A missing attribute is only a missing attribute.
  • It does not rate quality. A nofollow link on a respected page and a plain link on a thin page are not ranked by the documentation. The documentation has no statement on such comparisons.
  • It does not freeze in time. Source pages are edited, so the value belongs to the reading date.

Keep the column as a label for sorting and not as a score.

A misreading to avoid

Suppose the accounting tool team sees that a large share of one rival's listed links are nofollow and concludes that the rival must be weak. Nothing in the documentation supports that step. The attribute describes the relationship the page owner declared, and the rival's position depends on matters the sheet does not capture. The sound reading is narrower: these page owners chose not to vouch for the rival in these contexts. Anything beyond that sentence is speculation, and the sheet should say so wherever a reader might stretch it.

Adding the column to your comparison sheet

The new fields sit beside the columns you already keep.

ColumnAllowed valuesStatus
Source domainTextExisting
Page typeArticle, directory, forum, comment, otherExisting
Page sectionBody, sidebar, footer, comments, author boxNew
rel rawExact string from the source pageNew
rel classEmpty, nofollow, sponsored, ugc, combined, unreadableNew
Read methodManual, toolNew
Read dateDateNew
Judgment noteFree textNew

When you count rows per class, take the numbers from your own sheet. No benchmark share, industry average or ideal mix exists in the Google documentation, so invented targets have no basis. The counts compare the rivals with each other and with your own profile, nothing more.

The definitions work in both directions. A publisher or a site that accepts paid placements follows the same documentation when it sets attributes.

  • Mark advertisements and paid placements with sponsored. Nofollow remains acceptable for these links, with sponsored the more precise choice.
  • Mark links inside user-generated content such as comments and forum posts with ugc, or with nofollow.
  • Use nofollow when you do not trust the source or when no other value fits, and only on selected links. The crawlable-links page says to use it only when you do not trust the source, and not for every external link on the site.
  • Leave editorial links you stand behind without any attribute.

The yardstick you apply to a rival's sheet is the one your own pages should meet. A SaaS accounting tool that lists partner integrations, accepts guest posts and runs a community forum will meet all four situations on its own site, and the same decision list serves each of them.

Keeping the sheet reliable over time

Reading a long list in a sensible order

Practical suggestion: sort source domains by relevance to your own audience, read the first block by hand and leave the rest labeled as tool data. A short list read fully is more useful than a long list read carelessly, and the read method column makes the split visible to anyone who opens the file.

When the class rules change

You may later split the combined class or add a helper class. Because the raw string is stored, the change is a filter or a formula and no page needs reopening. Put the change date and a one-line description at the top of the sheet, so older counts and newer counts are not compared as if they used the same rule.

Re-reading on a schedule

Practical suggestion: reread the top source domains at an interval that fits your workload. The Google pages give no interval. At each reread, update the date column and note whether the value changed. A change shows that the page owner revised the label, and the sheet cannot tell you why.

Reading rel next to other columns

The rel value gains meaning beside page type. A forum reply with ugc and a directory listing with sponsored fit the definitions in the table. An article body with sponsored deserves a closer look at the page text. The pattern is a prompt to read context, and it stays a note.

Decision rule for each row

  1. Is the link an a element with an href? If not, record "not a standard crawlable link".
  2. Does rel contain sponsored? Class it as sponsored.
  3. Does rel contain ugc? Class it as ugc, or as combined if nofollow sits next to it.
  4. Does rel contain only nofollow? Class it as nofollow.
  5. Is rel absent? Class it as empty, and add a judgment note if the page context suggests an advertisement.
  6. Could the page not be read? Class it as unreadable and keep the tool value in its own column.

Checklist before you share the sheet

  • Each source page was opened by hand on a public URL.
  • The raw rel string sits in its own column.
  • One storage rule covers rows with several values.
  • Non-crawlable links are flagged.
  • Untagged but paid-looking links carry a neutral note.
  • Every count comes from the sheet itself.
  • Each row carries its reading date.

Documentation changes over time, so reread the two Google pages before you reuse the method.

Where readers go wrong

Treating a tool's follow flag as the final word

The flag is a product decision made by the tool provider, and it may be older than the page. Use it to prioritize, then confirm the important rows on the page.

Merging every empty cell

An empty rel on an article body and an empty rel in a sidebar widget say different things about placement. Split empty rows by section before you count them.

Putting a verdict in a shared file

A line saying the rival buys links reads as fact once it leaves your team. The page supports a label and a context, not a purchase record.

Scraping instead of reading

Reading a few public pages by hand is a review. Automated bulk collection can conflict with a site's terms of use, so the method keeps the manual scope.

Using the class as a quality grade

Sponsored is not low quality and empty is not high quality. The documentation describes relationships and does not grade pages.

Turning counts into a short report

The summary line

Report how many links fall in each class, how many were confirmed on the page and how many rest only on the tool export. Example scenario: with twenty rows, twelve read by hand and eight from the tool, the report says so in one sentence. The numbers are invented and show the format only.

What a count shows

A count shows which labels page owners attached to the rival's links. A high sponsored count means the rival profile contains links labeled as paid. A high empty count means the rows carry no label, which is a different statement from the links being editorial.

Questions the report cannot answer

  • Which links were paid for: the sheet records labels and context only.
  • How much a link adds to a ranking: the rel value is not a measure of contribution.
  • Whether the rival's practice is right or wrong: that is a judgment, and the sheet carries no judgments beyond the labeled notes.

Report wording for non-specialists

A finance lead or product manager reading the report needs short labels. Replace "ugc nofollow" with "posted by a forum user, endorsement declined" and "sponsored" with "labeled as paid placement by the page owner". Keep the raw strings in an appendix tab so an SEO colleague can check them. Plain labels reduce the risk that a colleague reads the sheet as a list of violations.

Frequently Asked Questions

Open the source page as an ordinary visitor, view the page source, search for your target address and read the rel value on the surrounding a element. A tool column can guide you, but the page itself gives the exact string.

Do sponsored and nofollow mean the same thing?

No. Sponsored is Google's value for advertisements and paid placements, and nofollow is for cases where the other values do not apply. The documentation adds that nofollow remains an acceptable way to flag paid links.

Yes. Google says multiple values can be written as a space-separated or comma-separated list, and its examples read ugc nofollow and ugc,nofollow.

No. The documentation treats a link without rel as an ordinary link and says nothing about why it was placed. A paid placement can be left untagged, so the page context decides the note you write.

The documentation has no statement on ranking rivals by attribute share. Use the share only to describe how page owners labeled the links.

Record only what the page shows, such as a visible sponsored label and a missing rel. Keep the interpretation in a separate note marked as unverified.

Conclusion

Reading rel attributes turns a flat competitor link list into labeled groups: paid placements, user posts, declined endorsements and ordinary links. Read the raw value on the source page, compare it with the tool field, add neutral notes for untagged links that look paid, and keep the column as a sorting label instead of a quality score. The same three values then guide the links you publish yourself.

If you plan links of your own, compare the options in the backlink packages.

0 Comments

No comments yet for this article.

Post a comment

Please log in to leave a comment. Login