As my blog contains more and more bilingual Chinese and English content, I recently started reorganizing the entire tag system.
Initially, I consistently used Camel Case.
For example:
AIGeneratedImages
ImageProcessing
TransparentBackground
BrowserCache
WordPressOptimization
The main reasons were that I felt it:
- Looked relatively clean;
- Matched the style of class and variable names in code;
- Would result in fairly standard tag slugs.
It wasn’t until I recently organized the English tags that I noticed a problem.
WordPress auto-generated slugs are not ideal
For example, when adding a new tag:
AIGeneratedImages
WordPress automatically generates the slug:
aigeneratedimages
Instead of what I expected:
ai-generated-images
Similarly:
WordPressOptimization
Generates:
wordpressoptimization
Readability is clearly much worse.
Although I can manually modify the slug, I would have to do it every time I add a new tag in the future, which means high maintenance costs.
Then I thought of a simpler approach
Since WordPress itself already supports automatic slug generation.
Why not just use normal English for the tag names?
For example:
AI Generated Images
WordPress automatically generates:
ai-generated-images
Another example:
Image Processing
Automatically generates:
image-processing
This perfectly conforms to URL naming conventions.
Finally decided to use Title Case
Therefore, I decided to uniformly adopt the following for all English tags from now on:
Title Case (capitalize the first letter of each word, keep spaces in between)
For example:
| Chinese | English |
|---|---|
| 图像处理 | Image Processing |
| AI 绘图 | AI Generated Images |
| 浏览器缓存 | Browser Cache |
| 透明背景 | Transparent Background |
| 网站设计 | Web Design |
| 用户体验 | User Experience |
| WordPress 优化 | WordPress Optimization |
This makes the reading experience in the backend more comfortable.
The slugs automatically generated by WordPress are also more natural.
For example:
Image Processing
↓
image-processing
Instead of:
ImageProcessing
↓
imageprocessing
Keep official names as they are
For official product names, just keep the official naming.
For example:
WordPress
ChatGPT Plus
Google AdSense
Google Analytics
Google Search Console
GitHub
Chrome
Firefox
Nginx
No longer changed to:
ChatGPTPlus
GoogleAnalytics
This also better matches the conventions used in official documentation and foreign websites.
Keep technical abbreviations as they are
Technical abbreviations continue to keep their official capitalization:
PHP
Go
AI
SEO
CSS
HTML
JSON
API
PNG
MySQL
Redis
Instead of:
Php
Json
Api
Png
Numeric versions follow official naming
For software with version numbers, likewise keep the official names:
For example:
Twenty Twenty-Five
Windows 11
Ubuntu 24.04
PHP 8.4
MySQL 8.0
However, for names that have already become common usage in the community, just keep them as they are.
For example:
Yii2
Vue3
Final conventions (v2.0)
After this adjustment, I decided to uniformly adopt the following conventions for the blog from now on.
Category
Use natural language naming.
For example:
WordPress
Linux
PHP
Go
AI 开发 & 工具
Series
Use the full series name.
For example:
WordPress 性能优化手记
博客商业模式探索
15 年后端开发的 AI 时代生存笔记
Tag
Chinese:
Use natural Chinese.
For example:
图像处理
浏览器缓存
透明背景
English:
Uniformly adopt:
Title Case (keep spaces)
For example:
Image Processing
Transparent Background
Browser Cache
WordPress Optimization
AI Generated Images
Slug
Leave it entirely to WordPress to generate automatically.
For example:
AI Generated Images
↓
ai-generated-images
No longer maintained manually.
In closing
Tags are just a very small part of a blog system.
But as the number of articles grows, a unified and standard naming convention can significantly reduce subsequent maintenance costs.
Especially for a bilingual Chinese and English blog, the earlier you establish unified conventions, the less hassle you’ll have later.
This adjustment may seem like simply changing English tags from Camel Case to spaced Title Case, but it actually means the entire blog content system has taken another step toward standardization.
