<?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: Asikul Islam</title>
    <description>The latest articles on DEV Community by Asikul Islam (@asikul_islam_0f701acafd04).</description>
    <link>https://dev.to/asikul_islam_0f701acafd04</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%2F4113647%2Ffde55a03-538c-4d16-9c23-09ec6e8a4cd4.jpeg</url>
      <title>DEV Community: Asikul Islam</title>
      <link>https://dev.to/asikul_islam_0f701acafd04</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/asikul_islam_0f701acafd04"/>
    <language>en</language>
    <item>
      <title>Understanding XML Sitemaps: A Developer's Guide to Better URL Discovery</title>
      <dc:creator>Asikul Islam</dc:creator>
      <pubDate>Wed, 09 Sep 2026 14:04:34 +0000</pubDate>
      <link>https://dev.to/asikul_islam_0f701acafd04/understanding-xml-sitemaps-a-developers-guide-to-better-url-discovery-48ng</link>
      <guid>https://dev.to/asikul_islam_0f701acafd04/understanding-xml-sitemaps-a-developers-guide-to-better-url-discovery-48ng</guid>
      <description>&lt;p&gt;When building a website, developers usually focus on application logic, performance, security, and user experience. But there is another important technical layer that developers should not overlook: how search engines discover the URLs on a website.&lt;/p&gt;

&lt;p&gt;This is where an &lt;strong&gt;XML sitemap&lt;/strong&gt; becomes useful.&lt;/p&gt;

&lt;p&gt;An XML sitemap provides search engines with a structured list of URLs that you want them to discover and consider. It does not guarantee that every URL will be indexed, and it is not a direct ranking factor, but it can make URL discovery more efficient.&lt;/p&gt;

&lt;p&gt;For developers working with Next.js, React, Laravel, ASP.NET Core, WordPress, eCommerce platforms, or custom applications, understanding how sitemaps work can prevent a number of technical SEO problems.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is an XML Sitemap?
&lt;/h2&gt;

&lt;p&gt;An XML sitemap is an XML file that contains URLs from a website. A basic sitemap looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;urlset&lt;/span&gt; &lt;span class="na"&gt;xmlns=&lt;/span&gt;&lt;span class="s"&gt;"[http://www.sitemaps.org/schemas/sitemap/0.9](http://www.sitemaps.org/schemas/sitemap/0.9)"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;url&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;loc&amp;gt;&lt;/span&gt;[https://example.com/](https://example.com/)&lt;span class="nt"&gt;&amp;lt;/loc&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;lastmod&amp;gt;&lt;/span&gt;2026-09-01&lt;span class="nt"&gt;&amp;lt;/lastmod&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/url&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;url&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;loc&amp;gt;&lt;/span&gt;[https://example.com/about](https://example.com/about)&lt;span class="nt"&gt;&amp;lt;/loc&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;lastmod&amp;gt;&lt;/span&gt;2026-08-25&lt;span class="nt"&gt;&amp;lt;/lastmod&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/url&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;url&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;loc&amp;gt;&lt;/span&gt;[https://example.com/blog](https://example.com/blog)&lt;span class="nt"&gt;&amp;lt;/loc&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;lastmod&amp;gt;&lt;/span&gt;2026-08-30&lt;span class="nt"&gt;&amp;lt;/lastmod&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/url&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/urlset&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The most important element is , which contains the URL.&lt;/p&gt;

&lt;p&gt;The  element can indicate when the page was last meaningfully modified.&lt;/p&gt;

&lt;p&gt;A sitemap is not a database of every URL your application can generate. Ideally, it represents the important URLs that you want search engines to discover and potentially index.&lt;/p&gt;

&lt;p&gt;Why Do Search Engines Need Sitemaps?&lt;/p&gt;

&lt;p&gt;Search engines can discover URLs through many different mechanisms, especially links.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Homepage&lt;br&gt;
   ↓&lt;br&gt;
Category&lt;br&gt;
   ↓&lt;br&gt;
Product&lt;/p&gt;

&lt;p&gt;If your website has a good internal linking structure, crawlers can often discover a large portion of the site naturally.&lt;/p&gt;

&lt;p&gt;But real-world websites are not always that simple.&lt;/p&gt;

&lt;p&gt;Consider an application with:&lt;/p&gt;

&lt;p&gt;50,000 product pages&lt;br&gt;
10,000 blog posts&lt;br&gt;
Multiple category levels&lt;br&gt;
Dynamically generated URLs&lt;br&gt;
Frequently changing inventory&lt;br&gt;
Pages that aren't heavily linked internally&lt;/p&gt;

&lt;p&gt;A sitemap provides another structured source of URL information.&lt;/p&gt;

&lt;p&gt;This is especially useful for large, new, frequently updated, or complex websites.&lt;/p&gt;

&lt;p&gt;A Sitemap Does Not Guarantee Indexing&lt;/p&gt;

&lt;p&gt;This is an important distinction.&lt;/p&gt;

&lt;p&gt;Putting this URL into your sitemap:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://example.com/page" rel="noopener noreferrer"&gt;https://example.com/page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;does not mean:&lt;/p&gt;

&lt;p&gt;Google must index this page.&lt;/p&gt;

&lt;p&gt;A sitemap is primarily a discovery signal.&lt;/p&gt;

&lt;p&gt;Search engines still need to evaluate the URL and determine whether it should be crawled, indexed, and shown in search results.&lt;/p&gt;

&lt;p&gt;So developers should avoid thinking of a sitemap as an indexing command.&lt;/p&gt;

&lt;p&gt;A better mental model is:&lt;/p&gt;

&lt;p&gt;Sitemap&lt;br&gt;
   ↓&lt;br&gt;
URL Discovery&lt;br&gt;
   ↓&lt;br&gt;
Crawling&lt;br&gt;
   ↓&lt;br&gt;
Processing&lt;br&gt;
   ↓&lt;br&gt;
Indexing decision&lt;br&gt;
   ↓&lt;br&gt;
Search results&lt;/p&gt;

&lt;p&gt;Each stage has its own requirements.&lt;/p&gt;

&lt;p&gt;What Should Go Into a Sitemap?&lt;/p&gt;

&lt;p&gt;A good sitemap should contain URLs that are:&lt;/p&gt;

&lt;p&gt;Important&lt;br&gt;
Canonical&lt;br&gt;
Accessible&lt;br&gt;
Intended for indexing&lt;br&gt;
Returning an appropriate HTTP response&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://example.com/" rel="noopener noreferrer"&gt;https://example.com/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://example.com/products" rel="noopener noreferrer"&gt;https://example.com/products&lt;/a&gt;&lt;br&gt;
&lt;a href="https://example.com/products/laptop" rel="noopener noreferrer"&gt;https://example.com/products/laptop&lt;/a&gt;&lt;br&gt;
&lt;a href="https://example.com/blog/technical-seo" rel="noopener noreferrer"&gt;https://example.com/blog/technical-seo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The exact URLs depend on the architecture of your application.&lt;/p&gt;

&lt;p&gt;What Should Not Go Into a Sitemap?&lt;/p&gt;

&lt;p&gt;One of the most common problems I've seen with automatically generated sitemaps is that they contain URLs that shouldn't be there.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;p&gt;404 URLs&lt;br&gt;
Redirect URLs&lt;br&gt;
Duplicate URLs&lt;br&gt;
Non-canonical URLs&lt;br&gt;
Noindex pages&lt;br&gt;
Temporary URLs&lt;br&gt;
Internal search URLs&lt;br&gt;
Tracking parameter URLs&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://example.com/product?id=123" rel="noopener noreferrer"&gt;https://example.com/product?id=123&lt;/a&gt;&lt;br&gt;
&lt;a href="https://example.com/product?id=123&amp;amp;utm_source=google" rel="noopener noreferrer"&gt;https://example.com/product?id=123&amp;amp;utm_source=google&lt;/a&gt;&lt;br&gt;
&lt;a href="https://example.com/product?id=123&amp;amp;sort=price" rel="noopener noreferrer"&gt;https://example.com/product?id=123&amp;amp;sort=price&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If these are simply different variations of the same canonical page, you probably don't want all of them in your sitemap.&lt;/p&gt;

&lt;p&gt;The Developer's Problem: Automatically Generated Sitemaps&lt;/p&gt;

&lt;p&gt;This is where things get interesting.&lt;/p&gt;

&lt;p&gt;Many modern applications generate sitemaps automatically.&lt;/p&gt;

&lt;p&gt;For example, you might have:&lt;/p&gt;

&lt;p&gt;const products = await db.product.findMany({&lt;br&gt;
  where: {&lt;br&gt;
    published: true&lt;br&gt;
  }&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;Then generate:&lt;/p&gt;

&lt;p&gt;/products/product-1&lt;br&gt;
/products/product-2&lt;br&gt;
/products/product-3&lt;/p&gt;

&lt;p&gt;This seems straightforward.&lt;/p&gt;

&lt;p&gt;But what happens when:&lt;/p&gt;

&lt;p&gt;A product is deleted?&lt;br&gt;
A product becomes unpublished?&lt;br&gt;
The slug changes?&lt;br&gt;
The database contains an invalid record?&lt;br&gt;
The URL starts returning 404?&lt;br&gt;
The page becomes noindex?&lt;br&gt;
A redirect is introduced?&lt;/p&gt;

&lt;p&gt;Your sitemap generator can continue producing URLs that shouldn't be there.&lt;/p&gt;

&lt;p&gt;That's why sitemap generation and sitemap validation should be treated as two separate concerns.&lt;/p&gt;

&lt;p&gt;Sitemap Generation vs Sitemap Validation&lt;/p&gt;

&lt;p&gt;Think about it this way:&lt;/p&gt;

&lt;p&gt;Database&lt;br&gt;
   ↓&lt;br&gt;
Sitemap Generator&lt;br&gt;
   ↓&lt;br&gt;
sitemap.xml&lt;br&gt;
   ↓&lt;br&gt;
Sitemap Validator / Crawler&lt;br&gt;
   ↓&lt;br&gt;
Problems detected&lt;/p&gt;

&lt;p&gt;Generating the sitemap answers:&lt;/p&gt;

&lt;p&gt;"Which URLs should I put into the sitemap?"&lt;/p&gt;

&lt;p&gt;Validation answers:&lt;/p&gt;

&lt;p&gt;"Are those URLs actually healthy?"&lt;/p&gt;

&lt;p&gt;Both are important.&lt;/p&gt;

&lt;p&gt;How to Check an XML Sitemap&lt;/p&gt;

&lt;p&gt;For a small site, you can open the sitemap in a browser and inspect it manually.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://example.com/sitemap.xml" rel="noopener noreferrer"&gt;https://example.com/sitemap.xml&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But this approach doesn't scale.&lt;/p&gt;

&lt;p&gt;Imagine manually checking 10,000 URLs.&lt;/p&gt;

&lt;p&gt;That's where a sitemap crawler becomes useful.&lt;/p&gt;

&lt;p&gt;A sitemap crawler can take the URLs listed in your sitemap and inspect their responses.&lt;/p&gt;

&lt;p&gt;For example, you may discover:&lt;/p&gt;

&lt;p&gt;200 OK&lt;br&gt;
200 OK&lt;br&gt;
301 Redirect&lt;br&gt;
200 OK&lt;br&gt;
404 Not Found&lt;br&gt;
200 OK&lt;/p&gt;

&lt;p&gt;That immediately gives you information about the health of the URLs listed in your sitemap.&lt;/p&gt;

&lt;p&gt;If you're looking for a simple way to inspect sitemap URLs, the Blaze Solutions Sitemap Crawler can be used to crawl a sitemap:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blazesolutions.info/tools/sitemap-crawler" rel="noopener noreferrer"&gt;https://blazesolutions.info/tools/sitemap-crawler&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The important point isn't the specific tool—it's the workflow:&lt;/p&gt;

&lt;p&gt;Generate → Crawl → Identify problems → Fix → Recheck&lt;/p&gt;

&lt;p&gt;HTTP Status Codes Matter&lt;/p&gt;

&lt;p&gt;When validating sitemap URLs, HTTP status codes are particularly useful.&lt;/p&gt;

&lt;p&gt;200 OK&lt;/p&gt;

&lt;p&gt;Usually indicates that the URL successfully returns a page.&lt;/p&gt;

&lt;p&gt;GET /blog/example&lt;br&gt;
200 OK&lt;/p&gt;

&lt;p&gt;This is generally what you want for a normal indexable page.&lt;/p&gt;

&lt;p&gt;301 / 308 Redirect&lt;/p&gt;

&lt;p&gt;The URL redirects somewhere else.&lt;/p&gt;

&lt;p&gt;GET /old-page&lt;br&gt;
301 → /new-page&lt;/p&gt;

&lt;p&gt;If the final URL is the canonical page, consider putting the final URL in the sitemap instead.&lt;/p&gt;

&lt;p&gt;404 Not Found&lt;/p&gt;

&lt;p&gt;The resource doesn't exist.&lt;/p&gt;

&lt;p&gt;GET /deleted-page&lt;br&gt;
404 Not Found&lt;/p&gt;

&lt;p&gt;A deleted page generally shouldn't remain in your sitemap.&lt;/p&gt;

&lt;p&gt;5xx Errors&lt;/p&gt;

&lt;p&gt;Server-side errors can indicate application or infrastructure problems.&lt;/p&gt;

&lt;p&gt;500 Internal Server Error&lt;br&gt;
503 Service Unavailable&lt;/p&gt;

&lt;p&gt;These deserve investigation, especially if they affect important URLs.&lt;/p&gt;

&lt;p&gt;XML Sitemap and Canonical URLs&lt;/p&gt;

&lt;p&gt;Sitemaps and canonical URLs should generally agree with each other.&lt;/p&gt;

&lt;p&gt;Suppose you have:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://example.com/article" rel="noopener noreferrer"&gt;https://example.com/article&lt;/a&gt;&lt;br&gt;
&lt;a href="https://example.com/article?ref=twitter" rel="noopener noreferrer"&gt;https://example.com/article?ref=twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the canonical version is:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://example.com/article" rel="noopener noreferrer"&gt;https://example.com/article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;your sitemap should normally contain the canonical URL.&lt;/p&gt;

&lt;p&gt;You want your technical SEO signals to be consistent:&lt;/p&gt;

&lt;p&gt;Sitemap&lt;br&gt;
   ↓&lt;br&gt;
Canonical URL&lt;/p&gt;

&lt;p&gt;Internal Link&lt;br&gt;
   ↓&lt;br&gt;
Canonical URL&lt;/p&gt;

&lt;p&gt;Canonical Tag&lt;br&gt;
   ↓&lt;br&gt;
Canonical URL&lt;/p&gt;

&lt;p&gt;Consistency reduces unnecessary ambiguity.&lt;/p&gt;

&lt;p&gt;XML Sitemap and robots.txt&lt;/p&gt;

&lt;p&gt;robots.txt and sitemap.xml solve different problems.&lt;/p&gt;

&lt;p&gt;A sitemap tells crawlers about URLs you want them to discover.&lt;/p&gt;

&lt;p&gt;A robots.txt file provides crawler instructions.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;User-agent: *&lt;br&gt;
Disallow: /admin/&lt;/p&gt;

&lt;p&gt;Sitemap: &lt;a href="https://example.com/sitemap.xml" rel="noopener noreferrer"&gt;https://example.com/sitemap.xml&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The sitemap can be referenced directly from robots.txt.&lt;/p&gt;

&lt;p&gt;One important point for developers:&lt;/p&gt;

&lt;p&gt;Do not assume that adding a URL to a sitemap overrides a robots.txt restriction.&lt;/p&gt;

&lt;p&gt;They are separate mechanisms with different purposes.&lt;/p&gt;

&lt;p&gt;Dynamic Websites Need Extra Attention&lt;/p&gt;

&lt;p&gt;Static websites are relatively simple.&lt;/p&gt;

&lt;p&gt;Dynamic applications are different.&lt;/p&gt;

&lt;p&gt;Consider an eCommerce application where product pages are generated from a database.&lt;/p&gt;

&lt;p&gt;Today:&lt;/p&gt;

&lt;p&gt;/products/phone-x&lt;/p&gt;

&lt;p&gt;returns:&lt;/p&gt;

&lt;p&gt;200 OK&lt;/p&gt;

&lt;p&gt;Tomorrow, the product is deleted.&lt;/p&gt;

&lt;p&gt;If your sitemap generator doesn't account for that change, the sitemap may still contain:&lt;/p&gt;

&lt;p&gt;/products/phone-x&lt;/p&gt;

&lt;p&gt;which now returns:&lt;/p&gt;

&lt;p&gt;404 Not Found&lt;/p&gt;

&lt;p&gt;This is why dynamic sitemap generation should use the same business rules that determine whether a page is publicly available.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;const products = await db.product.findMany({&lt;br&gt;
  where: {&lt;br&gt;
    status: "published",&lt;br&gt;
    isDeleted: false&lt;br&gt;
  }&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;The exact implementation depends on your application, but the principle is simple:&lt;/p&gt;

&lt;p&gt;Don't generate sitemap URLs from data that shouldn't produce public pages.&lt;/p&gt;

&lt;p&gt;Sitemap Indexes for Large Websites&lt;/p&gt;

&lt;p&gt;Large websites don't necessarily need one massive sitemap file.&lt;/p&gt;

&lt;p&gt;You can split your sitemap into multiple files.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;sitemap.xml&lt;br&gt;
sitemap-products.xml&lt;br&gt;
sitemap-blog.xml&lt;br&gt;
sitemap-categories.xml&lt;/p&gt;

&lt;p&gt;A sitemap index can reference the individual files.&lt;/p&gt;

&lt;p&gt;This approach makes large websites easier to manage.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;



&lt;p&gt;&lt;br&gt;
    &lt;a href="https://example.com/sitemap-products.xml" rel="noopener noreferrer"&gt;https://example.com/sitemap-products.xml&lt;/a&gt;&lt;br&gt;
  &lt;/p&gt;

&lt;p&gt;&lt;br&gt;
    &lt;a href="https://example.com/sitemap-blog.xml" rel="noopener noreferrer"&gt;https://example.com/sitemap-blog.xml&lt;/a&gt;&lt;br&gt;
  &lt;/p&gt;



&lt;p&gt;For large applications, separating sitemap generation by content type can also simplify debugging.&lt;/p&gt;

&lt;p&gt;A Practical Sitemap Monitoring Workflow&lt;/p&gt;

&lt;p&gt;If I were maintaining a large web application, I wouldn't treat the sitemap as a one-time SEO task.&lt;/p&gt;

&lt;p&gt;I'd make it part of the technical monitoring process.&lt;/p&gt;

&lt;p&gt;A simple workflow could look like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate sitemap
   ↓&lt;/li&gt;
&lt;li&gt;Validate XML
   ↓&lt;/li&gt;
&lt;li&gt;Crawl sitemap URLs
   ↓&lt;/li&gt;
&lt;li&gt;Check HTTP status
   ↓&lt;/li&gt;
&lt;li&gt;Check canonical consistency
   ↓&lt;/li&gt;
&lt;li&gt;Remove invalid URLs
   ↓&lt;/li&gt;
&lt;li&gt;Deploy
   ↓&lt;/li&gt;
&lt;li&gt;Monitor Search Console&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is especially useful after:&lt;/p&gt;

&lt;p&gt;Website migrations&lt;br&gt;
CMS migrations&lt;br&gt;
URL structure changes&lt;br&gt;
Large database updates&lt;br&gt;
Product imports&lt;br&gt;
Removing thousands of pages&lt;br&gt;
Changing routing logic&lt;br&gt;
Common Sitemap Mistakes Developers Should Avoid&lt;br&gt;
Mistake 1: Generating Every Database URL&lt;/p&gt;

&lt;p&gt;Not every database record should become a public URL.&lt;/p&gt;

&lt;p&gt;Filter your data before generating the sitemap.&lt;/p&gt;

&lt;p&gt;Mistake 2: Ignoring HTTP Status Codes&lt;/p&gt;

&lt;p&gt;A URL existing in your database doesn't mean the HTTP endpoint works.&lt;/p&gt;

&lt;p&gt;Always consider the actual response.&lt;/p&gt;

&lt;p&gt;Mistake 3: Including Redirects&lt;/p&gt;

&lt;p&gt;If a URL redirects permanently to another URL, the final URL is usually a better sitemap candidate.&lt;/p&gt;

&lt;p&gt;Mistake 4: Ignoring Canonicalization&lt;/p&gt;

&lt;p&gt;Make sure sitemap URLs generally match your canonical URLs.&lt;/p&gt;

&lt;p&gt;Mistake 5: Updating lastmod on Every Build&lt;/p&gt;

&lt;p&gt;If your application runs a deployment every night, that doesn't mean every page was modified.&lt;/p&gt;

&lt;p&gt;Only update lastmod when meaningful content changes.&lt;/p&gt;

&lt;p&gt;Mistake 6: Treating Sitemap Submission as an SEO Strategy&lt;/p&gt;

&lt;p&gt;Submitting a sitemap is useful, but it isn't a replacement for:&lt;/p&gt;

&lt;p&gt;Good content&lt;br&gt;
Internal linking&lt;br&gt;
Technical SEO&lt;br&gt;
Performance optimization&lt;br&gt;
Search intent&lt;br&gt;
Backlinks&lt;br&gt;
A good website architecture&lt;br&gt;
A Simple Technical SEO Checklist&lt;/p&gt;

&lt;p&gt;Before considering your sitemap production-ready, check:&lt;/p&gt;

&lt;p&gt;[ ] XML is valid&lt;br&gt;
[ ] URLs are absolute&lt;br&gt;
[ ] HTTPS is used where appropriate&lt;br&gt;
[ ] URLs return expected responses&lt;br&gt;
[ ] No unnecessary redirects&lt;br&gt;
[ ] No 404 URLs&lt;br&gt;
[ ] Canonical URLs are used&lt;br&gt;
[ ] Noindex pages are excluded&lt;br&gt;
[ ] Important pages are included&lt;br&gt;
[ ] lastmod values are accurate&lt;br&gt;
[ ] robots.txt references the sitemap&lt;br&gt;
[ ] Sitemap is submitted to Search Console&lt;/p&gt;

&lt;p&gt;For larger sites, automate as many of these checks as possible.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;An XML sitemap is a small part of a web application, but it sits at an interesting intersection between development and technical SEO.&lt;/p&gt;

&lt;p&gt;For developers, the key lesson is that a sitemap isn't just an XML file.&lt;/p&gt;

&lt;p&gt;It's a representation of your application's public URL architecture.&lt;/p&gt;

&lt;p&gt;If the application changes, the sitemap needs to change with it.&lt;/p&gt;

&lt;p&gt;If products are deleted, URLs should disappear.&lt;/p&gt;

&lt;p&gt;If routes change, the sitemap should reflect the new routes.&lt;/p&gt;

&lt;p&gt;If pages become non-indexable, they shouldn't continue appearing as important sitemap URLs.&lt;/p&gt;

&lt;p&gt;A healthy sitemap is therefore the result of both good application architecture and good technical SEO practices.&lt;/p&gt;

&lt;p&gt;And if your sitemap contains hundreds or thousands of URLs, don't rely entirely on manual inspection. Crawl it, check the responses, identify anomalies, and fix the underlying application or content issues.&lt;/p&gt;

&lt;p&gt;That's a much more reliable approach than simply generating sitemap.xml and forgetting about it..&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Hello DEV Community 👋 — My Journey from Software Development to AI Automation</title>
      <dc:creator>Asikul Islam</dc:creator>
      <pubDate>Mon, 07 Sep 2026 10:03:39 +0000</pubDate>
      <link>https://dev.to/asikul_islam_0f701acafd04/hello-dev-community-my-journey-from-software-development-to-ai-automation-1kcb</link>
      <guid>https://dev.to/asikul_islam_0f701acafd04/hello-dev-community-my-journey-from-software-development-to-ai-automation-1kcb</guid>
      <description>&lt;h1&gt;
  
  
  Hello DEV Community 👋 — My Journey from Software Development to AI Automation
&lt;/h1&gt;

&lt;p&gt;This is my first post on DEV.to, so I thought I would start with a simple introduction.&lt;/p&gt;

&lt;p&gt;I'm a software developer and AI automation engineer who has spent more than a decade building software, solving business problems, and exploring new technologies.&lt;/p&gt;

&lt;p&gt;Over the years, I've worked with different technologies and frameworks, but one thing has remained constant: &lt;strong&gt;I'm always curious about how technology can make people's work easier.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  From Software Development to AI
&lt;/h2&gt;

&lt;p&gt;My professional journey started primarily around Microsoft technologies, including .NET, ASP.NET, ASP.NET MVC, ASP.NET Core, and Microsoft SQL Server.&lt;/p&gt;

&lt;p&gt;Like many developers, I spent years building applications, designing databases, debugging production issues, optimizing systems, and working with teams to turn business requirements into working software.&lt;/p&gt;

&lt;p&gt;But the technology landscape has changed dramatically.&lt;/p&gt;

&lt;p&gt;AI is no longer something that exists only in research papers or experimental projects. It is becoming part of the way we build software, automate workflows, communicate with customers, analyze information, and run businesses.&lt;/p&gt;

&lt;p&gt;That shift caught my attention.&lt;/p&gt;

&lt;p&gt;I started exploring how AI could be combined with traditional software engineering and workflow automation to build systems that don't just respond to users, but can actually &lt;strong&gt;perform useful tasks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That led me deeper into AI automation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why AI Automation?
&lt;/h2&gt;

&lt;p&gt;I believe the most interesting opportunity isn't simply putting an AI chatbot on a website.&lt;/p&gt;

&lt;p&gt;The real opportunity is connecting AI with business processes.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finding and qualifying leads&lt;/li&gt;
&lt;li&gt;Researching prospects&lt;/li&gt;
&lt;li&gt;Generating personalized outreach&lt;/li&gt;
&lt;li&gt;Processing documents&lt;/li&gt;
&lt;li&gt;Automating repetitive administrative tasks&lt;/li&gt;
&lt;li&gt;Monitoring competitors&lt;/li&gt;
&lt;li&gt;Creating and optimizing content&lt;/li&gt;
&lt;li&gt;Connecting different business applications&lt;/li&gt;
&lt;li&gt;Building AI-powered internal assistants&lt;/li&gt;
&lt;li&gt;Automating multi-step workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When these pieces are connected properly, AI becomes more than a chat interface.&lt;/p&gt;

&lt;p&gt;It becomes part of the workflow.&lt;/p&gt;

&lt;p&gt;And that's what I'm interested in building.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm Working On
&lt;/h2&gt;

&lt;p&gt;Currently, I'm exploring and building AI-powered automation systems using technologies such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI APIs and LLMs&lt;/li&gt;
&lt;li&gt;n8n workflow automation&lt;/li&gt;
&lt;li&gt;Next.js&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;ASP.NET Core&lt;/li&gt;
&lt;li&gt;SQL Server and MySQL&lt;/li&gt;
&lt;li&gt;REST APIs&lt;/li&gt;
&lt;li&gt;Cloud services&lt;/li&gt;
&lt;li&gt;Webhooks&lt;/li&gt;
&lt;li&gt;Business process automation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One area I'm particularly interested in is the concept of &lt;strong&gt;AI Employees&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of thinking of AI only as a tool that answers questions, I like thinking about AI agents as digital workers that can be given a specific responsibility.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An AI Sales Employee that can research prospects, qualify leads, prepare personalized messages, and keep the sales pipeline updated.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are still many challenges to solve—reliability, context management, security, human oversight, cost, and integration with existing systems.&lt;/p&gt;

&lt;p&gt;That's what makes it interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I'm Joining DEV.to
&lt;/h2&gt;

&lt;p&gt;I've been working in software development for many years, but this is my first post on DEV.to.&lt;/p&gt;

&lt;p&gt;I joined because I want to become more involved in the developer community and share what I learn along the way.&lt;/p&gt;

&lt;p&gt;I don't want this profile to be just a place where I publish polished tutorials.&lt;/p&gt;

&lt;p&gt;I also want to share the real development process:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Things that worked&lt;/li&gt;
&lt;li&gt;Things that didn't work&lt;/li&gt;
&lt;li&gt;Architecture decisions&lt;/li&gt;
&lt;li&gt;Debugging stories&lt;/li&gt;
&lt;li&gt;AI experiments&lt;/li&gt;
&lt;li&gt;Automation workflows&lt;/li&gt;
&lt;li&gt;Development lessons&lt;/li&gt;
&lt;li&gt;Useful tools&lt;/li&gt;
&lt;li&gt;Real-world problems and solutions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes the most valuable lesson comes from a problem that took several hours to solve.&lt;/p&gt;

&lt;p&gt;So I'll try to document those experiences too.&lt;/p&gt;

&lt;h2&gt;
  
  
  What You'll Find Here
&lt;/h2&gt;

&lt;p&gt;Going forward, I plan to write about topics such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI &amp;amp; Automation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Practical AI automation, AI agents, LLM integrations, and business workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software Development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Architecture, APIs, backend development, databases, performance, and full-stack development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;n8n &amp;amp; Workflow Automation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Real-world automation workflows and integrations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI-Powered Products&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lessons from building and experimenting with AI-based products.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SEO &amp;amp; Developer Tools&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm also interested in building useful tools that solve everyday problems for developers, marketers, and website owners.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Developer's Journey Never Really Ends
&lt;/h2&gt;

&lt;p&gt;One thing I've learned after spending many years in software development is that you never really "finish" learning.&lt;/p&gt;

&lt;p&gt;The technologies change.&lt;/p&gt;

&lt;p&gt;The frameworks change.&lt;/p&gt;

&lt;p&gt;The tools change.&lt;/p&gt;

&lt;p&gt;The problems change.&lt;/p&gt;

&lt;p&gt;And now AI is changing the way we think about software itself.&lt;/p&gt;

&lt;p&gt;That's exciting.&lt;/p&gt;

&lt;p&gt;I'm looking forward to learning, building, experimenting, and sharing the journey here.&lt;/p&gt;

&lt;p&gt;If you're also working with &lt;strong&gt;AI, automation, software development, or developer tools&lt;/strong&gt;, I'd love to connect and learn from your experience.&lt;/p&gt;

&lt;p&gt;This is just the beginning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hello, DEV Community! 👋&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm glad to finally be here.&lt;/p&gt;




&lt;h1&gt;
  
  
  Tags
&lt;/h1&gt;

&lt;h1&gt;
  
  
  introduction #ai #automation #webdev #programming
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>career</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
