Complete Guide to Building a Personal Blog from Scratch (Lowest Cost)
This article was last updated 287 days ago. The information within may have evolved or changed; if anything is outdated or broken, please feel free to leave a message in the comments section.
Article Abstract
Addressing issues such as tedious filing (ICP registration) procedures and insufficient search engine support for domestic website building, this article systematically outlines the setup paths for both dynamic and static blogs. The domestic solution deploys WordPress via cloud hosting paired with CDN acceleration, combining reverse proxy and self-hosted image hosting (such as Chevereto) to achieve basic functions; the overseas route utilizes Cloudflare's free CDN, DDoS protection, and static hosting services (such as GitHub Pages) to lower the barrier, using Tunnel technology to enable website hosting via home broadband. Both solutions emphasize cost control and security optimization, ultimately achieving stable setup and access acceleration for personal blogs, providing an optional technical path reference for users with different needs.
Qwen3-14B · 2026-06-18

Preface

Since I officially published my first article on August 25th last year (the one on August 7th was just a test), it has been almost exactly one year. During this year, I can't even remember how much piecemeal knowledge I've learned just to tinker with this blog, or how many bottomless pits I've stepped into. Today, although I have barely made it out of the "novice village," new knowledge points still pop up from time to time, forcing me to keep learning every day—it is truly a painful yet joyful experience.

However, as the Simplified Chinese internet environment becomes increasingly closed, coupled with the extreme unfriendliness of domestic search engines toward personal blogs, a large number of domestic personal bloggers have stopped updating. Meanwhile, a vast amount of technical content previously created by authors has been monopolized by a few top apps, which, under the constant erosion of capital, have turned to paywalls. The spirit of ”free sharing” has suffered a severe blow in the Simplified Chinese internet.

In this situation, the ones who are hurt the most are actually those new friends who genuinely want to start learning. Taking building a personal blog as an example: when someone asks a question about how to build their own personal blog, the answers below are often various recommendations for domestic cloud hosts and related products, or various technical frameworks, followed by attaching their own courses. Of course, this is not to say that these are completely incorrect, but at this moment, shouldn't the most important thing be to first clearly explain the available website-building paths and their respective pros and cons, so that everyone can make the choice that best suits them right from the start, rather than ending up getting burned simply because they don't know the lay of the land?


Remember the dire consequences of not knowing destiny in the Investiture of the Gods? When Shen Gongbao's classic line echoes from behind: ”Fellow Daoist, please stay your steps,” if one could know destiny in advance and run away without looking back, they would naturally avoid the catastrophe and escape the fate of being listed on the Investiture of the Gods.


In light of this, I conceived the idea of writing a ”Complete Guide to Building a Personal Blog from Scratch (at the Lowest Cost)” (due to the Chinese cultural fondness for dragons, I originally wanted to name it something like ”A One-Dragon [All-in-One] Complete Service for Building a Blog from Scratch,” but ultimately gave up on it). On one hand, I hope to provide novice friends with a complete guide to building a personal blog from nothing, helping them avoid some bottomless pits (minor pitfalls are unavoidable, as experience is gained through trial and error); on the other hand, it is also a general summary of the experience I have gained from building websites over the past year.

Of course, this ”lowest cost” is not absolute and depends on each individual's specific situation: if you choose a dynamic blog like WordPress that requires database support, you will need a host, which can be local hardware or a cloud server. However, whether it is hardware or a cloud server, there will definitely be some cost involved. That said, with the support of the ”Home Data Center” concept that I have always advocated, any existing hardware in your home (such as a NAS or idle hardware, as long as it can run Docker) can be utilized. In this way, the ”lowest cost” depends on the cost of your idle hardware. Of course, if you don't have idle hardware at home or don't want to use your home hardware, you can also build a dynamic personal blog using a cloud server, in which case the lowest cost depends on the price of the cloud server. Alternatively, if you choose to use a static blog and utilize free hosting services, you can achieve absolutely zero cost. However, even if the monetary cost is zero, the time and effort spent on learning cannot be avoided.

Note: Because everyone's actual situation and choices are different, the subsequent routes available for building a blog will also differ.

Section 1: Are you really ready to embark on this exciting journey of ”personal blogging”?

In this day and age, personal blogs are, to some extent, already outdated. Starting a personal blog now is like joining the Nationalist Army in 1949 (joining the losing side right before their defeat). Most domestic bloggers who still persist in writing personal blogs have either developed a habit of writing or are just seeking a spiritual sanctuary of their own where they can ramble freely without the fear of having their posts deleted or accounts banned. However, the cost is a significant amount of energy and time: learning, writing, maintenance, etc. (ordinary people shouldn't even think about making money from blogging; not only will you not make money, but you will also lose money~). Therefore, if it's just a whim, or if you have no interest in writing itself, I do not recommend wasting energy to build a personal blog. You can consider other ready-made platforms. However, choosing a ready-made platform means being at the mercy of others, and you can only hope not to have your posts deleted or accounts banned. After all, you can't have your cake and eat it too.

Note: For a discussion on whether you need a personal blog, you can refer to my previous article ”Viewing the Significance of the Existence of Current Personal Blogs from the Beginning and End of My Blog“.

Section 2: Please read the safety instructions before starting the journey, and don't choose the wrong path

If you have finally made up your mind to embark on this unknown and exciting journey, you first need to have a general understanding of the key attractions of this trip (especially for friends in China, because you are very lucky to be in one of the few very "unique" network regions, making the starting difficulty at least 10 times higher than in other normal regions), including but not limited to: the region of your target readers (domestic or overseas), the way the blog is built (static or dynamic), the hosting location of the blog (whether the resolved IP address is domestic or overseas), the route and visual layout of the blog, a suitable image hosting solution, and subsequent advanced needs: access acceleration and DDoS attack protection, etc. Are you intimidated by so many attractions? Actually, there's no need to fear; you just need a reliable journey safety guide.

At this point, do you have questions about the ”safety guide” like the ones in the image below:

image.png

image.png

Some time ago, inspired by my feelings, I wrote an article:Home Data Center Series: Independent Personal Blog Setup and Pitfall Avoidance Guide, which can serve as this safety guide.

Section 3: Start the journey from your chosen route

After carefully reading the journey safety guide, I believe everyone has found a route that suits them. So, let's officially begin the journey.

Route 1: Domestic Website Hosting


First, let's clarify the meaning of domestic website hosting: this has little to do with whether the VPS used to build the blog (if a VPS is used) is actually located domestically or overseas. It only relates to whether the IP address ultimately resolved from the blog's domain name belongs to China or overseas. If it is domestic, it is considered domestic hosting; if it is overseas, it is considered overseas hosting (this is very important; if a CDN is used, it refers to the location of the CDN address).


Building a blog using cloud hosting

I have already discussed some basic common sense about domestic website hosting (purchasing domain names, purchasing cloud servers, ICP filing) in the ”Pitfall Avoidance Guide”, so I won't repeat them here. Generally speaking, for domestic hosting, purchasing a domestic cloud server to obtain domain name ICP filing eligibility is basically the only way to go (originally, this was used to restrict the optional ways of building websites, thereby achieving the purpose of controlling the scale of domestic websites; however, the purpose of buying a cloud server is to get the ICP filing code, so if you can get the filing code directly, you don't need to buy a cloud server). Since you already have a cloud server, I suggest that beginners directly use the cloud server to build a blog with WordPress. This way, the learning cost of building a website is the lowest (how low? Just read one article:Home Data Center Series: WordPress Ultra-Fast Personal Blog Setup - Zero-Base Beginner's Direct Promotion Gift Pack) and the blog framework can be set up. As for the way to build WordPress, whether to use the aaPanel source code deployment, or use Docker deployment (for deploying WordPress using the docker run method, you can refer to the article:Docker Series: Using Docker to Set Up a Blog Slave Site Based on WordPress and Implement Regular Backups of Master-Slave Site Configurations, though using docker-compose is still recommended as the most hassle-free way, suitable for beginners), it is entirely up to your preference.

Note 1: Since personal ICP filings in China are not allowed to have comment functions, if you use WordPress to build a blog, you need to give up the built-in comment function (just do not approve comments if there are any).

Note 2: Building a dynamic blog doesn't strictly require WordPress; there are other options. However, relatively speaking, WordPress has the most users, and there are plenty of tutorials, resources, and plugins, which I feel is the most user-friendly for newcomers.

Note 3: It's not that you must use a dynamic blog like WordPress just because you have a cloud server. In fact, running a static blog is also fine. For example, after deploying a static blog built with Hexo locally on the cloud server (you can refer to the article:Home Data Center Series: Building a Static Blog with Hexo and Deploying It to Cloudflare Pages”s ”Local Deployment" section), you can directly use the local pages it provides (http://localhost:4000)combined with a reverse proxy for publishing. However, due to performance issues (local pages are just lightweight web services), it needs to be used in conjunction with a CDN.

Note 4: Theoretically speaking, buying a cheap cloud host for ICP filing (for example, the minimum requirement to obtain an ICP filing code on Tencent Cloud is a lightweight server) often forces one to face the following awkward situation: the performance of cheap cloud hosts is an issue, while high-performance cloud hosts are too expensive, which is very frustrating. Originally, to solve this problem, my ”home data center” solution should have made its grand debut: using high-performance hardware devices at home instead of a cloud host to deploy and publish various applications (including dynamic blogs). However, this solution requires a public IP address. Considering that many friends' home broadband does not meet this requirement, and now the three major operators are very strict about using home broadband to build websites, I won't formally mention this usage. But if any friends have the conditions and want to take on the challenge, there are some precautions. For details, you can refer to the article:Home Data Center Series: Discussing Current Options for Personal Blog Building from This Home Internet Outage。

Choosing the right image hosting solution

Image hosting is a prerequisite issue that needs to be resolved before officially starting to write blog posts.


What is image hosting? Image hosting is an online tool or service specifically used to store and manage images. You can upload images to the image hosting service and get an image link, so you can directly use this link to display images on blogs, social media, or other websites without having to store the images on your own website, which saves space and makes image management convenient.


There are many choices for domestic image hosting, and there are also many free image hosting options to choose from. I won't mention them too much here; you can just search for them online.

In addition to choosing free image hosting services, you can also choose to self-host your own image hosting (the cloud server purchased for domain name filing comes in handy again). One of the more famous ones is Chevereto. For detailed configuration, you can refer to the article:Docker Series: Using Docker to Build Your Own Image Hosting Service Based on Chevereto; if you need to use Chevereto to watermark images, you can refer to the article:Tips and Tricks Series: Using Chevereto to Add Watermarks to Images。

Note: The image hosting needs to be used in conjunction with the reverse proxy and CDN that will be discussed later.

Mastering reverse proxy configuration

Using a cloud server to build a blog, one must-have skill is configuring a reverse proxy.


What is a reverse proxy? A reverse proxy is like a “receptionist” at your front door. When someone (a user) wants to visit a certain room (application) in your house, they don't go straight into the room. Instead, they first tell the receptionist at the door what they want to do. The receptionist decides whether to let them in and guides them to the correct room. This not only protects your room (application) but also manages and distributes these visitors, making the whole process more orderly and secure.


The reverse proxy function can be implemented through various software, with NPM (Nginx Proxy Manager) being a specialized one. For the specific configuration method, you can refer to the article:Docker Series: Building Your Own Reverse Proxy Based on NPM Using Docker; if you already use the Baota Panel (for a brief introduction to the Baota Panel, you can refer to the article:Linux Panel Series: Introduction to Baota Panel), then the specific configuration method can be found in the article:Linux Panel Series: Configuring Reverse Proxy and Publishing Using Non-443 PortsOf course, there are many other options for implementing reverse proxies, but the principles are all the same, so I won't introduce them one by one.

Using CDN (Content Delivery Network) to accelerate blog access

Once the blog is set up, it needs to be published to the public. At this point,it is highly discouraged to directly use the cloud server's public IP to publish the blog, for the following reasons:

This will directly expose the IP address of the cloud server, bringing major security risks: the cloud server needs to face various types of attacks directly, which places very high demands on the security of the cloud server system.

For DDoS attacks, in addition to consuming cloud server system resources, they can also directly exhaust the traffic of the cloud server's traffic package, leading the cloud provider to disconnect the cloud server from the network.

Due to geographical limitations, access from areas far from the cloud server will be slower.

The outbound bandwidth of cloud servers is usually small (3 Mbps - 6 Mbps), which will become a bottleneck when traffic is slightly higher.

Therefore, at this time, it needs to be used in conjunction with a CDN (Content Delivery Network).


So what is a CDN? A CDN is a technology that accelerates websites and applications. It distributes website content (such as images, videos, web pages, etc.) across multiple servers nationwide. This way, when users visit, they retrieve content from the server closest to them, resulting in faster loading speeds, reduced lag, while also reducing server pressure and improving security.


Using a CDN offers the following benefits:

Improve performance and user experience
• Reduce latency: CDN can significantly reduce data transmission latency by caching content on server nodes closest to users. This can speed up web page loading and improve user experience.
• Speed up static content loading: CDN caches common static resources (such as images, CSS, JavaScript, etc.), allowing these resources to load faster and further optimizing page performance.

Reduce server load
• Distribute request pressure: CDN distributes user requests to multiple nodes, reducing the load on the origin server, especially during peak traffic periods, which can prevent server overload.
• Caching strategy: CDN can cache frequently accessed content, reducing the processing pressure and bandwidth consumption of the origin server.

Enhance security
• DDoS protection: CDN can provide partial DDoS protection by dispersing attack traffic and filtering malicious requests, protecting the origin server from large-scale attacks.
• Hide origin IP address: CDN acts as a caching layer at the frontend, which can hide the origin server's IP address, reducing the risk of direct attacks on the server.

Reduce bandwidth costs
• Optimize traffic distribution: CDN can cache a large amount of static content and reduce direct traffic transmission from the origin server, which helps lower server bandwidth consumption, thereby reducing bandwidth costs.
• Compression and optimization: Many CDN services automatically compress and optimize transmitted content, further reducing the amount of data transferred.

Geographical expansion
• Cover users nationwide: CDN allows developers to easily expand the coverage of their applications, enabling users in different geographical locations to retrieve content from nodes closer to them, thereby enjoying faster loading speeds.

It can be said that the biggest advantage of hosting a website domestically is that you can use domestic CDNs. Compared to sites using foreign CDNs, the user access experience is completely different.

Note 1: The choice of domestic CDN providers is quite flexible; as long as you have a filed domain name, you can choose any of them. However, in theory, you should try to choose the CDN service of your cloud server provider. For example, if you use Alibaba Cloud's cloud server, choose Alibaba Cloud's CDN; if you use Tencent Cloud's cloud server, choose Tencent Cloud's CDN. The advantage of this is that the CDN of the same provider accessing its own cloud server is considered internal system access, which is not limited by the cloud server's outbound bandwidth.

Note 2: Domestic CDNs do not provide free basic services like Cloudflare's CDN, which raises an issue to watch out for: if CDN traffic is consumed by actions like DDoS attacks, there is no solution other than passively responding by setting usage thresholds on the CDN itself, though this response will interrupt the site's normal service.

Note 3: Originally, this section should have included a CDN configuration tutorial. However, because there are too many domestic CDN vendors and each has certain differences in configuration and features (for example, Tencent Cloud CDN does not support IPv6 origin-pull, but Alibaba Cloud CDN supports it), attaching one doesn't seem very meaningful. Additionally, I don't recommend building a personal blog using a filed domain name in the first place (unless you clearly know what you need), so I'll take a shortcut here. If you need one, please search for tutorials online yourself.

Other advanced configurations

For personal bloggers hosting websites domestically, saving money is definitely the main priority, so it is estimated that the vast majority will at most buy some CDN traffic. As for WAF or DDoS protection, they wouldn't even dare to think about it:

image.png

image.png

Looking at this price, I lost interest in reading it seriously. There is no option for personal users at all, let alone wanting to use it for free. The direct result of this is that personal blogs built through domestic hosting are basically running naked.

Note 1: Baidu search engine is now very cautious about indexing personal blogs, so the idea of ”hosting domestically and wanting to rely on Baidu search engine to drive traffic” is basically very difficult to achieve.

Note 2: Now Tencent Cloud has launched the EO (Edge One) edge security acceleration platform, providing an all-in-one solution including WAF, DDoS, and other functions. The personal version is 29.9 yuan per month. Friends who host domestically and don't want to run naked can consider it. I haven't used it either, and I don't know how effective it is, just mentioning it in passing:

image.png

Note 3: For well-known reasons, the domestic internet is to some extent separated from the international internet, especially in terms of data routing and cross-border traffic. Therefore, many international attack sources may not be able to effectively reach domestic targets, resulting in a statistically lower frequency of DDoS attacks initiated from abroad for domestic website hosting (a certain wall occasionally has positive effects). However, precisely because of this, if a DDoS attack is encountered, the probability of it coming from a domestic source is much higher (there are still attacks from foreign sources, just not as many in number and proportion as when hosting websites abroad), and Alibaba Cloud and Tencent Cloud are good at dealing with this kind of attack initiated by a large number of domestic sources and a small number of foreign sources in terms of DDoS protection (the so-called "mighty dragon cannot crush the local snake"). After all, in terms of status in the industry, Alibaba and Tencent are quite comparable to Du Yuesheng back in the day.

Route 2: Overseas Website Hosting

I believe that for the vast majority of personal bloggers, domain name ICP filing is a quite headache-inducing matter. Even many friends who originally had the potential to become very powerful personal bloggers were forcibly discouraged at this very first step. And even if the domain name filing is completed, there are still many pitfalls waiting ahead (also refer to the previous pitfall avoidance guide). Therefore, I suggest that new friends directly choose the route of hosting websites abroad, which does not require domain name filing. This way, cloud servers are not a must-have option either, and the only item you must spend money on is purchasing a domain name.

Note 1: If you choose to host your website abroad, there is a famous name that you basically cannot bypass: Cloudflare, commonly known as the ”Great Philanthropist”, which provides one-stop services for website building such as free CDN, free DDoS protection, free web application firewall, free object storage, etc. Although these free features have various limitations, they are completely sufficient for general personal webmasters under normal circumstances. It can be said that learning the basic use of Cloudflare is a compulsory course for personal webmasters. So, how can you quickly understand the value of Cloudflare to personal webmasters? Please refer to the article:Home Data Center Series Cloudflare Tutorial (1) Introduction to CF and its Benefits to Individual Webmasters)。

Note 2: Even if you take the domestic website hosting route, you can still get a free ride on the Great Philanthropist's package of free services through Cloudflare's ”Custom Hostnames” feature (provided that you already have a domain name fully managed on Cloudflare; you can understand the ”Custom Hostnames” feature as a buy-one-get-one-free gift). The only problem is that for domestic visitors, the Great Philanthropist's CDN might be a negative optimization, which cannot compare with the experience of domestic CDNs (to solve this problem, various unofficial methods have emerged: preferred IPs, preferred domains, etc., but to be honest, the effects are limited, and I do not recommend these troublesome and ineffective methods). Moreover, the status of domain names connected via the ”Custom Hostnames” method is similar to that of a traditional "chambermaid" (not fully legitimate, unlike formal wives and concubines), so they cannot fully enjoy all the features that a domain name formally managed on Cloudflare can enjoy (such as the Worker acceleration method or some deeply integrated features).

Choice of blog: Static vs. Dynamic

Building a static blog using free hosting services

Once you choose the route of hosting your website abroad, you will discover a whole new world—a world where you can get things for free: in addition to Cloudflare mentioned in the previous section, the most critical thing is that there is an extra choice for building a blog: zero-cost static blogs. GitHub Pages, Vercel, Netlify, Cloudflare Pages, etc., all support free hosting of static sites. Although there are definitely limitations, they are completely sufficient for general personal blogs. Therefore, if you really don't want to spend money but want to have your own blog, the static blog hosting solution is very suitable.

Note: If you want to use Hexo to build a static blog on Cloudflare Pages, you can refer to the article:Home Data Center Series: Building a Static Blog with Hexo and Deploying It to Cloudflare Pages。

Building a dynamic blog

If you choose to build a dynamic blog, you still need a carrier:

Cloud Servers

If you want to use a cloud server as a carrier, give priority to foreign cloud servers, which are convenient whether deploying Docker or installing software using apt on Linux. It is also fine if you want to reuse your existing domestic cloud servers, but the best way to pull from the origin is to use Cloudflare's Tunnel, which means the domain name needs to be managed on Cloudflare (for detailed configuration of cloud servers and Tunnel, refer to the article:Home Data Center Series: Using Tunnel Technology to Enable Home Broadband Without Public IP to Leverage Cloudflare for Free to Achieve Rapid Website Setup (Recommended))。


What is Tunnel? In one sentence: if the domain name is managed on Cloudflare, you can set up a fully encrypted tunnel through Tunnel technology to connect Cloudflare's edge network with your home broadband intranet, thereby achieving the effect of directly accessing applications deployed on your home broadband intranet using the domain name (in fact, it is Cloudflare's own intranet penetration).


Note: Actually, using a domestic cloud server to build a dynamic blog and publishing it through a foreign CDN provider (such as Cloudflare) is technically fine if you directly use the public IP address to pull from the origin, in addition to using Cloudflare's Tunnel method mentioned above. However, under the current regulatory intensity, using a domestic cloud server as the origin site for an unregistered domain name website is too risky, so it is not recommended (foreign cloud servers do not have this taboo). The configuration process is simple, though, and you can refer to the article:Home Data Center Series: Getting Cloudflare for Free via Domestic ICP-Filed Cloud Hosts to Achieve Fast Access to Domestic Sites from Abroad; if you use ports other than 80 and 443 to publish applications, you need to configure Cloudflare's Origin Rules. For detailed configuration, please refer to the article:Home Data Center Series: Solving the Problem of Having a Public IP but No Legal 80 or 443 Ports for Website Building via Cloudflare's Origin Rules。

Home Data Center

With hosting websites abroad, my ”Home Data Center” solution can finally rise. The most critical supporting technology is the aforementioned Tunnel, which does not require a public IP and is a fully encrypted tunnel based on the TCP protocol. It is both safe and affordable, making it truly a powerful tool for building websites using the home data center approach.

Note 1: In the vast majority of cases, Tunnel can run stably, but occasionally there are network environments where Tunnel runs unstably (for example, when an ISP implements special policies on Cloudflare's IP ranges in a certain area).

Note 2: For the analysis of various scenarios supported by Tunnel, please refer to the article:Home Data Center Series Cloudflare Tutorial (9) Introduction to Common Zero Trust Features and Multi-Scenario Usage Tutorial。

Note 3: For what things you can play around with in a home data center, you can refer to my previous article ”Home Data Center Series: Introduction to Key Applications Involved in Building a Home Data Center“.

Choice of image hosting

In addition to the option of using Chevereto to build your own image hosting site like domestic website hosting, there are more choices for foreign image hosting. Here, I recommend using Cloudflare's R2 (object storage) as your image hosting site. Its free quota is completely sufficient for general personal webmasters, and it can also be seamlessly integrated with Cloudflare's CDN, which is very worry-free.

Note: For detailed steps on using Cloudflare R2 to build an image hosting site, please refer to the article ”The final directory structure is as follows:“.

Reverse proxy (optional)

Since I recommend using Cloudflare Tunnel to pull from the origin, which means Cloudflare can directly use the domain name to be published to associate with the IP and port of the intranet application, a reverse proxy is no longer a necessary component:

image.png

However, if you want a more secure application environment (although Cloudflare provides many free security features, they can only be considered basic security), you can still add reverse proxies for various purposes, such as a reverse proxy-style WAF (Web Application Firewall):

image.png

Cloudflare CDN

As I mentioned earlier in the article, Cloudflare provides free CDN services. However, under the default configuration, the content cached by the CDN is very limited, and most importantly, it does not cache HTML pages. Therefore, you need to make corresponding settings according to the type of your blog (caching static blogs is very simple, but dynamic blogs require configuring policies to exclude content that cannot be cached). This is configured in the Cache Rules in Cloudflare. For detailed cache rule setting methods, please refer to the article:Home Data Center Series Cloudflare Tutorial (6) CF Cache Rules Feature Introduction and Detailed Configuration Tutorial。

Other advanced configurations

When hosting websites abroad, various scans, attacks, and crawlers are inevitable every day:

image.png

Therefore, compared with domestic website hosting, the importance of WAF features and DDoS attack protection is greatly increased. At this time, the free WAF and DDoS attack protection features provided by Cloudflare appear particularly precious.


Unlimited traffic and free basic CDN, free basic WAF and DDoS protection features, free static site hosting, a certain amount of free D1 SQL database quota, a certain amount of free Worker requests daily, powerful redirection, and other features—if compared with the features and traffic provided by Edge One Personal Edition at 29.9/month, I would totally believe it if Tencent dared to sell these free features of Cloudflare for 1,000 a month~.


However, Cloudflare's Free plan is just others allowing you to get a free ride, but whether you have the ability to get that free ride is another matter. Well, it reminds me of a movie scene:

image.png

image.png

It is not an easy task to make good use of all these free features. It requires personal bloggers to invest a lot of energy in learning relevant knowledge (such as WAF, DDoS protection, Worker acceleration methods, etc.). It is best to follow a professional ”Cloudflare Learning Map” to systematically learn Cloudflare's overall solution. Theory + practice is the most efficient and memorable way to learn.

Then, regarding the ”cloudflare learning map”, do you have questions like the ones in the image below:

image.png

What a coincidence, my last article happened to beCloudflare Learning Map, friends who want to study cloudflare in depth can just follow the map, so I won't repeat myself in this article.

Section 4: Adding bricks and mortar to the journey

The previous content of the article actually only revolved around the core of ”infrastructure”, with the goal of giving the blog basic accessibility and security. In a project, this would be: server room construction, cabling, equipment mounting, and debugging, etc. However, once the blog is set up (and passes acceptance), the focus naturally shifts from ”infrastructure” to ”operations”.

Therefore, this section will briefly introduce several key knowledge points that I believe are related to blog ”operations”.

Writing blog posts efficiently

Many bloggers use Markdown format when writing blog posts, so they cannot avoid Markdown editors (for example, I am used to using Obsidian). When I use Obsidian to write articles, the first problem to solve is how to efficiently insert images from an image hosting service into the article (you can't manually upload images to the host, get the image link, and then paste it back into the article, right? If there are many images, it would be exhausting). Therefore, there is a solution using Obsidian + PicGo + the corresponding image host: if you use Chevereto as the image host, you can refer to the article:Tips & Tricks Series: Achieving Efficient Image Uploading and URL Retrieval with Chevereto + PicGo + Obsidian; if you directly use cloudflare R2 as the image host, you can refer to the article:The final directory structure is as follows:。

Sharing files in blog posts

Sometimes, because the official links of some projects are not easily accessible domestically, it is necessary to provide direct file downloads in blog posts:

image.png

Of course, you can use sharing links from domestic cloud drives for download links, but you need to ensure that visitors can actually use these sharing links. We all know the annoying quirks of domestic cloud drives: either you can't download anything without a paid membership (Baidu Netdisk), or certain file types cannot be shared (Alibaba Cloud Drive cannot share .zip files). Therefore, using these cloud drive sharing links cannot guarantee a good experience for visitors.

In view of this, self-hosting an application to provide sharing links is a great choice. There are two conventional ways:

Self-hosted cloud drive

You can use open-source cloud drive solutions, such as Nextcloud, which provides complete cloud drive functionality and can be integrated with many famous software applications through plugin extensions:

image.png

For the detailed setup process, please refer to the article:Docker Series: Building Your Own Personal Network Disk Based on Nextcloud Using Docker。

Lightweight file sharing

Although Nextcloud is very powerful, if we don't need that many features and just want to simply provide file downloads, then lightweight file sharing is very suitable, such as pingvin-share. Moreover, pingvin-share has its own unique feature: it can share a group of files through a fixed link, and the shared files can be deleted or added by yourself while the sharing link remains unchanged. This is especially useful when you need to modify some files after sharing:

image.png

For the detailed setup process, please refer to the article:Docker Series: Using Docker to Deploy a Lightweight File Sharing Platform Based on pingvin-share。

Site health monitoring and instant failure notifications

As a professional personal blogger, when the site goes offline for various reasons, you should know and handle it in the shortest possible time. This requires a combination of site health monitoring and instant failure notifications. For site health monitoring, you can use uptime-kuma:

image.png

For instant failure notifications, you can use bark-server (requires iPhone, macOS, iPad). For detailed configuration steps, please refer to the article:Docker Series: Building a Real-time Application Health Monitoring and Alerting System Based on Uptime and Bark和Docker Series: Building a Message Push Server Based on Bark Server。

Tracking blog traffic statistics

Regularly understanding the blog's traffic data is also a very important part of daily operations. It is recommended to use Umami, which can collect statistics on site traffic data from multiple dimensions:

image.png

image.png

image.png

image.png

For detailed setup steps of Umami, please refer to the article:Home Data Center Series: Detailed Setup Tutorial for the Latest Version of Umami (2.11.3)。

The above content is just what I consider to be the most important aspects closely related to daily ”operations”. In fact, there are more complex and fun ways to play, such as when the ”home data center” experiences a power outage or network disconnection, the cloud host automatically takes over the blog service as a disaster recovery site (see article:Home Data Center Series: Flexibly utilizing Cloudflare Tunnel to achieve automatic takeover by disaster recovery site when the main WordPress site fails); or the automatic synchronization of databases across multiple WordPress nodes (see article:define( ”WP_DEBUG”, false ); #The other two lines can be deleted directly.) and so on, but these advanced gameplays all require involving many underlying supporting technologies, such as Syncthing multi-point synchronization (see article:Docker Series: Detailed Tutorial on Implementing Multi-Point Folder Synchronization Based on Syncthing Using Docker) and Tailscale (see article:Home Data Center Series: The Application of Virtual Networking Technology), as well as some practical operations in databases and shell scripts. If you are interested, you can study them.

Note: The blog also has many articles about solving specific needs, such as making WordPress support multi-language translation, resolving various WordPress errors, etc. There are many similar articles, and anyone interested can take a look. I won't list them all here, mainly because there are too many to cover in just a few words.

Section 5: The road ahead is long and arduous, but we shall search high and low

After the previous steps, your personal blog is finally set up, and you can be considered to have your own little home on the Internet. However, building a blog is just the beginning. Whether you can persist in writing for a long time in the future is the hardest part. You might stop updating because of many reasons: not knowing what to write, no one reading it after writing, being too busy with work to feel like writing, search engines not indexing it, troublesome maintenance, etc. The reason why many personal blog owners eventually stop updating is nothing more than these reasons.

However, there are always some bloggers who can persist and find the joy of having their own blogs. Especially in the domestic internet environment where one cannot speak freely, having one's own little plot of land on the internet is extremely precious.

And I sincerely hope to have more fellow travelers on this long journey.

Afterword

For me, this article is also a general summary of my tinkering with personal blogs and related technical fields over the entire year from the end of last August to now. From this, it can be seen that over the past year, I have mainly been working on infrastructure around the center of ”building a personal blog”. To put it bluntly, I am actually catching up on lessons, catching up on various lacking basic knowledge and hands-on skills in related fields. Who told me to be so ambitious but lacking in practical skills before, only knowing how to talk and fool users (as a qualified sales engineer, painting a big picture to fool customers is an essential skill, and I'm not the only one~).

However, now I have basically passed the novice stage, and my focus will gradually shift to various new application technologies. I'm still a little excited thinking about it.

View Related Categories · 3 Matches
📌 Content Structure Prompt:
This content is part of the following knowledge map, where you can view the complete content path: Cloudflare Learning Map。
📎 Related Articles
Share this article
The blog content is original, please indicate the source when reposting! The RSS address of the blog is:https://blog.tangwudi.com/feed, welcome to subscribe; if needed, you can join theTelegram Groupto discuss questions together.

Comments

  1. Android Chrome 126.0.0.0
    2 years ago
    2025-2-09 14:45:38

    When building a website abroad, various scans, attacks, and crawlers every
    day are unavoidable

    Why is this? Is it because the website was submitted to Google or Bing, but someone specifically targets these two search engines for attacks? Then why is the risk slightly lower domestically?

    • Owner
      Ye Shan
      Macintosh Chrome 132.0.0.0
      2 years ago
      2025-2-09 19:58:44

      Because there is a ”wall” between the domestic network and foreign networks, and the ”wall” is bidirectional: it is difficult for domestic users to go out, and it is also difficult for foreign users to come in. Therefore, the probability of being scanned and attacked when building a website domestically is much lower than when building a website abroad. Of course, it is also difficult for others to visit you~, so Google's crawlers are relatively less enthusiastic about indexing sites with domestic IPs. In addition, scanning is mainly targeted at IPv4 public network addresses. Because there are few IPv4 public network addresses, scanning does not take much effort.

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗ
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
Kaomoji
Emoji
Little Dinosaur
Flower!
Previous
Next
       

👋 Welcome to “Wudi's Personal Blog”

Here, long-term exploration is mainly carried out around the following directions:

🧱 Personal Digital Infrastructure and Blog System Construction
☁️ Cloudflare and Network Architecture Practice
🧠 AI and Knowledge System Exploration
🛡️ Network Security and Access Optimization
🎵 Music and Sound Cognition
👁️ Cognitive Perspectives and Worldviews