<?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: BRANDLUMEO LLP</title>
    <description>The latest articles on DEV Community by BRANDLUMEO LLP (@brandlumeo).</description>
    <link>https://dev.to/brandlumeo</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%2F4093627%2Fda4f1293-2b08-46e3-b7d7-5f5598dd6a1b.png</url>
      <title>DEV Community: BRANDLUMEO LLP</title>
      <link>https://dev.to/brandlumeo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brandlumeo"/>
    <language>en</language>
    <item>
      <title>"We Almost Wasted Time on a 'High DA' Backlink List — Here's What We Do Instead"</title>
      <dc:creator>BRANDLUMEO LLP</dc:creator>
      <pubDate>Sat, 12 Sep 2026 06:34:36 +0000</pubDate>
      <link>https://dev.to/brandlumeo/we-almost-wasted-time-on-a-high-da-backlink-list-heres-what-we-do-instead-4pgh</link>
      <guid>https://dev.to/brandlumeo/we-almost-wasted-time-on-a-high-da-backlink-list-heres-what-we-do-instead-4pgh</guid>
      <description>&lt;p&gt;We recently got handed a few "high DA/PA backlink list" spreadsheets — the kind you can find all over SEO forums, with hundreds of sites ranked by Domain Authority and Page Authority. Before submitting our site to any of them, we decided to actually evaluate what we were looking at. Here's what we found, and how we're approaching backlinks instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with DA/PA backlink lists
&lt;/h2&gt;

&lt;p&gt;At first glance, a list of sites with DA 80-95 looks like a goldmine. But when we actually looked closer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Many were generic web directories from the early 2010s (pre-Panda/Penguin era) — the kind Google's algorithm updates specifically targeted&lt;/li&gt;
&lt;li&gt;Several were regional clones of the same platform (Craigslist variants for a dozen different cities, &lt;code&gt;.com.ar&lt;/code&gt; directory networks that were clearly the same operator)&lt;/li&gt;
&lt;li&gt;High DA sites like Amazon or eBay don't even accept "backlink submissions" in the first place — they were just noise in the list&lt;/li&gt;
&lt;li&gt;Page Authority (PA) on most of these was surprisingly low (30-45), which usually signals a link farm rather than a genuinely authoritative page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this means DA/PA numbers are useless — it means a spreadsheet of them, stripped of context, tells you almost nothing about whether a link is worth having.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we check before it counts as a "quality" link
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Relevance&lt;/strong&gt; — does the site's audience actually overlap with ours (marketing/dev/business), or is it a generic directory that accepts anything?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real traffic&lt;/strong&gt; — is this a site people actually browse, or just a database of submitted links?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spam score&lt;/strong&gt; — a quick Moz check for spam score and trust metrics catches a lot of the link-farm pattern early.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Follow vs nofollow&lt;/strong&gt; — nofollow links (common on classifieds, forums, many directories) still carry referral traffic and brand value, but shouldn't be counted the same as genuine dofollow authority links.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What we're doing instead
&lt;/h2&gt;

&lt;p&gt;Rather than chasing bulk directory submissions, we shifted to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Publishing genuine technical content&lt;/strong&gt; on platforms like Dev.to and Hashnode — real case studies from our own work (PageSpeed optimization, SEO fixes), not promotional posts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Business directories that actually vet listings&lt;/strong&gt; — GoodFirms, Clutch — where the traffic is people actively looking for an agency, not a bulk-scraped link list&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-promoting on LinkedIn&lt;/strong&gt; to get real eyes on the content, which matters more for referral traffic than the backlink itself&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tracking in Google Search Console&lt;/strong&gt;, not just a rank tracker — actual impressions, clicks, and query data tell you far more than a DA number ever will&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we learned from Search Console along the way
&lt;/h2&gt;

&lt;p&gt;A few things surprised us once we started actually watching the data instead of assuming:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most of our early impressions were brand-name searches, not the topic keywords we expected&lt;/li&gt;
&lt;li&gt;One blog post ended up indexed under two slightly different URLs (trailing slash mismatch) — a reminder that even small technical details affect how cleanly Google reads your site&lt;/li&gt;
&lt;li&gt;Broad, competitive keywords ("best X in [city]") are unrealistic to expect quick movement on for a newer site — long-tail, specific content earns visibility faster&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;If someone hands you a "1000 high DA backlinks" list, open it before you use it. A handful of genuinely relevant links will do more for you than hundreds of unrelated directory submissions — and it won't put your site at risk of looking manipulative to Google.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;We're &lt;a href="https://brandlumeo.site" rel="noopener noreferrer"&gt;BrandLumeo&lt;/a&gt;, a digital marketing agency working across Kerala and Dubai. Curious how others evaluate backlink opportunities before committing time to them!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>marketing</category>
      <category>beginners</category>
    </item>
    <item>
      <title>"5 Sneaky Technical SEO Issues That Were Hurting Our Site's Indexing (and How We Fixed Them)"</title>
      <dc:creator>BRANDLUMEO LLP</dc:creator>
      <pubDate>Fri, 04 Sep 2026 04:48:40 +0000</pubDate>
      <link>https://dev.to/brandlumeo/5-sneaky-technical-seo-issues-that-were-hurting-our-sites-indexing-and-how-we-fixed-them-11o5</link>
      <guid>https://dev.to/brandlumeo/5-sneaky-technical-seo-issues-that-were-hurting-our-sites-indexing-and-how-we-fixed-them-11o5</guid>
      <description>&lt;p&gt;We recently went through a full technical SEO cleanup on our own agency site (Next.js, static export). A few of the issues we found were sneaky — they don't break the site visually, but they quietly hurt indexing and rankings. Here's what we fixed.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Sitemap trailing slash mismatch
&lt;/h2&gt;

&lt;p&gt;Our sitemap listed URLs like &lt;code&gt;/services/&lt;/code&gt; (with trailing slash) but the actual pages resolved at &lt;code&gt;/services&lt;/code&gt; (no slash). Google Search Console flagged some of these as "Page with redirect" or simply didn't index them properly.&lt;/p&gt;

&lt;p&gt;Simplified fix in &lt;code&gt;sitemap.js&lt;/code&gt;:&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="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sitemap&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://example.com/services&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// no trailing slash — match your actual routes&lt;/span&gt;
      &lt;span class="na"&gt;lastModified&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lesson: your sitemap URLs must exactly match how your routes actually resolve — trailingSlash config in &lt;code&gt;next.config.js&lt;/code&gt; needs to agree with what's in the sitemap.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Keyword stuffing cleanup
&lt;/h2&gt;

&lt;p&gt;Some of our early pages had meta titles and descriptions that were overstuffed with keywords, trying to rank for too much at once. We rewrote them to be natural, specific, and under the recommended length (~60 chars for titles, ~155 for descriptions).&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Canonical tags
&lt;/h2&gt;

&lt;p&gt;We added canonical tags across all pages to avoid duplicate content issues, especially important on a static export where trailing slashes or query params can create near-duplicate URLs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;metadata&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;alternates&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;canonical&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://example.com/services&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. JSON-LD structured data
&lt;/h2&gt;

&lt;p&gt;Added JSON-LD schema (Organization, LocalBusiness where relevant) to help Google understand what the business actually is — useful for rich snippets and local search relevance.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. robots.js + sitemap.js setup
&lt;/h2&gt;

&lt;p&gt;Instead of static &lt;code&gt;robots.txt&lt;/code&gt;/&lt;code&gt;sitemap.xml&lt;/code&gt; files, we used Next.js's built-in &lt;code&gt;robots.js&lt;/code&gt; and &lt;code&gt;sitemap.js&lt;/code&gt; route handlers — cleaner to maintain and less error-prone than hand-written XML.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;After these fixes, our previously stuck &lt;code&gt;/services&lt;/code&gt; page got properly indexed in Google Search Console, and overall crawl errors dropped.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;If pages aren't indexing the way you expect, check in this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sitemap URLs vs actual route URLs (trailing slash mismatches are common)&lt;/li&gt;
&lt;li&gt;Canonical tags pointing to the right version&lt;/li&gt;
&lt;li&gt;Meta tags — over-optimization can hurt as much as under-optimization&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;We're &lt;a href="https://brandlumeo.site" rel="noopener noreferrer"&gt;BrandLumeo&lt;/a&gt;, a digital marketing agency working across Kerala and Dubai — handling everything from Meta Ads to web development and SEO. Happy to hear how others have handled similar indexing quirks!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>nextjs</category>
      <category>seo</category>
    </item>
    <item>
      <title>How We Took a Next.js Site's PageSpeed Score from ~50 to 98</title>
      <dc:creator>BRANDLUMEO LLP</dc:creator>
      <pubDate>Thu, 27 Aug 2026 05:56:01 +0000</pubDate>
      <link>https://dev.to/brandlumeo/how-we-took-a-nextjs-sites-pagespeed-score-from-50-to-98-48e2</link>
      <guid>https://dev.to/brandlumeo/how-we-took-a-nextjs-sites-pagespeed-score-from-50-to-98-48e2</guid>
      <description>&lt;p&gt;While auditing one of our own agency's sites (built as a Next.js static export), we found the mobile PageSpeed score sitting around 50 — not great for a site meant to represent a digital marketing agency. Here's what we changed to get it to 98.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Converted images to WebP
&lt;/h2&gt;

&lt;p&gt;Most of the images on the site were still JPG/PNG. Converting them to WebP alone cut file sizes significantly without any visible quality loss.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Migrated to &lt;code&gt;next/image&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Instead of plain &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tags, we moved every image to Next.js's built-in &lt;code&gt;Image&lt;/code&gt; component. This gave us automatic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lazy loading&lt;/li&gt;
&lt;li&gt;Responsive sizing&lt;/li&gt;
&lt;li&gt;Better format negotiation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's a simplified example of the approach:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Image&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/image&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Image&lt;/span&gt;
  &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/hero.webp&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hero banner&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;600&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;priority&lt;/span&gt;
&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Optimized Google Fonts with &lt;code&gt;next/font&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;We were loading Google Fonts the traditional way (via &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; tags), which adds render-blocking requests. Switching to &lt;code&gt;next/font/google&lt;/code&gt; self-hosts the fonts and eliminates that extra network round-trip.&lt;/p&gt;

&lt;p&gt;Simplified example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Poppins&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;next/font/google&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;poppins&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Poppins&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;subsets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;latin&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="na"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;400&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;600&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Cleaned up legal/meta pages
&lt;/h2&gt;

&lt;p&gt;Missing pages and broken links were quietly hurting the crawl experience and, indirectly, the performance audit. Adding proper legal pages (privacy policy, terms) closed that gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;Mobile PageSpeed score: &lt;strong&gt;~50 → 98&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;If your Next.js site is scoring low, check these three things first — they're usually the biggest wins for the least effort:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Image format + &lt;code&gt;next/image&lt;/code&gt; usage&lt;/li&gt;
&lt;li&gt;Font loading strategy&lt;/li&gt;
&lt;li&gt;Missing/broken pages affecting crawl&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;We're &lt;a href="https://brandlumeo.site" rel="noopener noreferrer"&gt;BrandLumeo&lt;/a&gt;, a digital marketing agency working across Kerala and Dubai — handling everything from Meta Ads to web development. Would love to hear how others have tackled similar performance issues!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>performance</category>
      <category>seo</category>
    </item>
  </channel>
</rss>
