<?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: 薛元煌</title>
    <description>The latest articles on DEV Community by 薛元煌 (@_63f383d3ef7194bca9b64).</description>
    <link>https://dev.to/_63f383d3ef7194bca9b64</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%2F4060602%2F2eac1626-4365-4507-b918-803d4fde13ef.png</url>
      <title>DEV Community: 薛元煌</title>
      <link>https://dev.to/_63f383d3ef7194bca9b64</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_63f383d3ef7194bca9b64"/>
    <language>en</language>
    <item>
      <title>I Stopped Reading About SEO and Built a Password Generator Instead</title>
      <dc:creator>薛元煌</dc:creator>
      <pubDate>Mon, 03 Aug 2026 12:15:39 +0000</pubDate>
      <link>https://dev.to/_63f383d3ef7194bca9b64/i-stopped-reading-about-seo-and-built-a-password-generator-instead-5clb</link>
      <guid>https://dev.to/_63f383d3ef7194bca9b64/i-stopped-reading-about-seo-and-built-a-password-generator-instead-5clb</guid>
      <description>&lt;p&gt;For a while, I spent more time reading about SEO than actually doing SEO.&lt;/p&gt;

&lt;p&gt;Keyword research, domain authority, backlinks, technical SEO, search intent—there was always another guide to read and another tool to try.&lt;/p&gt;

&lt;p&gt;Eventually, I decided to stop preparing and build a small website from beginning to end.&lt;/p&gt;

&lt;p&gt;The result is &lt;a href="https://getpasswordgenerator.com/" rel="noopener noreferrer"&gt;Get Password Generator&lt;/a&gt;, a free password generator that creates passwords entirely inside the browser.&lt;/p&gt;

&lt;p&gt;This is what I have learned so far.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Finding a keyword with Google Trends
&lt;/h2&gt;

&lt;p&gt;I started with Google Trends.&lt;/p&gt;

&lt;p&gt;Google Trends does not provide exact search volume, but it is useful for comparing keywords and checking whether people’s interest is stable, growing, or disappearing.&lt;/p&gt;

&lt;p&gt;Instead of looking for the “perfect” keyword, I wanted to find something that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;solves a clear problem;&lt;/li&gt;
&lt;li&gt;can become a focused single-purpose tool;&lt;/li&gt;
&lt;li&gt;has relatively stable demand;&lt;/li&gt;
&lt;li&gt;does not require a large backend;&lt;/li&gt;
&lt;li&gt;can be shipped quickly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A password generator matched those requirements.&lt;/p&gt;

&lt;p&gt;People already understand what the tool should do, and there is no complicated onboarding process. They open the page, choose their settings, generate a password, and copy it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Checking the actual Google results
&lt;/h2&gt;

&lt;p&gt;After looking at trends, I searched the keyword directly on Google and examined the first page.&lt;/p&gt;

&lt;p&gt;This step was more useful than looking at a single difficulty score.&lt;/p&gt;

&lt;p&gt;I checked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what kinds of pages were ranking;&lt;/li&gt;
&lt;li&gt;whether the results were tools, articles, or product pages;&lt;/li&gt;
&lt;li&gt;how quickly users could access the generator;&lt;/li&gt;
&lt;li&gt;whether the pages worked well on mobile;&lt;/li&gt;
&lt;li&gt;how clearly they explained privacy and security;&lt;/li&gt;
&lt;li&gt;whether there was room for a simpler experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I was not trying to prove that the keyword was “easy.” Search results can change, and established websites are difficult to compete with.&lt;/p&gt;

&lt;p&gt;I only wanted to answer a practical question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is there enough room here to build something useful and learn from the process?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For me, the answer was yes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Buying the domain
&lt;/h2&gt;

&lt;p&gt;I purchased:&lt;/p&gt;

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

&lt;p&gt;The domain explains the purpose of the website immediately.&lt;/p&gt;

&lt;p&gt;An exact-match domain is not a shortcut to ranking, and it cannot replace a good product. However, it can make a small tool easier to understand and remember.&lt;/p&gt;

&lt;p&gt;I connected the domain through Cloudflare and deployed the project from GitHub so that future updates could be published automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Building the smallest useful version
&lt;/h2&gt;

&lt;p&gt;The first version only needed a few features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;adjustable password length;&lt;/li&gt;
&lt;li&gt;uppercase and lowercase letters;&lt;/li&gt;
&lt;li&gt;numbers and symbols;&lt;/li&gt;
&lt;li&gt;ambiguous-character exclusion;&lt;/li&gt;
&lt;li&gt;password strength and entropy information;&lt;/li&gt;
&lt;li&gt;one-click copying;&lt;/li&gt;
&lt;li&gt;mobile support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The most important technical decision was to generate passwords locally.&lt;/p&gt;

&lt;p&gt;The site uses the browser’s Web Crypto API. Generated passwords are not sent to a server, stored in a database, or recorded by the website.&lt;/p&gt;

&lt;p&gt;That privacy promise is also visible on the page because security claims should be understandable—not hidden in a privacy policy nobody reads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Doing the basic SEO work
&lt;/h2&gt;

&lt;p&gt;Once the tool worked, I added the technical SEO foundations.&lt;/p&gt;

&lt;p&gt;These included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a descriptive title and meta description;&lt;/li&gt;
&lt;li&gt;a canonical URL;&lt;/li&gt;
&lt;li&gt;mobile-responsive layouts;&lt;/li&gt;
&lt;li&gt;semantic headings and readable page content;&lt;/li&gt;
&lt;li&gt;internal navigation;&lt;/li&gt;
&lt;li&gt;FAQ and usage instructions;&lt;/li&gt;
&lt;li&gt;JSON-LD structured data;&lt;/li&gt;
&lt;li&gt;a branded favicon;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;robots.txt&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sitemap.xml&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also made sure the page included useful information beyond the generator itself, such as password-length recommendations, password-manager advice, and an explanation of how local generation works.&lt;/p&gt;

&lt;p&gt;SEO should not mean adding paragraphs just to increase the word count. The content still needs to help the person using the tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Connecting Google Search Console
&lt;/h2&gt;

&lt;p&gt;After publishing the website, I added the domain to Google Search Console.&lt;/p&gt;

&lt;p&gt;I completed domain verification through a DNS TXT record, tested the live URL, requested indexing, and submitted the sitemap.&lt;/p&gt;

&lt;p&gt;Seeing “URL is on Google” was a small milestone.&lt;/p&gt;

&lt;p&gt;It does not mean the website will rank immediately. It only means Google can access and index the page. Ranking still depends on relevance, quality, competition, links, user satisfaction, and time.&lt;/p&gt;

&lt;p&gt;But completing the entire process made SEO feel much more concrete.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Starting to build links
&lt;/h2&gt;

&lt;p&gt;The next stage is earning some external links and, more importantly, finding real users.&lt;/p&gt;

&lt;p&gt;I am starting with places that make sense for the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a public GitHub repository with clear documentation;&lt;/li&gt;
&lt;li&gt;the repository’s Website field;&lt;/li&gt;
&lt;li&gt;technical build-in-public articles;&lt;/li&gt;
&lt;li&gt;relevant communities where people can actually test the tool;&lt;/li&gt;
&lt;li&gt;Hacker News only when there is a sufficiently interesting technical story.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I do not want to post the URL everywhere just to increase the number of backlinks.&lt;/p&gt;

&lt;p&gt;A link is more valuable when someone follows it, uses the product, gives feedback, or shares it because it helped them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;The biggest lesson was not about a particular SEO technique.&lt;/p&gt;

&lt;p&gt;It was this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes building one complete website teaches more than reading another twenty SEO articles.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By working through the process, I encountered real questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which keyword should I target?&lt;/li&gt;
&lt;li&gt;What does the first search results page actually look like?&lt;/li&gt;
&lt;li&gt;What should the first version include?&lt;/li&gt;
&lt;li&gt;How does domain verification work?&lt;/li&gt;
&lt;li&gt;What is structured data?&lt;/li&gt;
&lt;li&gt;Why is Google still showing the old favicon?&lt;/li&gt;
&lt;li&gt;Where can I share the project without spamming people?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions became much easier to understand once they were connected to a real website.&lt;/p&gt;

&lt;p&gt;The project is still very new, and I do not know how it will perform yet. That is part of the experiment.&lt;/p&gt;

&lt;p&gt;If you are also learning SEO or building small tools, I would love to exchange ideas and hear about what you are working on.&lt;/p&gt;

&lt;p&gt;You can try the project here:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://getpasswordgenerator.com/" rel="noopener noreferrer"&gt;Get Password Generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback—especially critical feedback—is welcome.&lt;/p&gt;

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