<?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: Sujal Goel</title>
    <description>The latest articles on DEV Community by Sujal Goel (@hecodesforme).</description>
    <link>https://dev.to/hecodesforme</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%2F4110270%2F1d9c2717-7722-4c94-8e95-05f073565b12.jpg</url>
      <title>DEV Community: Sujal Goel</title>
      <link>https://dev.to/hecodesforme</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hecodesforme"/>
    <language>en</language>
    <item>
      <title>My site was indexed on Google for three weeks and ranked for nothing. Every backlink I had was nofollow.</title>
      <dc:creator>Sujal Goel</dc:creator>
      <pubDate>Fri, 04 Sep 2026 18:58:08 +0000</pubDate>
      <link>https://dev.to/hecodesforme/my-site-was-indexed-on-google-for-three-weeks-and-ranked-for-nothing-every-backlink-i-had-was-2fi9</link>
      <guid>https://dev.to/hecodesforme/my-site-was-indexed-on-google-for-three-weeks-and-ranked-for-nothing-every-backlink-i-had-was-2fi9</guid>
      <description>&lt;p&gt;I shipped my portfolio on 23 July. Then I did what everyone tells you to do.&lt;/p&gt;

&lt;p&gt;I put the link in my Upwork profile. In my GitHub bio. In my LinkedIn. In my X bio. I opened a pull request against &lt;a href="https://github.com/emmabostian/developer-portfolios" rel="noopener noreferrer"&gt;emmabostian/developer-portfolios&lt;/a&gt;, which is a big curated list of developer sites, and it got merged into the README.&lt;/p&gt;

&lt;p&gt;Two and a half weeks later I searched my own brand name and got nothing. Not page two. Nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The wrong diagnosis
&lt;/h2&gt;

&lt;p&gt;My first thought was the obvious one. Google has not crawled it yet.&lt;/p&gt;

&lt;p&gt;That was wrong, and it cost me a week of looking in the wrong place. I opened Search Console and ran the URL inspection. It came back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;URL is on Google
Page is indexed
Structured data: 1 valid item detected (ProfilePage)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The site was indexed the whole time. It ranked number one for &lt;code&gt;site:hecodesforme.com&lt;/code&gt;. The search result rendered my exact title, my meta description and my favicon. Nothing about the page was broken, and nothing about it had ever been broken.&lt;/p&gt;

&lt;p&gt;Indexed and ranking are two different things. I knew that as a sentence. I did not actually believe it until I watched it happen to me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real reason
&lt;/h2&gt;

&lt;p&gt;Google ranks pages partly on links from other sites. A link only passes that signal if it is a normal link. If it carries &lt;code&gt;rel="nofollow"&lt;/code&gt;, it tells Google to not pass any ranking credit through it.&lt;/p&gt;

&lt;p&gt;I went and looked at the actual HTML of every place I had put my link.&lt;/p&gt;

&lt;p&gt;Every single one was nofollow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upwork profile: nofollow&lt;/li&gt;
&lt;li&gt;LinkedIn profile: nofollow&lt;/li&gt;
&lt;li&gt;X bio: nofollow&lt;/li&gt;
&lt;li&gt;GitHub profile bio: nofollow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is four out of four, and it is not a bug. Those are all sites with millions of user-editable profile fields. If they passed ranking credit, every one of those fields would be filled with casino spam inside a day. So they nofollow the lot. Correct decision by them, and completely invisible to me until I checked.&lt;/p&gt;

&lt;p&gt;Then I found the one that actually annoyed me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub wraps links inside README files in nofollow too.&lt;/strong&gt; So the pull request I wrote, that a maintainer reviewed, that got merged into a repository with a lot of stars, passes exactly zero ranking authority. It is good for humans who read that list. For Google it may as well not exist.&lt;/p&gt;

&lt;p&gt;So my scoreboard after two and a half weeks of "doing SEO" was five backlinks and zero ranking signal. I had not done bad work. I had done work that could not possibly have produced the result I was waiting for.&lt;/p&gt;

&lt;h2&gt;
  
  
  The second problem, which is my own fault
&lt;/h2&gt;

&lt;p&gt;My domain is hecodesforme.com. There are two things wrong with that string.&lt;/p&gt;

&lt;p&gt;Search for &lt;code&gt;hecodesforme&lt;/code&gt; and Google says "showing results for codeformer". CodeFormer is a popular face restoration tool and my brand is one letter away from it. Google assumes I typoed.&lt;/p&gt;

&lt;p&gt;Search for &lt;code&gt;he codes for me&lt;/code&gt; and Google reads it as a normal English sentence and gives you an AI overview about hiring someone to write code for you.&lt;/p&gt;

&lt;p&gt;Neither of these is a technical problem. There is no tag I can add to fix it. Google resolves it only when it recognises the string as the name of a real thing, and that happens when enough people search for it and click the actual site.&lt;/p&gt;

&lt;p&gt;If you are picking a domain, say it out loud, then type it into Google before you buy it. If Google autocorrects it to something else, you are signing up to fight that autocorrect for months.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to check your own links in about a minute
&lt;/h2&gt;

&lt;p&gt;Do not trust that a link counts. Go and look.&lt;/p&gt;

&lt;p&gt;Open the page your link is on, view source, and search for your domain. Look at the anchor tag around it. If you see &lt;code&gt;rel="nofollow"&lt;/code&gt; or &lt;code&gt;rel="nofollow ugc"&lt;/code&gt; or &lt;code&gt;rel="me nofollow"&lt;/code&gt;, that link is not helping you rank.&lt;/p&gt;

&lt;p&gt;If you want to do it faster, this is enough:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; https://the-page-with-your-link.com &lt;span class="se"&gt;\&lt;/span&gt;
  | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s1"&gt;'&amp;lt;a[^&amp;gt;]*yourdomain\.com[^&amp;gt;]*&amp;gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Read the &lt;code&gt;rel&lt;/code&gt; attribute on whatever comes back. It takes thirty seconds per link and it would have saved me two weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I should have done first
&lt;/h2&gt;

&lt;p&gt;The links that pass authority are the ones on sites where somebody publishes actual content. Not profile fields. Writing platforms, real directories, other people's blogs, project pages.&lt;/p&gt;

&lt;p&gt;Profile links are still worth doing, to be clear. They send real humans, and a person clicking through from my Upwork profile is worth more to me than a ranking position. Just do not count them as SEO, because they are not.&lt;/p&gt;

&lt;p&gt;The thing I keep coming back to is that every step I took was a step people recommend. Fill in your profiles. Get on a portfolio list. All fine advice. None of it was wrong. It just could not do the specific job I was expecting it to do, and I never checked, because checking felt too basic to bother with.&lt;/p&gt;

&lt;p&gt;That is the actual lesson. When something you built is not working, verify the assumption you did not think was worth verifying.&lt;/p&gt;

&lt;p&gt;The site is at &lt;a href="https://hecodesforme.com" rel="noopener noreferrer"&gt;hecodesforme.com&lt;/a&gt; if you want to look at it. It is a portfolio, the WebGL is hand written, and as of today it still does not rank for its own name.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>career</category>
    </item>
  </channel>
</rss>
