<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: id wang</title>
    <description>The latest articles on DEV Community by id wang (@id_wang_cacc05bf70424b9dd).</description>
    <link>https://dev.to/id_wang_cacc05bf70424b9dd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4043078%2Fd35ff9e3-a550-4552-8010-d623da9b6130.png</url>
      <title>DEV Community: id wang</title>
      <link>https://dev.to/id_wang_cacc05bf70424b9dd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/id_wang_cacc05bf70424b9dd"/>
    <language>en</language>
    <item>
      <title>I checked the rel attribute on 13 startup directories. Only 3 pass link equity.</title>
      <dc:creator>id wang</dc:creator>
      <pubDate>Tue, 01 Sep 2026 09:22:01 +0000</pubDate>
      <link>https://dev.to/id_wang_cacc05bf70424b9dd/i-checked-the-rel-attribute-on-13-startup-directories-only-3-pass-link-equity-4n2i</link>
      <guid>https://dev.to/id_wang_cacc05bf70424b9dd/i-checked-the-rel-attribute-on-13-startup-directories-only-3-pass-link-equity-4n2i</guid>
      <description>&lt;p&gt;I spent two days submitting a side project to startup directories. Before writing a single form field, I started measuring one thing nobody seems to publish: &lt;strong&gt;the actual &lt;code&gt;rel&lt;/code&gt; attribute on the outbound link each directory gives you.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The results changed which directories I bothered with.&lt;/p&gt;

&lt;h2&gt;
  
  
  The method
&lt;/h2&gt;

&lt;p&gt;Open a directory's existing product page — someone else's, not yours — and read the anchor that points to that product's website:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;[...&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;a[href]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;theproductsdomain.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rel&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;(none -&amp;gt; followed)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. No account, no submission, no payment. You learn whether the link is worth your time &lt;strong&gt;before&lt;/strong&gt; you spend an hour on their form.&lt;/p&gt;

&lt;h2&gt;
  
  
  The results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Directory&lt;/th&gt;
&lt;th&gt;&lt;code&gt;rel&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;Free?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Product Hunt&lt;/td&gt;
&lt;td&gt;&lt;code&gt;noreferrer noopener ugc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Indie Hackers&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nofollow noopener&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AlternativeTo&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nofollow noopener&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Crunchbase&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nofollow noopener noreferrer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Peerlist&lt;/td&gt;
&lt;td&gt;&lt;code&gt;noreferrer nofollow ugc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SaaSHub&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nofollow&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;itch.io&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nofollow noopener&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Futurepedia&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nofollow&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$247&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;twelve.tools&lt;/td&gt;
&lt;td&gt;&lt;code&gt;noopener&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;free &lt;strong&gt;+ reciprocal link&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uneed&lt;/td&gt;
&lt;td&gt;&lt;code&gt;noopener&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$14.99&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Toolify&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dofollow&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$99&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BetaList&lt;/td&gt;
&lt;td&gt;301 redirect, followed&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$39&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Three things I did not expect
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The directories that pass link equity are the ones selling links
&lt;/h3&gt;

&lt;p&gt;Every directory in that table that gives a followed link either &lt;strong&gt;charges for it&lt;/strong&gt; or &lt;strong&gt;requires a reciprocal link from your homepage&lt;/strong&gt;. Not one hands it out for free.&lt;/p&gt;

&lt;p&gt;Toolify's submission page says the quiet part out loud: &lt;em&gt;"Get dofollow links and boost your SEO. Your website will get no less than 6 quality dofollow links."&lt;/em&gt; $99. That's &lt;a href="https://developers.google.com/search/docs/essentials/spam-policies#link-spam" rel="noopener noreferrer"&gt;link scheme&lt;/a&gt; territory — paid links passing ranking credit, not marked &lt;code&gt;sponsored&lt;/code&gt;. The risk lands on the buyer.&lt;/p&gt;

&lt;p&gt;twelve.tools does the barter version: free tier, but &lt;em&gt;"A backlink to our site is required (on your homepage or footer)"&lt;/em&gt;. Their badge anchor is &lt;code&gt;rel="noreferrer noopener"&lt;/code&gt; — no nofollow. So you hand over a real followed link from your homepage and get one back. Reciprocal exchange, also on Google's list.&lt;/p&gt;

&lt;p&gt;This isn't a coincidence. A directory giving away followed links unconditionally would get strip-mined by SEO arbitrage within a month. So the ones with a brand to protect use &lt;code&gt;nofollow&lt;/code&gt;, and the ones willing to pass equity charge for it.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The link is often not an anchor at all
&lt;/h3&gt;

&lt;p&gt;BetaList's product page has &lt;strong&gt;no &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; pointing to the product's site&lt;/strong&gt;. "Visit Site" goes to &lt;code&gt;/startups/&amp;lt;slug&amp;gt;/visit&lt;/code&gt;, an internal path that 301s outward. Their &lt;code&gt;robots.txt&lt;/code&gt; doesn't block it, so it still passes — but if you check with "does this page contain a link to my domain", you'll conclude the site gives you nothing. I did, at first.&lt;/p&gt;

&lt;p&gt;Peerlist goes further: on an unlaunched project the visit control is &lt;code&gt;&amp;lt;button href="..."&amp;gt;&lt;/code&gt;. An &lt;code&gt;href&lt;/code&gt; on a &lt;code&gt;button&lt;/code&gt; is not a link. Crawlers don't follow it.&lt;/p&gt;

&lt;p&gt;So the check needs three steps: find the control by its &lt;em&gt;label&lt;/em&gt; ("Visit", "Website"), not by its host; if it points to an internal path, check the status code; then check &lt;code&gt;robots.txt&lt;/code&gt; for that path.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Your page may not get the same &lt;code&gt;rel&lt;/code&gt; as the page you measured
&lt;/h3&gt;

&lt;p&gt;This is the one that cost me. On AlternativeTo I measured Roll20's entry — clean &lt;code&gt;rel="noopener"&lt;/code&gt;. Then I submitted my own and measured again:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;rel="nofollow noopener"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The page also says &lt;em&gt;"Your submission is waiting to be reviewed."&lt;/em&gt; Reviewed listings appear to get followed links; pending ones don't. Reasonable anti-spam design — and completely invisible until you check your own page.&lt;/p&gt;

&lt;p&gt;Measuring someone else's page tells you whether a directory is &lt;strong&gt;worth trying&lt;/strong&gt;. It does not tell you what &lt;strong&gt;you&lt;/strong&gt; will get.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Measure &lt;code&gt;rel&lt;/code&gt; before filling any form. It takes seconds and it killed two $99–$247 submissions for me.&lt;/li&gt;
&lt;li&gt;Treat "free + followed link" as a red flag, not a find. Ask what they're taking instead.&lt;/li&gt;
&lt;li&gt;Re-measure your own page after publishing.&lt;/li&gt;
&lt;li&gt;Don't let &lt;code&gt;nofollow&lt;/code&gt; alone decide. I published to Indie Hackers knowing it was &lt;code&gt;nofollow&lt;/code&gt;, because the audience was right. Referral traffic and discoverability are real — they're just not link equity, and conflating the two is how you end up paying $247 for a &lt;code&gt;nofollow&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;For context on why I was doing this at all: I build &lt;a href="https://rpgbuilder.ai" rel="noopener noreferrer"&gt;RPG Builder&lt;/a&gt;, a toolkit for D&amp;amp;D 5e dungeon masters, and I was looking for places to list it. The directory hunt turned out to be more interesting than the listings.&lt;/p&gt;

&lt;p&gt;If you've measured a directory that isn't in the table, I'd like to hear the number.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
