<?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: sepideh jafari</title>
    <description>The latest articles on DEV Community by sepideh jafari (@sepideh_jafari).</description>
    <link>https://dev.to/sepideh_jafari</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%2F4123093%2Fd64c6245-33a0-47c9-9e5f-2705c334db90.jpg</url>
      <title>DEV Community: sepideh jafari</title>
      <link>https://dev.to/sepideh_jafari</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sepideh_jafari"/>
    <language>en</language>
    <item>
      <title>Canonical Tags Can't Fix a Bad Website Architecture</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Fri, 25 Sep 2026 20:30:00 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/canonical-tags-cant-fix-a-bad-website-architecture-17mj</link>
      <guid>https://dev.to/sepideh_jafari/canonical-tags-cant-fix-a-bad-website-architecture-17mj</guid>
      <description>&lt;p&gt;Canonical tags are powerful.&lt;/p&gt;

&lt;p&gt;They're also misunderstood.&lt;/p&gt;

&lt;p&gt;A canonical tells search engines which URL you consider the preferred version among similar or duplicate pages.&lt;/p&gt;

&lt;p&gt;What it doesn't do is magically repair an uncontrolled website architecture.&lt;/p&gt;

&lt;p&gt;Canonical Is a Signal, Not a Cleanup Tool&lt;/p&gt;

&lt;p&gt;Imagine an application generates 100 variations of the same page.&lt;/p&gt;

&lt;p&gt;You canonicalize all 100 to one URL.&lt;/p&gt;

&lt;p&gt;That's better than leaving them ambiguous.&lt;/p&gt;

&lt;p&gt;But those 100 URLs may still:&lt;/p&gt;

&lt;p&gt;be crawlable,&lt;br&gt;
receive internal links,&lt;br&gt;
appear in logs,&lt;br&gt;
consume crawling,&lt;br&gt;
and create unnecessary complexity.&lt;/p&gt;

&lt;p&gt;The canonical tag didn't remove the architecture.&lt;/p&gt;

&lt;p&gt;It clarified preference.&lt;/p&gt;

&lt;p&gt;Ask Why the Duplicate Exists&lt;/p&gt;

&lt;p&gt;Whenever I see large-scale canonicalization, I want to ask:&lt;/p&gt;

&lt;p&gt;Why can these alternative URLs exist?&lt;/p&gt;

&lt;p&gt;Sometimes there's a good reason.&lt;/p&gt;

&lt;p&gt;Parameters.&lt;/p&gt;

&lt;p&gt;Tracking.&lt;/p&gt;

&lt;p&gt;Valid product variants.&lt;/p&gt;

&lt;p&gt;Pagination.&lt;/p&gt;

&lt;p&gt;Sometimes there isn't.&lt;/p&gt;

&lt;p&gt;The application simply creates multiple paths to the same resource.&lt;/p&gt;

&lt;p&gt;Self-Canonicals Matter Too&lt;/p&gt;

&lt;p&gt;Canonical tags aren't only for duplicates.&lt;/p&gt;

&lt;p&gt;A clean indexable page generally benefits from clearly declaring itself as canonical.&lt;/p&gt;

&lt;p&gt;That creates consistency.&lt;/p&gt;

&lt;p&gt;Especially across templates.&lt;/p&gt;

&lt;p&gt;Canonical Problems Are Often Template Problems&lt;/p&gt;

&lt;p&gt;If five pages have incorrect canonicals, check the pages.&lt;/p&gt;

&lt;p&gt;If 5,000 pages have incorrect canonicals, check the code generating them.&lt;/p&gt;

&lt;p&gt;This distinction matters.&lt;/p&gt;

&lt;p&gt;Technical SEO at scale is often about identifying the system producing the error.&lt;/p&gt;

&lt;p&gt;Google Can Ignore Your Canonical&lt;/p&gt;

&lt;p&gt;Canonical tags aren't commands.&lt;/p&gt;

&lt;p&gt;Search engines can select a different canonical when other signals disagree.&lt;/p&gt;

&lt;p&gt;Internal links, redirects, sitemap entries, duplicate content, and URL consistency all contribute.&lt;br&gt;
That's another reason architecture matters.&lt;br&gt;
The Bigger Lesson&lt;br&gt;
Canonical tags work best inside a clean system.&lt;br&gt;
Don't ask canonicalization to compensate for URL behavior that should have been fixed at the architecture level.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>architecture</category>
      <category>seo</category>
    </item>
    <item>
      <title>Why Publishing More Content Doesn't Guarantee More Traffic</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Tue, 22 Sep 2026 06:30:00 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/why-publishing-more-content-doesnt-guarantee-more-traffic-1d32</link>
      <guid>https://dev.to/sepideh_jafari/why-publishing-more-content-doesnt-guarantee-more-traffic-1d32</guid>
      <description>&lt;p&gt;Producing content has never been easier.&lt;/p&gt;

&lt;p&gt;AI can generate outlines, drafts, summaries, FAQs, and topic ideas in seconds.&lt;/p&gt;

&lt;p&gt;That sounds like great news for SEO.&lt;/p&gt;

&lt;p&gt;And it can be.&lt;/p&gt;

&lt;p&gt;But there's a dangerous assumption hiding behind the excitement:&lt;/p&gt;

&lt;p&gt;If we publish more pages, we'll get more organic traffic.&lt;/p&gt;

&lt;p&gt;That's not how search works.&lt;/p&gt;

&lt;p&gt;More content only helps when those pages add useful coverage to the website.&lt;/p&gt;

&lt;p&gt;Otherwise, scale can simply multiply existing SEO problems.&lt;/p&gt;

&lt;p&gt;More URLs Don't Mean More Search Visibility&lt;/p&gt;

&lt;p&gt;Imagine a website publishing 1,000 articles.&lt;/p&gt;

&lt;p&gt;That number sounds impressive.&lt;/p&gt;

&lt;p&gt;But what if 300 of them target nearly identical search intent?&lt;/p&gt;

&lt;p&gt;What if hundreds have almost no internal links?&lt;/p&gt;

&lt;p&gt;What if multiple pages compete for the same query?&lt;/p&gt;

&lt;p&gt;What if Google sees dozens of pages answering essentially the same question?&lt;/p&gt;

&lt;p&gt;The website has more content.&lt;/p&gt;

&lt;p&gt;It doesn't necessarily have more value.&lt;/p&gt;

&lt;p&gt;Content Cannibalization Often Starts With Planning&lt;/p&gt;

&lt;p&gt;Cannibalization is often discovered after publishing.&lt;/p&gt;

&lt;p&gt;I prefer thinking about it before publishing.&lt;/p&gt;

&lt;p&gt;Before creating a new article, I want to know:&lt;/p&gt;

&lt;p&gt;What exact intent does it satisfy?&lt;br&gt;
Which existing page is closest to that intent?&lt;br&gt;
Should this become a new page or improve an existing one?&lt;br&gt;
Where does it sit in the topic architecture?&lt;/p&gt;

&lt;p&gt;This becomes increasingly important as content libraries grow.&lt;/p&gt;

&lt;p&gt;AI Makes Architecture More Important&lt;/p&gt;

&lt;p&gt;AI reduces the cost of creating content.&lt;/p&gt;

&lt;p&gt;That makes information architecture more valuable.&lt;/p&gt;

&lt;p&gt;If publishing becomes 10x faster while planning stays the same, websites can create technical and editorial debt 10x faster too.&lt;/p&gt;

&lt;p&gt;The bottleneck moves.&lt;/p&gt;

&lt;p&gt;Writing becomes easier.&lt;/p&gt;

&lt;p&gt;Deciding what deserves a page becomes harder.&lt;/p&gt;

&lt;p&gt;A Real Content Platform Example&lt;/p&gt;

&lt;p&gt;I've seen this challenge clearly while working with &lt;a href="https://sefidsiah.com/" rel="noopener noreferrer"&gt;SefidSiah&lt;/a&gt;, a growing Persian health content platform.&lt;/p&gt;

&lt;p&gt;Health topics naturally overlap.&lt;/p&gt;

&lt;p&gt;A broad subject can contain symptoms, conditions, exercises, warning signs, lifestyle questions, and highly specific searches.&lt;/p&gt;

&lt;p&gt;Without a clear topic model, it's easy to create several articles that look different editorially but satisfy nearly the same search intent.&lt;/p&gt;

&lt;p&gt;That's why content growth needs to be connected to architecture.&lt;/p&gt;

&lt;p&gt;Internal Linking Can't Be an Afterthought&lt;/p&gt;

&lt;p&gt;Publishing an article doesn't automatically integrate it into the site.&lt;/p&gt;

&lt;p&gt;A new page needs relationships.&lt;/p&gt;

&lt;p&gt;It should connect to relevant parent topics, supporting articles, and related content.&lt;/p&gt;

&lt;p&gt;Otherwise, a site can accumulate hundreds of isolated pages.&lt;/p&gt;

&lt;p&gt;This is why I increasingly think of content as a graph rather than a list.&lt;/p&gt;

&lt;p&gt;Measure Useful Coverage, Not Article Count&lt;/p&gt;

&lt;p&gt;“500 articles published” is a production metric.&lt;/p&gt;

&lt;p&gt;It doesn't tell you whether SEO improved.&lt;/p&gt;

&lt;p&gt;More useful questions are:&lt;/p&gt;

&lt;p&gt;Are more relevant queries receiving impressions?&lt;/p&gt;

&lt;p&gt;Are important topic clusters becoming stronger?&lt;/p&gt;

&lt;p&gt;Are new pages being indexed?&lt;/p&gt;

&lt;p&gt;Are existing pages losing visibility because of overlap?&lt;/p&gt;

&lt;p&gt;Are users moving naturally between related content?&lt;/p&gt;

&lt;p&gt;Content quantity is easy to measure.&lt;/p&gt;

&lt;p&gt;Content usefulness is harder.&lt;/p&gt;

&lt;p&gt;But usefulness is the metric that matters.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;AI will probably make the web much larger.&lt;/p&gt;

&lt;p&gt;It won't automatically make it better.&lt;/p&gt;

&lt;p&gt;The advantage won't belong to whoever publishes the most pages.&lt;/p&gt;

&lt;p&gt;It will belong to websites that understand which pages should exist, why they should exist, and how they should connect.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>seo</category>
      <category>marketing</category>
    </item>
    <item>
      <title>What SEOs Should Know About JavaScript Websites</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 20 Sep 2026 06:30:00 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/what-seos-should-know-about-javascript-websites-55ho</link>
      <guid>https://dev.to/sepideh_jafari/what-seos-should-know-about-javascript-websites-55ho</guid>
      <description>&lt;p&gt;What SEOs Should Know About JavaScript Websites&lt;/p&gt;

&lt;p&gt;Modern websites increasingly behave like applications.&lt;/p&gt;

&lt;p&gt;For SEO specialists, that changes what we need to understand.&lt;/p&gt;

&lt;p&gt;You don't need to become a JavaScript engineer.&lt;/p&gt;

&lt;p&gt;But if you're auditing modern websites without understanding how JavaScript applications create pages, links, metadata, and routes, you're increasingly working with only part of the picture.&lt;/p&gt;

&lt;p&gt;View Source Isn't the Whole Website&lt;/p&gt;

&lt;p&gt;One of the first things to understand is that the initial HTML response and the final rendered page may not be identical.&lt;/p&gt;

&lt;p&gt;JavaScript can modify the page after the initial response.&lt;/p&gt;

&lt;p&gt;That means an SEO audit may need to distinguish between:&lt;/p&gt;

&lt;p&gt;Response HTML&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;Rendered DOM&lt;/p&gt;

&lt;p&gt;This matters when investigating content, links, metadata, and other elements generated client-side.&lt;/p&gt;

&lt;p&gt;Rendering Strategy Matters&lt;/p&gt;

&lt;p&gt;Modern frameworks provide several rendering approaches.&lt;/p&gt;

&lt;p&gt;Pages may be:&lt;/p&gt;

&lt;p&gt;server-rendered,&lt;br&gt;
statically generated,&lt;br&gt;
client-rendered,&lt;br&gt;
incrementally generated,&lt;br&gt;
or use a combination of strategies.&lt;/p&gt;

&lt;p&gt;From an SEO perspective, the important question isn't which acronym sounds best.&lt;/p&gt;

&lt;p&gt;It's:&lt;/p&gt;

&lt;p&gt;What does the crawler receive, and when?&lt;/p&gt;

&lt;p&gt;A JavaScript framework isn't automatically bad for SEO.&lt;/p&gt;

&lt;p&gt;Poor implementation is.&lt;/p&gt;

&lt;p&gt;Links Need to Behave Like Links&lt;/p&gt;

&lt;p&gt;Interactive interfaces make it easy to create navigation that works perfectly for users but isn't represented in the way crawlers expect.&lt;/p&gt;

&lt;p&gt;A clickable element and a crawlable link aren't always the same thing.&lt;/p&gt;

&lt;p&gt;When auditing navigation, I want to know whether important destinations are exposed through proper links and whether crawlers can discover them reliably.&lt;/p&gt;

&lt;p&gt;This becomes particularly important for:&lt;/p&gt;

&lt;p&gt;pagination,&lt;br&gt;
category navigation,&lt;br&gt;
related content,&lt;br&gt;
breadcrumbs,&lt;br&gt;
and product discovery.&lt;br&gt;
Metadata Should Be Predictable&lt;/p&gt;

&lt;p&gt;Modern frameworks can generate metadata dynamically.&lt;/p&gt;

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

&lt;p&gt;It also means one incorrect function can generate incorrect metadata across thousands of pages.&lt;/p&gt;

&lt;p&gt;Instead of checking only one page, SEOs should think in templates.&lt;/p&gt;

&lt;p&gt;How does the application generate:&lt;/p&gt;

&lt;p&gt;titles,&lt;br&gt;
descriptions,&lt;br&gt;
canonicals,&lt;br&gt;
robots directives,&lt;br&gt;
Open Graph data,&lt;br&gt;
and structured data?&lt;/p&gt;

&lt;p&gt;Template-level problems have template-level consequences.&lt;/p&gt;

&lt;p&gt;Routing Is SEO Architecture&lt;/p&gt;

&lt;p&gt;Frontend routing decisions can determine which URLs exist.&lt;/p&gt;

&lt;p&gt;Optional parameters, dynamic routes, filters, slugs, trailing slashes, capitalization, and redirects all affect how search engines interpret the site.&lt;/p&gt;

&lt;p&gt;This is why technical SEO increasingly overlaps with application architecture.&lt;/p&gt;

&lt;p&gt;Sometimes the most important SEO question isn't:&lt;/p&gt;

&lt;p&gt;“What keyword should this page target?”&lt;/p&gt;

&lt;p&gt;It's:&lt;/p&gt;

&lt;p&gt;“Why can this URL exist?”&lt;/p&gt;

&lt;p&gt;Performance Isn't the Entire JavaScript SEO Story&lt;/p&gt;

&lt;p&gt;JavaScript SEO conversations often become Core Web Vitals conversations.&lt;/p&gt;

&lt;p&gt;Performance matters.&lt;/p&gt;

&lt;p&gt;But a fast website can still have serious SEO problems.&lt;/p&gt;

&lt;p&gt;It can have:&lt;/p&gt;

&lt;p&gt;incorrect canonicals,&lt;br&gt;
inaccessible internal links,&lt;br&gt;
duplicate routes,&lt;br&gt;
uncontrolled parameters,&lt;br&gt;
broken structured data,&lt;br&gt;
or poor indexation rules.&lt;/p&gt;

&lt;p&gt;Performance is one layer.&lt;/p&gt;

&lt;p&gt;Search architecture is another.&lt;/p&gt;

&lt;p&gt;Learn Enough to Ask Better Questions&lt;/p&gt;

&lt;p&gt;I don't think every SEO specialist needs to build React applications.&lt;/p&gt;

&lt;p&gt;But understanding concepts such as:&lt;/p&gt;

&lt;p&gt;rendering,&lt;br&gt;
routing,&lt;br&gt;
hydration,&lt;br&gt;
API-driven content,&lt;br&gt;
HTTP responses,&lt;br&gt;
DOM changes,&lt;br&gt;
and client-side navigation&lt;/p&gt;

&lt;p&gt;makes technical conversations dramatically easier.&lt;/p&gt;

&lt;p&gt;You become better at separating:&lt;/p&gt;

&lt;p&gt;SEO symptoms&lt;/p&gt;

&lt;p&gt;from&lt;/p&gt;

&lt;p&gt;application causes.&lt;/p&gt;

&lt;p&gt;And that's increasingly important because modern SEO problems often originate in the application layer.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;SEO specialists don't need to become developers.&lt;/p&gt;

&lt;p&gt;But the web has changed.&lt;/p&gt;

&lt;p&gt;Websites are becoming applications, and search engines still need to discover and understand the documents those applications create.&lt;/p&gt;

&lt;p&gt;Understanding a little more about how those systems work makes technical SEO much more effective.&lt;/p&gt;

&lt;p&gt;You don't need to write the framework. You need to understand what the framework is doing to the website search engines see.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
      <category>javascript</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Technical SEO Problems AI Can Detect but Shouldn't Fix Alone</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Wed, 16 Sep 2026 06:30:00 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/technical-seo-problems-ai-can-detect-but-shouldnt-fix-alone-1c0l</link>
      <guid>https://dev.to/sepideh_jafari/technical-seo-problems-ai-can-detect-but-shouldnt-fix-alone-1c0l</guid>
      <description>&lt;p&gt;AI is becoming surprisingly good at finding technical SEO problems.&lt;/p&gt;

&lt;p&gt;Give it a crawl export and it can identify unusual URL patterns, duplicate metadata, redirect chains, canonical inconsistencies, orphan-page candidates, and many other anomalies.&lt;/p&gt;

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

&lt;p&gt;But there's an important distinction:&lt;/p&gt;

&lt;p&gt;Detecting an SEO problem and deciding how to fix it are two different tasks.&lt;/p&gt;

&lt;p&gt;The first is increasingly easy to automate.&lt;/p&gt;

&lt;p&gt;The second still requires context.&lt;/p&gt;

&lt;p&gt;Detection Is Becoming Cheap&lt;/p&gt;

&lt;p&gt;A technical crawl can contain hundreds of thousands of rows.&lt;/p&gt;

&lt;p&gt;Manually reviewing every URL isn't realistic.&lt;/p&gt;

&lt;p&gt;AI can help classify this information quickly.&lt;/p&gt;

&lt;p&gt;For example, it can help identify:&lt;/p&gt;

&lt;p&gt;parameterized URLs,&lt;br&gt;
non-indexable sitemap URLs,&lt;br&gt;
unusual status-code patterns,&lt;br&gt;
duplicate titles,&lt;br&gt;
canonical mismatches,&lt;br&gt;
deep pages,&lt;br&gt;
redirect chains,&lt;br&gt;
and inconsistent templates.&lt;/p&gt;

&lt;p&gt;These are excellent uses of AI because we're asking it to identify patterns.&lt;/p&gt;

&lt;p&gt;We're not yet asking it to change the website.&lt;/p&gt;

&lt;p&gt;A Canonical Problem Isn't Always a Canonical Fix&lt;/p&gt;

&lt;p&gt;Imagine AI discovers 5,000 URLs canonicalizing to another URL.&lt;/p&gt;

&lt;p&gt;It might classify them as canonical problems.&lt;/p&gt;

&lt;p&gt;But are they?&lt;/p&gt;

&lt;p&gt;Maybe they're legitimate parameter variations.&lt;/p&gt;

&lt;p&gt;Maybe they're duplicate product routes.&lt;/p&gt;

&lt;p&gt;Maybe they're tracking URLs.&lt;/p&gt;

&lt;p&gt;Maybe the application shouldn't generate them at all.&lt;/p&gt;

&lt;p&gt;Changing the canonical tag might hide the symptom without addressing the cause.&lt;/p&gt;

&lt;p&gt;Before fixing a canonical issue, I want to understand:&lt;/p&gt;

&lt;p&gt;Why does this alternative URL exist?&lt;/p&gt;

&lt;p&gt;That's an architecture question.&lt;/p&gt;

&lt;p&gt;Redirects Need Context Too&lt;/p&gt;

&lt;p&gt;AI can easily identify a redirect chain:&lt;/p&gt;

&lt;p&gt;A → B → C&lt;/p&gt;

&lt;p&gt;And recommending:&lt;/p&gt;

&lt;p&gt;A → C&lt;/p&gt;

&lt;p&gt;may be perfectly reasonable.&lt;/p&gt;

&lt;p&gt;But things become more complicated when URLs have changed because products were removed, categories were reorganized, or an entire website was migrated.&lt;/p&gt;

&lt;p&gt;The technically shortest redirect isn't automatically the most relevant destination.&lt;/p&gt;

&lt;p&gt;Search intent still matters.&lt;/p&gt;

&lt;p&gt;Robots.txt Recommendations Can Be Dangerous&lt;/p&gt;

&lt;p&gt;This is an area where I would be particularly careful with automated fixes.&lt;/p&gt;

&lt;p&gt;A crawler discovers thousands of unwanted URLs.&lt;/p&gt;

&lt;p&gt;The obvious recommendation becomes:&lt;/p&gt;

&lt;p&gt;Block them in robots.txt.&lt;/p&gt;

&lt;p&gt;But blocking crawling and controlling indexing aren't the same thing.&lt;/p&gt;

&lt;p&gt;And if Google needs to crawl a URL to observe another directive, blocking access can complicate the situation.&lt;/p&gt;

&lt;p&gt;The correct solution depends on why those URLs exist and what you want search engines to do with them.&lt;/p&gt;

&lt;p&gt;AI Is Excellent for Prioritizing Investigation&lt;/p&gt;

&lt;p&gt;Instead of asking AI:&lt;/p&gt;

&lt;p&gt;“Fix my technical SEO.”&lt;/p&gt;

&lt;p&gt;I prefer asking:&lt;/p&gt;

&lt;p&gt;“Which patterns in this dataset deserve investigation first?”&lt;/p&gt;

&lt;p&gt;That's a much better role for it.&lt;/p&gt;

&lt;p&gt;AI can reduce a massive dataset into a manageable list of hypotheses.&lt;/p&gt;

&lt;p&gt;Then I can verify those hypotheses using:&lt;/p&gt;

&lt;p&gt;crawl data,&lt;br&gt;
Search Console,&lt;br&gt;
rendered HTML,&lt;br&gt;
response headers,&lt;br&gt;
server logs,&lt;br&gt;
and application behavior.&lt;/p&gt;

&lt;p&gt;AI helps narrow the search space.&lt;/p&gt;

&lt;p&gt;Evidence decides what happens next.&lt;/p&gt;

&lt;p&gt;The Real Risk Is Confident Automation&lt;/p&gt;

&lt;p&gt;The dangerous part isn't that AI makes mistakes.&lt;/p&gt;

&lt;p&gt;Humans make mistakes too.&lt;/p&gt;

&lt;p&gt;The dangerous part is how confidently automated recommendations can move from:&lt;/p&gt;

&lt;p&gt;Observation → Recommendation → Deployment&lt;/p&gt;

&lt;p&gt;without anyone verifying the middle step.&lt;/p&gt;

&lt;p&gt;Technical SEO changes can affect thousands of URLs simultaneously.&lt;/p&gt;

&lt;p&gt;A wrong title recommendation affects one page.&lt;/p&gt;

&lt;p&gt;A wrong canonical template can affect an entire site.&lt;/p&gt;

&lt;p&gt;That's why automation should become more cautious as the potential blast radius increases.&lt;/p&gt;

&lt;p&gt;My Rule&lt;/p&gt;

&lt;p&gt;The larger the scope of a proposed technical SEO change, the more evidence I want before implementing it.&lt;/p&gt;

&lt;p&gt;AI can detect.&lt;/p&gt;

&lt;p&gt;AI can classify.&lt;/p&gt;

&lt;p&gt;AI can suggest.&lt;/p&gt;

&lt;p&gt;AI can explain.&lt;/p&gt;

&lt;p&gt;But architecture-level changes still deserve human verification.&lt;/p&gt;

&lt;p&gt;The goal isn't to remove AI from technical SEO. It's to use it where speed helps without outsourcing the decisions where context matters most.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What I Check Before an E-Commerce Website Migration</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Tue, 15 Sep 2026 20:30:00 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/what-i-check-before-an-e-commerce-website-migration-1h6e</link>
      <guid>https://dev.to/sepideh_jafari/what-i-check-before-an-e-commerce-website-migration-1h6e</guid>
      <description>&lt;p&gt;Website migrations make me nervous.&lt;/p&gt;

&lt;p&gt;Not because migrations are bad.&lt;/p&gt;

&lt;p&gt;Because they can change many SEO signals at the same time.&lt;/p&gt;

&lt;p&gt;A store can keep the same products and branding while changing URLs, templates, rendering, internal links, metadata, canonicals, structured data, and sitemap behavior.&lt;/p&gt;

&lt;p&gt;That's a lot of moving parts.&lt;/p&gt;

&lt;p&gt;I Start With the URL Map&lt;/p&gt;

&lt;p&gt;Before launch, I want to know which URLs are changing.&lt;/p&gt;

&lt;p&gt;Not approximately.&lt;/p&gt;

&lt;p&gt;Actually mapped.&lt;/p&gt;

&lt;p&gt;Important old URLs should have known destinations.&lt;/p&gt;

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

&lt;p&gt;Old product → New product&lt;br&gt;
Old category → New category&lt;br&gt;
Old brand → New brand&lt;/p&gt;

&lt;p&gt;This prevents redirect decisions from being improvised after launch.&lt;/p&gt;

&lt;p&gt;I Crawl the Old Website&lt;/p&gt;

&lt;p&gt;Before changing the site, I want a snapshot.&lt;/p&gt;

&lt;p&gt;That crawl becomes a reference point.&lt;/p&gt;

&lt;p&gt;Useful data includes:&lt;/p&gt;

&lt;p&gt;status codes,&lt;br&gt;
titles,&lt;br&gt;
descriptions,&lt;br&gt;
canonicals,&lt;br&gt;
headings,&lt;br&gt;
internal links,&lt;br&gt;
indexability,&lt;br&gt;
structured data,&lt;br&gt;
and crawl depth.&lt;/p&gt;

&lt;p&gt;Once the new site launches, I can compare.&lt;/p&gt;

&lt;p&gt;Redirects Need Relevance&lt;/p&gt;

&lt;p&gt;A migration often creates removed or changed URLs.&lt;/p&gt;

&lt;p&gt;The easiest solution is sometimes sending everything to the homepage.&lt;/p&gt;

&lt;p&gt;That's rarely the best solution.&lt;/p&gt;

&lt;p&gt;A redirect should preserve intent whenever possible.&lt;/p&gt;

&lt;p&gt;A product should go to its replacement or relevant category, not automatically to the homepage.&lt;/p&gt;

&lt;p&gt;Canonicals Need Template-Level Testing&lt;/p&gt;

&lt;p&gt;One incorrect canonical implementation can affect thousands of pages.&lt;/p&gt;

&lt;p&gt;So I don't just inspect one product.&lt;/p&gt;

&lt;p&gt;I test templates.&lt;/p&gt;

&lt;p&gt;Products.&lt;/p&gt;

&lt;p&gt;Categories.&lt;/p&gt;

&lt;p&gt;Brands.&lt;/p&gt;

&lt;p&gt;Pagination.&lt;/p&gt;

&lt;p&gt;Parameter states.&lt;/p&gt;

&lt;p&gt;The goal is understanding the rule generating canonicals.&lt;/p&gt;

&lt;p&gt;A Real Migration Example&lt;/p&gt;

&lt;p&gt;This became particularly important while working on &lt;a href="https://asangsm.com/" rel="noopener noreferrer"&gt;AsanGSM&lt;/a&gt;, where an e-commerce site moved from WordPress to a Next.js architecture.&lt;/p&gt;

&lt;p&gt;That type of migration makes it obvious that changing technology and preserving search signals are two separate jobs.&lt;/p&gt;

&lt;p&gt;The frontend can work perfectly while SEO behavior changes underneath.&lt;/p&gt;

&lt;p&gt;Sitemaps Need Revalidation&lt;/p&gt;

&lt;p&gt;After migration, the sitemap should contain URLs that are:&lt;/p&gt;

&lt;p&gt;canonical,&lt;/p&gt;

&lt;p&gt;indexable,&lt;/p&gt;

&lt;p&gt;successful,&lt;/p&gt;

&lt;p&gt;and intended for search.&lt;/p&gt;

&lt;p&gt;Redirects and non-indexable pages shouldn't casually remain there.&lt;/p&gt;

&lt;p&gt;Structured Data Can Break Quietly&lt;/p&gt;

&lt;p&gt;Product pages can look normal while structured data becomes incomplete.&lt;/p&gt;

&lt;p&gt;That's why schema should be retested after migration.&lt;/p&gt;

&lt;p&gt;Especially Product and Offer information.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;A migration isn't complete when the new website works.&lt;/p&gt;

&lt;p&gt;It's complete when users and search engines can understand the new architecture correctly.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
    </item>
    <item>
      <title>Crawl Budget Is Often an Architecture Problem</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 13 Sep 2026 20:37:03 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/crawl-budget-is-often-an-architecture-problem-pa</link>
      <guid>https://dev.to/sepideh_jafari/crawl-budget-is-often-an-architecture-problem-pa</guid>
      <description>&lt;p&gt;Crawl budget sounds like a Google problem.&lt;/p&gt;

&lt;p&gt;Sometimes it's actually a website problem.&lt;/p&gt;

&lt;p&gt;When crawlers spend time on thousands of low-value URLs, the immediate instinct is often:&lt;/p&gt;

&lt;p&gt;How do we make Google crawl differently?&lt;/p&gt;

&lt;p&gt;A better first question may be:&lt;/p&gt;

&lt;p&gt;Why does the website expose these URLs?&lt;/p&gt;

&lt;p&gt;Crawlers Follow What You Give Them&lt;/p&gt;

&lt;p&gt;Websites can generate huge crawl spaces through:&lt;/p&gt;

&lt;p&gt;parameters,&lt;br&gt;
faceted navigation,&lt;br&gt;
calendars,&lt;br&gt;
search results,&lt;br&gt;
pagination,&lt;br&gt;
duplicate routes,&lt;br&gt;
session states,&lt;br&gt;
and inconsistent linking.&lt;/p&gt;

&lt;p&gt;Google didn't invent those URLs.&lt;/p&gt;

&lt;p&gt;The application did.&lt;/p&gt;

&lt;p&gt;Robots.txt Isn't Always the First Fix&lt;/p&gt;

&lt;p&gt;Blocking URLs can reduce crawling.&lt;/p&gt;

&lt;p&gt;But it doesn't necessarily solve the reason those URLs exist.&lt;/p&gt;

&lt;p&gt;And crawling and indexing are different processes.&lt;/p&gt;

&lt;p&gt;Before blocking anything, understand the desired outcome.&lt;/p&gt;

&lt;p&gt;Do you want the URL:&lt;/p&gt;

&lt;p&gt;not crawled?&lt;/p&gt;

&lt;p&gt;not indexed?&lt;/p&gt;

&lt;p&gt;canonicalized elsewhere?&lt;/p&gt;

&lt;p&gt;removed entirely?&lt;/p&gt;

&lt;p&gt;Those are different problems.&lt;/p&gt;

&lt;p&gt;Internal Links Matter&lt;/p&gt;

&lt;p&gt;If your own site links heavily to low-value URLs, crawlers will keep discovering them.&lt;/p&gt;

&lt;p&gt;That's an architecture signal.&lt;/p&gt;

&lt;p&gt;Fixing internal discovery paths can sometimes be more meaningful than adding another directive.&lt;/p&gt;

&lt;p&gt;Sitemaps Matter Too&lt;/p&gt;

&lt;p&gt;A sitemap should reinforce your preferred architecture.&lt;/p&gt;

&lt;p&gt;If it contains low-value or non-indexable URLs, you're explicitly asking search engines to discover pages you may not want indexed.&lt;/p&gt;

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

&lt;p&gt;Small Sites Can Have Crawl Problems Too&lt;/p&gt;

&lt;p&gt;Crawl budget discussions often focus on huge websites.&lt;/p&gt;

&lt;p&gt;But even smaller sites can create inefficient crawl spaces through poorly controlled parameters.&lt;/p&gt;

&lt;p&gt;The issue isn't only total page count.&lt;/p&gt;

&lt;p&gt;It's the relationship between valuable pages and discoverable URLs.&lt;/p&gt;

&lt;p&gt;Logs Can Show Reality&lt;/p&gt;

&lt;p&gt;Crawlers tell us what can be discovered.&lt;/p&gt;

&lt;p&gt;Server logs can show what bots are actually requesting.&lt;/p&gt;

&lt;p&gt;That difference is useful.&lt;/p&gt;

&lt;p&gt;If Google repeatedly requests URLs you consider low value, logs can help identify the pattern.&lt;/p&gt;

&lt;p&gt;Then the investigation moves back into architecture.&lt;/p&gt;

&lt;p&gt;Where are those URLs coming from?&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;Crawl optimization isn't about trying to control Google with dozens of rules.&lt;/p&gt;

&lt;p&gt;It's about building a website where valuable pages are easy to discover and unnecessary URL states are difficult to generate.&lt;/p&gt;

&lt;p&gt;Good crawl efficiency starts with good architecture.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>seo</category>
    </item>
    <item>
      <title>Why SaaS SEO Should Start Before the Product Is Finished</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 13 Sep 2026 20:26:35 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/why-saas-seo-should-start-before-the-product-is-finished-6d7</link>
      <guid>https://dev.to/sepideh_jafari/why-saas-seo-should-start-before-the-product-is-finished-6d7</guid>
      <description>&lt;p&gt;SEO is often treated as something that happens after launch.&lt;/p&gt;

&lt;p&gt;Build the product.&lt;/p&gt;

&lt;p&gt;Launch the website.&lt;/p&gt;

&lt;p&gt;Then bring in SEO.&lt;/p&gt;

&lt;p&gt;For SaaS, I increasingly think that's backwards.&lt;/p&gt;

&lt;p&gt;Search architecture can influence the way public pages, application routes, features, and use cases are organized.&lt;/p&gt;

&lt;p&gt;Those decisions are easier to make early.&lt;/p&gt;

&lt;p&gt;Your Product Creates Searchable Concepts&lt;/p&gt;

&lt;p&gt;A SaaS product has:&lt;/p&gt;

&lt;p&gt;features,&lt;/p&gt;

&lt;p&gt;audiences,&lt;/p&gt;

&lt;p&gt;use cases,&lt;/p&gt;

&lt;p&gt;problems,&lt;/p&gt;

&lt;p&gt;workflows,&lt;/p&gt;

&lt;p&gt;and integrations.&lt;/p&gt;

&lt;p&gt;Some of those concepts correspond to real search demand.&lt;/p&gt;

&lt;p&gt;If you understand that before building the marketing site, you can design a much stronger architecture.&lt;/p&gt;

&lt;p&gt;Authentication Routes Don't Need Search Visibility&lt;/p&gt;

&lt;p&gt;A SaaS application may contain:&lt;/p&gt;

&lt;p&gt;login,&lt;/p&gt;

&lt;p&gt;registration,&lt;/p&gt;

&lt;p&gt;dashboards,&lt;/p&gt;

&lt;p&gt;profiles,&lt;/p&gt;

&lt;p&gt;settings,&lt;/p&gt;

&lt;p&gt;and private application states.&lt;/p&gt;

&lt;p&gt;Those routes have a purpose.&lt;/p&gt;

&lt;p&gt;But they're usually not acquisition pages.&lt;/p&gt;

&lt;p&gt;Separating public search pages from private application routes early prevents later indexation problems.&lt;/p&gt;

&lt;p&gt;Landing Pages Need a Job&lt;/p&gt;

&lt;p&gt;A SaaS landing page shouldn't exist because someone found a keyword.&lt;/p&gt;

&lt;p&gt;It should connect:&lt;/p&gt;

&lt;p&gt;Search intent → User problem → Product capability&lt;/p&gt;

&lt;p&gt;That's where SEO becomes part of product marketing.&lt;/p&gt;

&lt;p&gt;A Real SaaS Example&lt;/p&gt;

&lt;p&gt;This has been especially relevant while working on &lt;a href="https://coachiko.com/" rel="noopener noreferrer"&gt;Coachiko&lt;/a&gt;, a platform for fitness coaches managing students, programs, payments, and related workflows.&lt;/p&gt;

&lt;p&gt;The interesting SEO challenge isn't simply ranking the homepage.&lt;/p&gt;

&lt;p&gt;It's understanding what coaches actually search before they know the brand exists.&lt;/p&gt;

&lt;p&gt;Those searches can shape landing-page architecture.&lt;/p&gt;

&lt;p&gt;Don't Wait for Perfect Data&lt;/p&gt;

&lt;p&gt;New SaaS products don't have years of Search Console history.&lt;/p&gt;

&lt;p&gt;You work with market research, competitor SERPs, user language, and early data.&lt;/p&gt;

&lt;p&gt;Then iterate.&lt;/p&gt;

&lt;p&gt;SEO architecture doesn't have to be perfect on day one.&lt;/p&gt;

&lt;p&gt;But it should be intentional.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;SEO is cheapest when considered before architecture hardens.&lt;/p&gt;

&lt;p&gt;For SaaS, organic acquisition should be part of how the public-facing product is designed, not something attached after launch.&lt;/p&gt;

</description>
      <category>startup</category>
      <category>saas</category>
      <category>productivity</category>
    </item>
    <item>
      <title>AI Is Changing Keyword Research, but Not Search Intent</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 13 Sep 2026 20:24:36 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/ai-is-changing-keyword-research-but-not-search-intent-1k3</link>
      <guid>https://dev.to/sepideh_jafari/ai-is-changing-keyword-research-but-not-search-intent-1k3</guid>
      <description>&lt;p&gt;AI has changed keyword research dramatically.&lt;/p&gt;

&lt;p&gt;It can generate hundreds of topic ideas in seconds.&lt;/p&gt;

&lt;p&gt;It can cluster phrases.&lt;/p&gt;

&lt;p&gt;It can categorize queries.&lt;/p&gt;

&lt;p&gt;It can suggest related concepts.&lt;/p&gt;

&lt;p&gt;But there's something AI hasn't eliminated:&lt;/p&gt;

&lt;p&gt;Understanding why someone searches.&lt;/p&gt;

&lt;p&gt;Keywords Are Not Intent&lt;/p&gt;

&lt;p&gt;Two phrases can contain almost identical words and still require different pages.&lt;/p&gt;

&lt;p&gt;One user may want information.&lt;/p&gt;

&lt;p&gt;Another may want to compare products.&lt;/p&gt;

&lt;p&gt;Another is ready to buy.&lt;/p&gt;

&lt;p&gt;Another wants a specific brand.&lt;/p&gt;

&lt;p&gt;Keyword similarity doesn't automatically mean intent similarity.&lt;/p&gt;

&lt;p&gt;AI Is Great for Expansion&lt;/p&gt;

&lt;p&gt;I like using AI for:&lt;/p&gt;

&lt;p&gt;generating seed variations,&lt;br&gt;
discovering related entities,&lt;br&gt;
categorizing large keyword sets,&lt;br&gt;
identifying possible topic gaps,&lt;br&gt;
and summarizing patterns.&lt;/p&gt;

&lt;p&gt;These tasks are fast and repetitive.&lt;/p&gt;

&lt;p&gt;Perfect for automation.&lt;/p&gt;

&lt;p&gt;But SERPs Still Matter&lt;/p&gt;

&lt;p&gt;If I'm unsure whether two queries should share one page, I still want to inspect actual search results.&lt;/p&gt;

&lt;p&gt;What types of pages rank?&lt;/p&gt;

&lt;p&gt;Products?&lt;/p&gt;

&lt;p&gt;Categories?&lt;/p&gt;

&lt;p&gt;Guides?&lt;/p&gt;

&lt;p&gt;Forums?&lt;/p&gt;

&lt;p&gt;Videos?&lt;/p&gt;

&lt;p&gt;Google's results give useful clues about interpreted intent.&lt;/p&gt;

&lt;p&gt;AI predictions alone aren't enough.&lt;/p&gt;

&lt;p&gt;Clustering Can Be Too Aggressive&lt;/p&gt;

&lt;p&gt;AI can group keywords based on semantic similarity.&lt;/p&gt;

&lt;p&gt;That can be helpful.&lt;/p&gt;

&lt;p&gt;But semantic similarity isn't always SEO similarity.&lt;/p&gt;

&lt;p&gt;“Best running shoes”&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;“How to choose running shoes”&lt;/p&gt;

&lt;p&gt;both concern running shoes.&lt;/p&gt;

&lt;p&gt;One is strongly commercial.&lt;/p&gt;

&lt;p&gt;The other is informational.&lt;/p&gt;

&lt;p&gt;A semantic model may see them as close.&lt;/p&gt;

&lt;p&gt;An SEO architecture may need separate pages.&lt;/p&gt;

&lt;p&gt;The Biggest Risk Is Artificial Scale&lt;/p&gt;

&lt;p&gt;AI can produce enormous keyword lists.&lt;/p&gt;

&lt;p&gt;That's not automatically useful.&lt;/p&gt;

&lt;p&gt;A list of 50,000 keywords isn't a strategy.&lt;/p&gt;

&lt;p&gt;The real work is deciding:&lt;/p&gt;

&lt;p&gt;Which intents matter?&lt;/p&gt;

&lt;p&gt;Which deserve pages?&lt;/p&gt;

&lt;p&gt;Which belong together?&lt;/p&gt;

&lt;p&gt;Which support commercial objectives?&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;AI makes keyword discovery faster.&lt;/p&gt;

&lt;p&gt;It doesn't remove the need for judgment.&lt;/p&gt;

&lt;p&gt;The future of keyword research isn't generating more keywords. It's making better decisions with larger amounts of search data.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>seo</category>
    </item>
    <item>
      <title>The Hidden SEO Cost of E-Commerce Filters</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 13 Sep 2026 20:20:29 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/the-hidden-seo-cost-of-e-commerce-filters-1d76</link>
      <guid>https://dev.to/sepideh_jafari/the-hidden-seo-cost-of-e-commerce-filters-1d76</guid>
      <description>&lt;p&gt;Filters are essential to e-commerce.&lt;/p&gt;

&lt;p&gt;They're also one of the easiest ways to create thousands of URLs nobody intentionally planned.&lt;/p&gt;

&lt;p&gt;Imagine a store where users can filter products by:&lt;/p&gt;

&lt;p&gt;brand, color, price, size, availability, and style.&lt;/p&gt;

&lt;p&gt;Each filter is useful.&lt;/p&gt;

&lt;p&gt;The problem begins when every possible combination becomes a crawlable URL.&lt;/p&gt;

&lt;p&gt;One Category Can Become Thousands of URLs&lt;/p&gt;

&lt;p&gt;Suppose a category contains:&lt;/p&gt;

&lt;p&gt;10 brands&lt;br&gt;
8 colors&lt;br&gt;
5 sizes&lt;br&gt;
6 price ranges&lt;/p&gt;

&lt;p&gt;The number of potential combinations grows very quickly.&lt;/p&gt;

&lt;p&gt;The store still has the same products.&lt;/p&gt;

&lt;p&gt;But search engines may now discover a dramatically larger URL space.&lt;/p&gt;

&lt;p&gt;This can affect crawling, indexing, duplicate content, and internal linking.&lt;/p&gt;

&lt;p&gt;Not Every Filter Is Bad&lt;/p&gt;

&lt;p&gt;The solution isn't simply blocking all filter pages.&lt;/p&gt;

&lt;p&gt;Some combinations represent real search demand.&lt;/p&gt;

&lt;p&gt;A filtered page may deserve indexation if:&lt;/p&gt;

&lt;p&gt;users genuinely search for that combination,&lt;br&gt;
it has enough relevant products,&lt;br&gt;
it represents distinct intent,&lt;br&gt;
and the page can provide unique value.&lt;/p&gt;

&lt;p&gt;Other combinations are simply interface states.&lt;/p&gt;

&lt;p&gt;Those don't necessarily need to become search landing pages.&lt;/p&gt;

&lt;p&gt;Search Intent Should Decide&lt;/p&gt;

&lt;p&gt;I've been dealing with this distinction while working on &lt;a href="https://www.kifico.com/" rel="noopener noreferrer"&gt;Kifico&lt;/a&gt;, where product attributes such as use case, style, and other characteristics can influence how people search for bags and backpacks.&lt;/p&gt;

&lt;p&gt;The important SEO question isn't:&lt;/p&gt;

&lt;p&gt;“Can this filter generate a URL?”&lt;/p&gt;

&lt;p&gt;It's:&lt;/p&gt;

&lt;p&gt;“Does this URL represent something people actually search for?”&lt;/p&gt;

&lt;p&gt;That's a very different decision.&lt;/p&gt;

&lt;p&gt;Canonicals Alone Aren't Enough&lt;/p&gt;

&lt;p&gt;A common solution is to let every filter generate a URL and canonicalize them back to the main category.&lt;/p&gt;

&lt;p&gt;Sometimes that's appropriate.&lt;/p&gt;

&lt;p&gt;But if the application exposes endless combinations, canonical tags don't remove those crawl paths.&lt;/p&gt;

&lt;p&gt;The architecture itself still matters.&lt;/p&gt;

&lt;p&gt;Filters Are a Product Decision and an SEO Decision&lt;/p&gt;

&lt;p&gt;UX teams care about helping users narrow products.&lt;/p&gt;

&lt;p&gt;SEO teams care about controlling which combinations become search documents.&lt;/p&gt;

&lt;p&gt;Both goals can coexist.&lt;/p&gt;

&lt;p&gt;But only if filter behavior is designed intentionally.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;Faceted navigation isn't inherently bad for SEO.&lt;/p&gt;

&lt;p&gt;Uncontrolled faceted navigation is.&lt;/p&gt;

&lt;p&gt;The goal isn't to stop users filtering products. It's to stop every interface state from automatically becoming a search-engine landing page.&lt;/p&gt;

</description>
      <category>seo</category>
    </item>
    <item>
      <title>Why URL Architecture Matters More as Websites Grow</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 13 Sep 2026 12:10:31 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/why-url-architecture-matters-more-as-websites-grow-2086</link>
      <guid>https://dev.to/sepideh_jafari/why-url-architecture-matters-more-as-websites-grow-2086</guid>
      <description>&lt;p&gt;URLs look simple when a website is small.&lt;/p&gt;

&lt;p&gt;You create a page.&lt;/p&gt;

&lt;p&gt;It gets a URL.&lt;/p&gt;

&lt;p&gt;You link to it.&lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;But as a website grows, URLs stop being simple addresses.&lt;/p&gt;

&lt;p&gt;They become part of the architecture of the product.&lt;/p&gt;

&lt;p&gt;Ten Pages Hide Architectural Mistakes&lt;/p&gt;

&lt;p&gt;A website with ten pages can survive an inconsistent URL strategy.&lt;/p&gt;

&lt;p&gt;A website with 100,000 pages cannot.&lt;/p&gt;

&lt;p&gt;At scale, small decisions multiply.&lt;/p&gt;

&lt;p&gt;Consider:&lt;/p&gt;

&lt;p&gt;?page=&lt;/p&gt;

&lt;p&gt;?sort=&lt;/p&gt;

&lt;p&gt;?filter=&lt;/p&gt;

&lt;p&gt;?tag=&lt;/p&gt;

&lt;p&gt;?view=&lt;/p&gt;

&lt;p&gt;Each parameter may appear harmless.&lt;/p&gt;

&lt;p&gt;Now allow several of them to combine.&lt;/p&gt;

&lt;p&gt;Suddenly one collection of content can generate thousands of technically unique URLs.&lt;/p&gt;

&lt;p&gt;The amount of content hasn't increased.&lt;/p&gt;

&lt;p&gt;The crawl space has.&lt;/p&gt;

&lt;p&gt;Every Crawlable State Has a Cost&lt;/p&gt;

&lt;p&gt;Not every application state needs to become a crawlable document.&lt;/p&gt;

&lt;p&gt;Users may need sorting.&lt;/p&gt;

&lt;p&gt;Users may need filters.&lt;/p&gt;

&lt;p&gt;Users may need different interface views.&lt;/p&gt;

&lt;p&gt;That doesn't automatically mean search engines need separate URLs for every state.&lt;/p&gt;

&lt;p&gt;This distinction becomes increasingly important as applications become more interactive.&lt;/p&gt;

&lt;p&gt;Frontend functionality and search architecture aren't the same thing.&lt;/p&gt;

&lt;p&gt;Canonicals Are Not Architecture&lt;/p&gt;

&lt;p&gt;One common response is:&lt;/p&gt;

&lt;p&gt;“We'll just canonicalize everything.”&lt;/p&gt;

&lt;p&gt;Canonical tags are important.&lt;/p&gt;

&lt;p&gt;But creating thousands of unnecessary URLs and then canonicalizing them back to one page isn't necessarily good architecture.&lt;/p&gt;

&lt;p&gt;A better question comes earlier:&lt;/p&gt;

&lt;p&gt;Should these URLs be generated and discoverable at all?&lt;/p&gt;

&lt;p&gt;Canonicalization should clarify legitimate duplication.&lt;/p&gt;

&lt;p&gt;It shouldn't become the only mechanism preventing uncontrolled URL growth.&lt;/p&gt;

&lt;p&gt;Sitemaps Reveal Architectural Thinking&lt;/p&gt;

&lt;p&gt;A sitemap should contain the canonical, indexable pages you actually want search engines to discover.&lt;/p&gt;

&lt;p&gt;When sitemaps contain redirects, parameters, duplicates, or non-indexable URLs, it often reveals a deeper problem:&lt;/p&gt;

&lt;p&gt;The application doesn't have a clear definition of what constitutes a search page.&lt;/p&gt;

&lt;p&gt;That definition matters.&lt;/p&gt;

&lt;p&gt;Content Platforms Make This Particularly Visible&lt;/p&gt;

&lt;p&gt;I've been dealing with this while working on &lt;a href="https://sefidsiah.com/" rel="noopener noreferrer"&gt;SefidSiah&lt;/a&gt;, a Persian health content platform with a growing content library.&lt;/p&gt;

&lt;p&gt;As content scales, archives, tags, pagination, query parameters, and topic relationships all begin interacting.&lt;/p&gt;

&lt;p&gt;The challenge isn't simply publishing another article.&lt;/p&gt;

&lt;p&gt;It's ensuring that adding content doesn't unintentionally multiply low-value URLs at the same time.&lt;/p&gt;

&lt;p&gt;That experience has made one principle particularly clear to me:&lt;/p&gt;

&lt;p&gt;Content scale and URL scale should not be confused.&lt;/p&gt;

&lt;p&gt;A website can grow to thousands of useful documents without needing tens of thousands of unnecessary URL variations.&lt;/p&gt;

&lt;p&gt;Developers and SEOs Need the Same URL Map&lt;/p&gt;

&lt;p&gt;Technical SEO problems often appear after development because different teams have different mental models.&lt;/p&gt;

&lt;p&gt;A developer may see routes and application states.&lt;/p&gt;

&lt;p&gt;An SEO specialist may see indexable documents and crawl paths.&lt;/p&gt;

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

&lt;p&gt;The solution is agreeing on which application states should become search-engine-visible URLs.&lt;/p&gt;

&lt;p&gt;For important patterns, teams should know:&lt;/p&gt;

&lt;p&gt;Is it crawlable?&lt;br&gt;
Is it indexable?&lt;br&gt;
What is its canonical?&lt;br&gt;
Is it internally linked?&lt;br&gt;
Is it included in the sitemap?&lt;br&gt;
Does it satisfy unique search intent?&lt;/p&gt;

&lt;p&gt;These decisions become far more expensive to change after millions of URLs have already been discovered.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;Good URL architecture isn't about making URLs pretty.&lt;/p&gt;

&lt;p&gt;It's about controlling how a growing application represents information.&lt;/p&gt;

&lt;p&gt;At small scale, architecture mistakes hide.&lt;/p&gt;

&lt;p&gt;At large scale, search engines crawl them.&lt;/p&gt;

&lt;p&gt;The best time to solve URL architecture problems is before scale turns them into indexing problems.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>architecture</category>
    </item>
    <item>
      <title>How I Use AI for Technical SEO Without Trusting It Blindly</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 13 Sep 2026 11:59:47 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/how-i-use-ai-for-technical-seo-without-trusting-it-blindly-5dea</link>
      <guid>https://dev.to/sepideh_jafari/how-i-use-ai-for-technical-seo-without-trusting-it-blindly-5dea</guid>
      <description>&lt;p&gt;AI has become part of my daily SEO workflow.&lt;/p&gt;

&lt;p&gt;But probably not in the way many people imagine.&lt;/p&gt;

&lt;p&gt;I don't give an AI tool a website and ask:&lt;/p&gt;

&lt;p&gt;“What's wrong with my SEO?”&lt;/p&gt;

&lt;p&gt;Then copy whatever it says into a task list.&lt;/p&gt;

&lt;p&gt;Instead, I find AI most useful somewhere between data collection and human decision-making.&lt;/p&gt;

&lt;p&gt;It can help me process information faster, identify patterns, generate hypotheses, and investigate technical issues.&lt;/p&gt;

&lt;p&gt;But deciding whether those hypotheses are actually correct still requires context.&lt;/p&gt;

&lt;p&gt;And that distinction matters.&lt;/p&gt;

&lt;p&gt;AI Is Good at Finding Things Worth Investigating&lt;/p&gt;

&lt;p&gt;Technical SEO produces a lot of data.&lt;/p&gt;

&lt;p&gt;Crawlers can return thousands or even millions of URLs.&lt;/p&gt;

&lt;p&gt;Search Console contains queries, pages, indexing states, sitemap information, and crawl signals.&lt;/p&gt;

&lt;p&gt;Server logs can contain enormous amounts of request data.&lt;/p&gt;

&lt;p&gt;Then there are:&lt;/p&gt;

&lt;p&gt;redirects,&lt;br&gt;
canonical tags,&lt;br&gt;
status codes,&lt;br&gt;
structured data,&lt;br&gt;
duplicate metadata,&lt;br&gt;
internal links,&lt;br&gt;
pagination,&lt;br&gt;
parameterized URLs,&lt;br&gt;
and rendering behavior.&lt;/p&gt;

&lt;p&gt;The problem isn't always finding data.&lt;/p&gt;

&lt;p&gt;The problem is deciding where to look first.&lt;/p&gt;

&lt;p&gt;This is one area where AI can be genuinely useful.&lt;/p&gt;

&lt;p&gt;Instead of manually inspecting thousands of rows, I can use AI-assisted workflows to help identify patterns that deserve investigation.&lt;/p&gt;

&lt;p&gt;The important word is investigation.&lt;/p&gt;

&lt;p&gt;A pattern isn't automatically a problem.&lt;/p&gt;

&lt;p&gt;Finding a Pattern Isn't the Same as Understanding It&lt;/p&gt;

&lt;p&gt;Imagine a crawl shows 5,000 URLs containing query parameters.&lt;/p&gt;

&lt;p&gt;An AI system might immediately classify this as:&lt;/p&gt;

&lt;p&gt;Duplicate content problem.&lt;/p&gt;

&lt;p&gt;Maybe.&lt;/p&gt;

&lt;p&gt;But those parameters could represent very different things.&lt;/p&gt;

&lt;p&gt;Some might be tracking parameters.&lt;/p&gt;

&lt;p&gt;Some might control sorting.&lt;/p&gt;

&lt;p&gt;Some might represent useful filters.&lt;/p&gt;

&lt;p&gt;Some might create indexable landing pages intentionally.&lt;/p&gt;

&lt;p&gt;Some might never be internally linked.&lt;/p&gt;

&lt;p&gt;Some might already canonicalize correctly.&lt;/p&gt;

&lt;p&gt;And some might genuinely be creating crawl waste.&lt;/p&gt;

&lt;p&gt;The URL pattern alone doesn't tell you which situation you're dealing with.&lt;/p&gt;

&lt;p&gt;You need to understand how the application works.&lt;/p&gt;

&lt;p&gt;This is where blindly accepting AI recommendations becomes dangerous.&lt;/p&gt;

&lt;p&gt;I Prefer Asking AI Questions, Not Asking for Verdicts&lt;/p&gt;

&lt;p&gt;There's a subtle but important difference between these prompts:&lt;/p&gt;

&lt;p&gt;“Tell me how to fix these URLs.”&lt;/p&gt;

&lt;p&gt;and:&lt;/p&gt;

&lt;p&gt;“What hypotheses could explain why these URLs are being discovered?”&lt;/p&gt;

&lt;p&gt;The second question is much more useful.&lt;/p&gt;

&lt;p&gt;It turns AI into an investigation partner rather than an authority.&lt;/p&gt;

&lt;p&gt;Possible hypotheses might include:&lt;/p&gt;

&lt;p&gt;faceted navigation,&lt;br&gt;
pagination,&lt;br&gt;
internal search,&lt;br&gt;
JavaScript-generated links,&lt;br&gt;
tracking parameters,&lt;br&gt;
old URLs still linked internally,&lt;br&gt;
sitemap contamination,&lt;br&gt;
or external discovery.&lt;/p&gt;

&lt;p&gt;Now I have something useful:&lt;/p&gt;

&lt;p&gt;a list of things to test.&lt;/p&gt;

&lt;p&gt;The next step is evidence.&lt;/p&gt;

&lt;p&gt;Search Console and Crawlers Answer Different Questions&lt;/p&gt;

&lt;p&gt;AI becomes more useful when you give it context from multiple sources.&lt;/p&gt;

&lt;p&gt;A crawler tells you what the website exposes.&lt;/p&gt;

&lt;p&gt;Search Console tells you something about how Google interacts with those URLs.&lt;/p&gt;

&lt;p&gt;Analytics tells you how users behave.&lt;/p&gt;

&lt;p&gt;Server logs can tell you what crawlers actually request.&lt;/p&gt;

&lt;p&gt;These datasets describe different parts of the same system.&lt;/p&gt;

&lt;p&gt;Suppose a crawler discovers thousands of parameter URLs.&lt;/p&gt;

&lt;p&gt;Before deciding they're hurting SEO, I want to know:&lt;/p&gt;

&lt;p&gt;Are they indexed?&lt;/p&gt;

&lt;p&gt;Is Google crawling them?&lt;/p&gt;

&lt;p&gt;How were they discovered?&lt;/p&gt;

&lt;p&gt;Are they internally linked?&lt;/p&gt;

&lt;p&gt;Are they in the sitemap?&lt;/p&gt;

&lt;p&gt;What canonical do they declare?&lt;/p&gt;

&lt;p&gt;Do they receive impressions?&lt;/p&gt;

&lt;p&gt;AI can help organize those questions.&lt;/p&gt;

&lt;p&gt;It can't replace the evidence needed to answer them.&lt;/p&gt;

&lt;p&gt;AI Is Surprisingly Useful for Regex&lt;/p&gt;

&lt;p&gt;This is one of the less glamorous applications, but I use it often.&lt;/p&gt;

&lt;p&gt;Technical SEO regularly involves grouping URLs.&lt;/p&gt;

&lt;p&gt;For example, I might need patterns for:&lt;/p&gt;

&lt;p&gt;product URLs,&lt;br&gt;
category URLs,&lt;br&gt;
pagination,&lt;br&gt;
query parameters,&lt;br&gt;
image paths,&lt;br&gt;
API routes,&lt;br&gt;
language directories,&lt;br&gt;
or legacy URLs.&lt;/p&gt;

&lt;p&gt;Writing regular expressions manually isn't difficult once you're comfortable with them, but AI makes the process faster.&lt;/p&gt;

&lt;p&gt;I can provide examples of URLs that should match and URLs that shouldn't.&lt;/p&gt;

&lt;p&gt;Then generate a candidate regex.&lt;/p&gt;

&lt;p&gt;But I still test it.&lt;/p&gt;

&lt;p&gt;Always.&lt;/p&gt;

&lt;p&gt;A regex that works on five examples can behave very differently across 500,000 URLs.&lt;/p&gt;

&lt;p&gt;AI Can Help Turn Crawl Data Into Questions&lt;/p&gt;

&lt;p&gt;Suppose I export crawl data containing:&lt;/p&gt;

&lt;p&gt;URL&lt;/p&gt;

&lt;p&gt;Status Code&lt;/p&gt;

&lt;p&gt;Canonical&lt;/p&gt;

&lt;p&gt;Indexability&lt;/p&gt;

&lt;p&gt;Title&lt;/p&gt;

&lt;p&gt;H1&lt;/p&gt;

&lt;p&gt;Depth&lt;/p&gt;

&lt;p&gt;Inlinks&lt;/p&gt;

&lt;p&gt;Content Type&lt;/p&gt;

&lt;p&gt;Instead of reading thousands of rows individually, I can analyze groups.&lt;/p&gt;

&lt;p&gt;Which templates contain most 3xx responses?&lt;/p&gt;

&lt;p&gt;Which sections have unusually high crawl depth?&lt;/p&gt;

&lt;p&gt;Which indexable URLs canonicalize elsewhere?&lt;/p&gt;

&lt;p&gt;Which pages have zero or very few internal links?&lt;/p&gt;

&lt;p&gt;Which URL patterns produce duplicate titles?&lt;/p&gt;

&lt;p&gt;Which sitemap URLs aren't indexable?&lt;/p&gt;

&lt;p&gt;These are excellent tasks for automation and AI-assisted analysis.&lt;/p&gt;

&lt;p&gt;But notice what AI is doing.&lt;/p&gt;

&lt;p&gt;It's helping prioritize.&lt;/p&gt;

&lt;p&gt;It's not deciding the SEO strategy.&lt;/p&gt;

&lt;p&gt;One of the Best Uses of AI Is Explaining Anomalies&lt;/p&gt;

&lt;p&gt;I particularly like using AI after I've already found something strange.&lt;/p&gt;

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

&lt;p&gt;A section suddenly contains far more URLs than expected.&lt;/p&gt;

&lt;p&gt;A sitemap contains non-indexable pages.&lt;/p&gt;

&lt;p&gt;Google selects a different canonical.&lt;/p&gt;

&lt;p&gt;A template produces structured data errors.&lt;/p&gt;

&lt;p&gt;A pagination pattern creates unexpected crawl paths.&lt;/p&gt;

&lt;p&gt;Instead of immediately asking for a solution, I can describe the architecture and ask:&lt;/p&gt;

&lt;p&gt;“What mechanisms could produce this behavior?”&lt;/p&gt;

&lt;p&gt;That often gives me several directions to investigate that I might not have considered immediately.&lt;/p&gt;

&lt;p&gt;Some will be wrong.&lt;/p&gt;

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

&lt;p&gt;Generating hypotheses cheaply is useful.&lt;/p&gt;

&lt;p&gt;Deploying fixes cheaply without verification isn't.&lt;/p&gt;

&lt;p&gt;AI Doesn't Know Your Business Priorities&lt;/p&gt;

&lt;p&gt;This is one of its biggest limitations in SEO.&lt;/p&gt;

&lt;p&gt;Imagine two problems:&lt;/p&gt;

&lt;p&gt;Problem A affects 100,000 URLs but none generate meaningful traffic or revenue.&lt;/p&gt;

&lt;p&gt;Problem B affects 50 high-value commercial pages responsible for a significant portion of organic sales.&lt;/p&gt;

&lt;p&gt;Which one should you fix first?&lt;/p&gt;

&lt;p&gt;A tool looking primarily at scale might choose Problem A.&lt;/p&gt;

&lt;p&gt;A business-aware SEO specialist may choose Problem B immediately.&lt;/p&gt;

&lt;p&gt;Technical severity and business priority aren't always the same thing.&lt;/p&gt;

&lt;p&gt;Good SEO prioritization often requires knowing:&lt;/p&gt;

&lt;p&gt;revenue,&lt;br&gt;
conversion value,&lt;br&gt;
development effort,&lt;br&gt;
business goals,&lt;br&gt;
seasonality,&lt;br&gt;
search demand,&lt;br&gt;
and organizational constraints.&lt;/p&gt;

&lt;p&gt;AI rarely has all of that context unless you explicitly provide it.&lt;/p&gt;

&lt;p&gt;AI Can Produce Very Confident SEO Nonsense&lt;/p&gt;

&lt;p&gt;This is the part that worries me most.&lt;/p&gt;

&lt;p&gt;AI-generated SEO recommendations often sound professional.&lt;/p&gt;

&lt;p&gt;They may mention:&lt;/p&gt;

&lt;p&gt;canonicalization,&lt;/p&gt;

&lt;p&gt;crawl budget,&lt;/p&gt;

&lt;p&gt;indexation,&lt;/p&gt;

&lt;p&gt;structured data,&lt;/p&gt;

&lt;p&gt;Core Web Vitals,&lt;/p&gt;

&lt;p&gt;internal linking,&lt;/p&gt;

&lt;p&gt;and E-E-A-T.&lt;/p&gt;

&lt;p&gt;Everything sounds plausible.&lt;/p&gt;

&lt;p&gt;But plausible isn't the same as correct.&lt;/p&gt;

&lt;p&gt;I've seen recommendations where the proposed “fix” would create a bigger problem than the original issue.&lt;/p&gt;

&lt;p&gt;That's why I don't evaluate an AI recommendation based on how technical it sounds.&lt;/p&gt;

&lt;p&gt;I evaluate it based on:&lt;/p&gt;

&lt;p&gt;What evidence supports this?&lt;/p&gt;

&lt;p&gt;My Preferred Workflow&lt;/p&gt;

&lt;p&gt;The workflow I've found most useful looks something like this:&lt;/p&gt;

&lt;p&gt;Collect → Segment → Investigate → Verify → Prioritize → Implement → Measure&lt;/p&gt;

&lt;p&gt;AI can help significantly with the middle of that process.&lt;/p&gt;

&lt;p&gt;Collect&lt;/p&gt;

&lt;p&gt;Get data from crawlers, Search Console, analytics, logs, or the application.&lt;/p&gt;

&lt;p&gt;Segment&lt;/p&gt;

&lt;p&gt;Group URLs and issues into meaningful patterns.&lt;/p&gt;

&lt;p&gt;Investigate&lt;/p&gt;

&lt;p&gt;Generate possible explanations for unusual behavior.&lt;/p&gt;

&lt;p&gt;Verify&lt;/p&gt;

&lt;p&gt;Check the actual HTML, headers, rendering, application logic, and search-engine behavior.&lt;/p&gt;

&lt;p&gt;Prioritize&lt;/p&gt;

&lt;p&gt;Combine SEO impact with business value and development effort.&lt;/p&gt;

&lt;p&gt;Implement&lt;/p&gt;

&lt;p&gt;Turn verified findings into clear development or content tasks.&lt;/p&gt;

&lt;p&gt;Measure&lt;/p&gt;

&lt;p&gt;Check whether the change produced the expected result.&lt;/p&gt;

&lt;p&gt;The dangerous workflow is much shorter:&lt;/p&gt;

&lt;p&gt;Ask AI → Copy recommendation → Deploy&lt;/p&gt;

&lt;p&gt;That's not automation.&lt;/p&gt;

&lt;p&gt;That's outsourcing judgment.&lt;/p&gt;

&lt;p&gt;AI Makes SEO Knowledge More Important, Not Less&lt;/p&gt;

&lt;p&gt;There's an interesting contradiction happening.&lt;/p&gt;

&lt;p&gt;AI makes many SEO tasks easier.&lt;/p&gt;

&lt;p&gt;But because it makes recommendations so easy to generate, understanding SEO fundamentals becomes even more important.&lt;/p&gt;

&lt;p&gt;If you understand canonicalization, you can evaluate an AI recommendation about canonicals.&lt;/p&gt;

&lt;p&gt;If you understand HTTP status codes, you can challenge a bad redirect recommendation.&lt;/p&gt;

&lt;p&gt;If you understand crawling and indexing, you can distinguish between a crawl issue and an indexation issue.&lt;/p&gt;

&lt;p&gt;Without those fundamentals, every confident AI response looks equally convincing.&lt;/p&gt;

&lt;p&gt;That's a problem.&lt;/p&gt;

&lt;p&gt;Technical SEO Is Moving Toward Better Tooling&lt;/p&gt;

&lt;p&gt;I don't think the future is SEO specialists manually inspecting spreadsheets forever.&lt;/p&gt;

&lt;p&gt;More of the repetitive work will be automated.&lt;/p&gt;

&lt;p&gt;Large URL datasets will be classified automatically.&lt;/p&gt;

&lt;p&gt;Patterns will be surfaced faster.&lt;/p&gt;

&lt;p&gt;Anomalies will be detected earlier.&lt;/p&gt;

&lt;p&gt;Reports will become easier to generate.&lt;/p&gt;

&lt;p&gt;And AI will increasingly sit between raw data and human analysis.&lt;/p&gt;

&lt;p&gt;That's a good thing.&lt;/p&gt;

&lt;p&gt;It means we can spend less time moving information between spreadsheets and more time understanding why something is happening.&lt;/p&gt;

&lt;p&gt;But the final step still matters:&lt;/p&gt;

&lt;p&gt;Does the recommendation make sense for this specific website?&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;AI is extremely useful for technical SEO when you treat it as an accelerator.&lt;/p&gt;

&lt;p&gt;It can help you:&lt;/p&gt;

&lt;p&gt;process data,&lt;br&gt;
generate regex,&lt;br&gt;
classify URLs,&lt;br&gt;
identify anomalies,&lt;br&gt;
generate hypotheses,&lt;br&gt;
explain technical concepts,&lt;br&gt;
and turn findings into clearer tasks.&lt;/p&gt;

&lt;p&gt;What I don't want it doing blindly is making architectural decisions.&lt;/p&gt;

&lt;p&gt;Because SEO problems don't exist in isolation.&lt;/p&gt;

&lt;p&gt;They exist inside products, businesses, codebases, content systems, and user journeys.&lt;/p&gt;

&lt;p&gt;AI can help you see the map faster.&lt;/p&gt;

&lt;p&gt;You still need to decide where you're going.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>seo</category>
    </item>
    <item>
      <title>Why E-Commerce SEO Is More Than Optimizing Product Pages</title>
      <dc:creator>sepideh jafari</dc:creator>
      <pubDate>Sun, 13 Sep 2026 11:53:13 +0000</pubDate>
      <link>https://dev.to/sepideh_jafari/why-e-commerce-seo-is-more-than-optimizing-product-pages-4402</link>
      <guid>https://dev.to/sepideh_jafari/why-e-commerce-seo-is-more-than-optimizing-product-pages-4402</guid>
      <description>&lt;p&gt;When people talk about e-commerce SEO, product pages usually get most of the attention.&lt;/p&gt;

&lt;p&gt;Optimize the product title. Improve the description. Add structured data. Compress the images. Write better alt text.&lt;/p&gt;

&lt;p&gt;All of that matters.&lt;/p&gt;

&lt;p&gt;But after working with online stores, I've become convinced that some of the biggest SEO opportunities don't exist on individual product pages at all.&lt;/p&gt;

&lt;p&gt;They exist in the architecture connecting products, categories, filters, brands, and search intent.&lt;/p&gt;

&lt;p&gt;A store with perfectly optimized products can still struggle if search engines can't understand how those products belong together.&lt;/p&gt;

&lt;p&gt;Product Pages and Category Pages Serve Different Intent&lt;/p&gt;

&lt;p&gt;Consider someone searching for a specific backpack model.&lt;/p&gt;

&lt;p&gt;A product page may be exactly what they need.&lt;/p&gt;

&lt;p&gt;Now consider someone searching for:&lt;/p&gt;

&lt;p&gt;school backpacks&lt;/p&gt;

&lt;p&gt;They probably don't want one specific product chosen for them.&lt;/p&gt;

&lt;p&gt;They want options.&lt;/p&gt;

&lt;p&gt;They may want to compare size, design, price, color, or other characteristics before deciding.&lt;/p&gt;

&lt;p&gt;That's where category pages become important.&lt;/p&gt;

&lt;p&gt;This distinction sounds obvious, but it has major SEO implications.&lt;/p&gt;

&lt;p&gt;A product page shouldn't necessarily compete with its parent category for the same query.&lt;/p&gt;

&lt;p&gt;The architecture should reflect different levels of intent.&lt;/p&gt;

&lt;p&gt;Broad commercial query → Category&lt;/p&gt;

&lt;p&gt;Specific model query → Product&lt;/p&gt;

&lt;p&gt;Brand-focused query → Brand page&lt;/p&gt;

&lt;p&gt;Informational query → Guide or article&lt;/p&gt;

&lt;p&gt;The clearer these roles become, the easier it is to build a coherent search strategy.&lt;/p&gt;

&lt;p&gt;Categories Are Landing Pages, Not Just Product Grids&lt;/p&gt;

&lt;p&gt;One of the easiest mistakes in e-commerce is treating a category page as nothing more than a list of products.&lt;/p&gt;

&lt;p&gt;From a user perspective, a grid may be enough to browse.&lt;/p&gt;

&lt;p&gt;From a search perspective, the category represents something much larger.&lt;/p&gt;

&lt;p&gt;It defines a collection.&lt;/p&gt;

&lt;p&gt;A strong category page can communicate:&lt;/p&gt;

&lt;p&gt;what products belong there,&lt;br&gt;
how they differ,&lt;br&gt;
what users should consider,&lt;br&gt;
which subcategories exist,&lt;br&gt;
and how the collection relates to the rest of the store.&lt;/p&gt;

&lt;p&gt;That doesn't mean adding 2,000 words of SEO text underneath every product grid.&lt;/p&gt;

&lt;p&gt;More text isn't automatically more useful.&lt;/p&gt;

&lt;p&gt;The goal is to provide enough context to make the category understandable without getting in the way of shopping.&lt;/p&gt;

&lt;p&gt;Filters Create Both Opportunities and Problems&lt;/p&gt;

&lt;p&gt;Filters are one of the most interesting parts of e-commerce SEO.&lt;/p&gt;

&lt;p&gt;Users need them.&lt;/p&gt;

&lt;p&gt;Search engines can struggle with them.&lt;/p&gt;

&lt;p&gt;Imagine a backpack category that can be filtered by:&lt;/p&gt;

&lt;p&gt;color,&lt;br&gt;
gender,&lt;br&gt;
size,&lt;br&gt;
brand,&lt;br&gt;
price,&lt;br&gt;
style,&lt;br&gt;
and availability.&lt;/p&gt;

&lt;p&gt;From a UX perspective, that's useful.&lt;/p&gt;

&lt;p&gt;From a URL perspective, it can become complicated very quickly.&lt;/p&gt;

&lt;p&gt;If every combination produces a crawlable URL, a single category can generate hundreds or thousands of variations.&lt;/p&gt;

&lt;p&gt;But blocking every filtered page isn't always the right answer either.&lt;/p&gt;

&lt;p&gt;Some filter combinations may correspond to genuine search demand.&lt;/p&gt;

&lt;p&gt;For example, users may actually search for a particular product type combined with a meaningful attribute.&lt;/p&gt;

&lt;p&gt;That creates an important distinction:&lt;/p&gt;

&lt;p&gt;Some filtered states are navigation.&lt;/p&gt;

&lt;p&gt;Some filtered states may deserve to become search landing pages.&lt;/p&gt;

&lt;p&gt;The difficult part is deciding which is which.&lt;/p&gt;

&lt;p&gt;Search Demand Should Decide Which Filter Pages Matter&lt;/p&gt;

&lt;p&gt;I don't think the right approach is:&lt;/p&gt;

&lt;p&gt;“Index all filters.”&lt;/p&gt;

&lt;p&gt;And I don't think it's:&lt;/p&gt;

&lt;p&gt;“Block all filters.”&lt;/p&gt;

&lt;p&gt;The decision should come from search behavior.&lt;/p&gt;

&lt;p&gt;If a filtered combination represents meaningful, distinct demand and the page can provide a genuinely useful result set, it may deserve its own indexable landing page.&lt;/p&gt;

&lt;p&gt;If it's simply an arbitrary UI state with no independent search value, allowing it into the index may create more noise than opportunity.&lt;/p&gt;

&lt;p&gt;This is where keyword research and technical SEO need to work together.&lt;/p&gt;

&lt;p&gt;Keyword research identifies demand.&lt;/p&gt;

&lt;p&gt;Architecture determines how the website should represent that demand.&lt;/p&gt;

&lt;p&gt;A Real Example: &lt;a href="https://www.kifico.com/" rel="noopener noreferrer"&gt;Kifico&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've been working through many of these decisions while handling SEO for Kifico, an e-commerce store focused heavily on bags and backpacks.&lt;/p&gt;

&lt;p&gt;The project is a useful example because backpack searches can become surprisingly specific.&lt;/p&gt;

&lt;p&gt;Users don't always search for a generic product.&lt;/p&gt;

&lt;p&gt;They may care about purpose, style, audience, color, or other attributes.&lt;/p&gt;

&lt;p&gt;That means simply optimizing individual product pages isn't enough.&lt;/p&gt;

&lt;p&gt;We also have to think carefully about category architecture, which filtered combinations correspond to real search intent, how products connect to their parent categories, and which pages should actually become organic landing pages.&lt;/p&gt;

&lt;p&gt;The experience has reinforced a principle I use increasingly often:&lt;/p&gt;

&lt;p&gt;E-commerce navigation and SEO architecture cannot be designed independently.&lt;/p&gt;

&lt;p&gt;The way users browse the catalog directly influences the URLs and relationships search engines discover.&lt;/p&gt;

&lt;p&gt;Internal Linking Starts With the Store Hierarchy&lt;/p&gt;

&lt;p&gt;E-commerce sites naturally contain a hierarchy.&lt;/p&gt;

&lt;p&gt;Homepage.&lt;/p&gt;

&lt;p&gt;Categories.&lt;/p&gt;

&lt;p&gt;Subcategories.&lt;/p&gt;

&lt;p&gt;Brands.&lt;/p&gt;

&lt;p&gt;Products.&lt;/p&gt;

&lt;p&gt;Guides.&lt;/p&gt;

&lt;p&gt;But simply having those pages doesn't guarantee a strong internal linking structure.&lt;/p&gt;

&lt;p&gt;The relationships need to make sense.&lt;/p&gt;

&lt;p&gt;A product should clearly belong to relevant categories.&lt;/p&gt;

&lt;p&gt;A category should expose important subcategories.&lt;/p&gt;

&lt;p&gt;Useful buying guides should connect informational visitors to relevant commercial pages.&lt;/p&gt;

&lt;p&gt;And the homepage should help users and crawlers reach the store's most important areas without forcing them through unnecessary steps.&lt;/p&gt;

&lt;p&gt;This is why navigation itself becomes part of SEO.&lt;/p&gt;

&lt;p&gt;Every important page shouldn't depend on an XML sitemap for discovery.&lt;/p&gt;

&lt;p&gt;Breadcrumbs Do More Than Show Location&lt;/p&gt;

&lt;p&gt;Breadcrumbs are especially useful in e-commerce because products often sit inside larger collections.&lt;/p&gt;

&lt;p&gt;A structure such as:&lt;/p&gt;

&lt;p&gt;Home → Bags → Backpacks → Product&lt;/p&gt;

&lt;p&gt;helps communicate hierarchy.&lt;/p&gt;

&lt;p&gt;It's useful for users who want to move back to a broader collection, and it also creates consistent internal relationships between levels of the site.&lt;/p&gt;

&lt;p&gt;Like many technical SEO elements, breadcrumbs seem small when looking at one page.&lt;/p&gt;

&lt;p&gt;Across thousands of products, they become structural.&lt;/p&gt;

&lt;p&gt;Product Variants Need a URL Strategy&lt;/p&gt;

&lt;p&gt;Colors, sizes, and other variants create another architectural decision.&lt;/p&gt;

&lt;p&gt;Should each variant have its own URL?&lt;/p&gt;

&lt;p&gt;Should all variants share one product URL?&lt;/p&gt;

&lt;p&gt;Should changing a color modify a query parameter?&lt;/p&gt;

&lt;p&gt;Should a variant URL be indexable?&lt;/p&gt;

&lt;p&gt;There isn't one answer for every store.&lt;/p&gt;

&lt;p&gt;The correct decision depends on whether variants have meaningful independent demand, unique content, inventory behavior, and how the application represents them.&lt;/p&gt;

&lt;p&gt;The important thing is to make the decision intentionally.&lt;/p&gt;

&lt;p&gt;Otherwise, the frontend may create a URL strategy accidentally.&lt;/p&gt;

&lt;p&gt;And accidental URL strategies rarely scale well.&lt;/p&gt;

&lt;p&gt;Out-of-Stock Products Need More Thought Than “Delete”&lt;/p&gt;

&lt;p&gt;Products disappear.&lt;/p&gt;

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

&lt;p&gt;The SEO decision depends on what happened to the product.&lt;/p&gt;

&lt;p&gt;Temporarily unavailable is different from permanently discontinued.&lt;/p&gt;

&lt;p&gt;A discontinued product with a clear replacement is different from one with no equivalent.&lt;/p&gt;

&lt;p&gt;A page with backlinks or significant organic traffic deserves more consideration than a product that was never discovered.&lt;/p&gt;

&lt;p&gt;Automatically deleting every unavailable product can throw away useful signals.&lt;/p&gt;

&lt;p&gt;Keeping every dead product forever can create a poor shopping experience.&lt;/p&gt;

&lt;p&gt;Again, context matters.&lt;/p&gt;

&lt;p&gt;Technical SEO often involves choosing between imperfect options rather than applying one universal rule.&lt;/p&gt;

&lt;p&gt;Product Schema Helps Machines Understand the Offer&lt;/p&gt;

&lt;p&gt;E-commerce pages contain structured information naturally.&lt;/p&gt;

&lt;p&gt;Product name.&lt;/p&gt;

&lt;p&gt;Price.&lt;/p&gt;

&lt;p&gt;Currency.&lt;/p&gt;

&lt;p&gt;Availability.&lt;/p&gt;

&lt;p&gt;Offers.&lt;/p&gt;

&lt;p&gt;Ratings when applicable.&lt;/p&gt;

&lt;p&gt;Structured data gives search engines a machine-readable representation of some of this information.&lt;/p&gt;

&lt;p&gt;But schema shouldn't be treated as a box to tick.&lt;/p&gt;

&lt;p&gt;It needs to match the visible product and actual offer.&lt;/p&gt;

&lt;p&gt;If price or availability changes, the structured data should remain consistent.&lt;/p&gt;

&lt;p&gt;And if the implementation generates errors across an entire product template, one small technical mistake can affect hundreds of pages.&lt;/p&gt;

&lt;p&gt;Template-level validation is therefore far more important than checking one random product and assuming everything else works.&lt;/p&gt;

&lt;p&gt;Category Content Should Help Shoppers&lt;/p&gt;

&lt;p&gt;Category SEO sometimes leads to an unfortunate pattern:&lt;/p&gt;

&lt;p&gt;A useful product grid is followed by a giant wall of keyword-heavy text written primarily for search engines.&lt;/p&gt;

&lt;p&gt;I don't think that's a good long-term strategy.&lt;/p&gt;

&lt;p&gt;If category content exists, it should help someone make a decision.&lt;/p&gt;

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

&lt;p&gt;What distinguishes products in this category?&lt;/p&gt;

&lt;p&gt;Which attributes matter?&lt;/p&gt;

&lt;p&gt;Are there meaningful subcategories?&lt;/p&gt;

&lt;p&gt;What should a buyer consider before choosing?&lt;/p&gt;

&lt;p&gt;Useful commercial content can support SEO without turning the page into an article.&lt;/p&gt;

&lt;p&gt;The primary purpose of an e-commerce category is still shopping.&lt;/p&gt;

&lt;p&gt;Content and Commerce Should Connect&lt;/p&gt;

&lt;p&gt;Informational content can play an important role in e-commerce SEO.&lt;/p&gt;

&lt;p&gt;Someone searching for a buying guide may not be ready to choose a product immediately.&lt;/p&gt;

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

&lt;p&gt;A useful guide can help them understand the decision and naturally connect them to relevant categories when they're ready to browse.&lt;/p&gt;

&lt;p&gt;This creates a much healthier relationship than publishing unrelated blog posts simply because their keywords have traffic.&lt;/p&gt;

&lt;p&gt;A useful architecture might look like:&lt;/p&gt;

&lt;p&gt;Informational query → Guide → Relevant category → Product&lt;/p&gt;

&lt;p&gt;Each page serves a different stage of the journey.&lt;/p&gt;

&lt;p&gt;The Homepage Can't Carry the Entire Store&lt;/p&gt;

&lt;p&gt;Another common problem is trying to make the homepage rank for every major commercial query.&lt;/p&gt;

&lt;p&gt;The homepage should communicate the brand and help users discover important parts of the store.&lt;/p&gt;

&lt;p&gt;Specific categories should handle more specific commercial demand.&lt;/p&gt;

&lt;p&gt;That gives search engines a clearer architecture and gives users a more relevant landing experience.&lt;/p&gt;

&lt;p&gt;If every commercial keyword points conceptually to the homepage, the rest of the site's structure isn't doing enough work.&lt;/p&gt;

&lt;p&gt;SEO Architecture Should Follow How People Shop&lt;/p&gt;

&lt;p&gt;This may be the biggest lesson.&lt;/p&gt;

&lt;p&gt;A good e-commerce architecture isn't created by looking only at keywords.&lt;/p&gt;

&lt;p&gt;And it isn't created by looking only at the product database.&lt;/p&gt;

&lt;p&gt;It sits between the two.&lt;/p&gt;

&lt;p&gt;The catalog tells us what the business sells.&lt;/p&gt;

&lt;p&gt;Search behavior tells us how people look for it.&lt;/p&gt;

&lt;p&gt;UX tells us how people want to browse it.&lt;/p&gt;

&lt;p&gt;Technical SEO determines how those relationships become crawlable, indexable pages.&lt;/p&gt;

&lt;p&gt;When those four pieces agree, the site becomes much easier to understand.&lt;/p&gt;

&lt;p&gt;For users and for search engines.&lt;/p&gt;

&lt;p&gt;The Bigger Lesson&lt;/p&gt;

&lt;p&gt;Product optimization matters.&lt;/p&gt;

&lt;p&gt;But e-commerce SEO becomes much more powerful when you stop thinking about products as isolated URLs.&lt;/p&gt;

&lt;p&gt;A store is a network of relationships:&lt;/p&gt;

&lt;p&gt;Homepage → Category → Subcategory → Filter → Brand → Product → Guide&lt;/p&gt;

&lt;p&gt;The challenge is deciding which of those relationships deserve their own search landing pages and which should remain part of the shopping interface.&lt;/p&gt;

&lt;p&gt;That's why some of the most important e-commerce SEO decisions happen before anyone writes a title tag.&lt;/p&gt;

&lt;p&gt;They happen when the store decides how its catalog should be organized.&lt;/p&gt;

&lt;p&gt;Good e-commerce SEO doesn't just optimize products. It makes the structure of the store reflect the way people actually search and shop.&lt;/p&gt;

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