Starting completely from scratch, I initially had no clear sense of what I needed to do.
So, before building the blog, I decided to set some reasonable goals.
I divided them into two categories.
I consider readability the most fundamental element of a blog.
Although there is no precise definition of good readability, I set the following criteria.
Headings and body text should be clearly distinguishable.
Font sizes and colors should be comfortable to read.
Bullets, numbered lists, and tables should be used appropriately.
Important keywords should be emphasized in an
unmistakable way
.
Images should not occupy more than half the screen.
Readability should remain consistent across devices.
Since I am the blog's first reader, I looked for the approach that I would find most comfortable.
This was also the biggest reason I decided to build a separate blog.
I write about many different topics, so the posts need a classification system.
The hierarchy is as follows.
- ์นดํ ๊ณ ๋ฆฌ
- ์ฃผ์
- ์๋ฆฌ์ฆ
- ๊ธ
Some posts are difficult to classify, but I decided to use this hierarchy for now.
I organized the posts as a tree to establish the blog's structure.
You can see it in the sitemap.
Initially, I planned to keep the posts inside the GitHub project alongside the blog's code.
However, I anticipated problems with scalability and complexity, so I decided to separate the posts from the blog platform.
I also expected that storing images and posts inside the project would create many commits unrelated to the application itself, so I decided to store that content separately.
The plan is to store post information in a relational database and images in Amazon S3.
I expect this will also make it easier to add features such as search later.
This site is intended to attract visitors through search engines.
User experience matters if those visitors are to stay and read.
Because user experience is a broad concept, I decided to focus on the following elements.
Fast loading
I plan to try a variety of optimization techniques.
I will combine Next.js's SSR, CSR, and ISR where appropriate, optimize images, and analyze data-fetching times to keep loading fast.
Responsive design
I will support three device types: phones, tablets, and desktops.
Layouts, font sizes, and other details will be optimized for each device.
An intuitive UI
I will arrange the necessary controls sensibly while keeping the interface from becoming too complicated.
Even if the blog's main purpose is to keep my own records, wouldn't I put more care into each post if I wrote with other readers in mind?
That is why I will optimize SEO to make the blog easier to find through search engines.
I also plan to write a separate series about SEO later.
๐
As of June 23, 2024, it has been a little under two weeks since I registered the site with Google Search Console.
My blog and its posts receive around 15 impressions per day on average in Google Search.
๐
Update: About eight months later, as of February 26, 2025, the blog and its posts receive around 300 Google Search impressions per day on average.
The click-through rate (CTR) is about 3.5%.
Of course, not everything will go according to plan.
Still, having goals makes a difference.
A goal gives me a direction to work toward.
It should also help me develop faster and reduce the changes I need to make later.