Contents
- The 73% figure that caused a morning panic
- Breaking down the 1,197 posts: newsroom content vs. personal articles
- The real culprit: a post_author = 0 error in the database
- Polylang translation and the domino effect on the admin account
- Safe fix process: dump rollback before touching a single SQL line
- The lesson: don’t trust aggregate numbers before checking each group
In a recent E-E-A-T standards review meeting, I alarmed the entire team by presenting a startling figure: 73.4% of the articles on marketing365.vn (1,197 out of a total of 1,629 articles) were signed with the wrong author and needed urgent correction before submitting the Google AdSense review application.
But when I opened the database dashboard to query the specific command lines one by one, the truth turned out to be completely different: that 73% figure was a hasty conclusion caused by combining data incorrectly, and the actual number of articles with author errors was only 110.
The 73% figure that caused a morning panic
My initial mistake came from looking only at surface-level data: I counted the total number of posts carrying the account name mna_editorial (Editorial Team) and found the figure had reached 1,197 posts. In my mind at the time, I assumed: “Google requires individual expertise (E-E-A-T), so if a generic account is credited on 3/4 of the website, it will surely be judged as anonymous or low-quality automated content”.
Based on that assumption, I almost launched a complex plan to intervene in dozens of n8n workflows in order to distribute those 1,197 posts evenly between two individual editors.
Breaking down the 1,197 posts: newsroom content vs. personal articles
Fortunately, before making any changes to the system, I sat down and reclassified the 1,197 posts by their actual operational categories:
- 1,091 daily news briefs: Including the Digital Trends (896 posts), AI Developments (101 posts), and AI Watch (94 posts) sections. These are short news updates compiled from international news sources. Crediting them collectively to Editorial Team is completely accurate, honest, and consistent with the public editorial policy on the Team page. Forcing an individual name onto thousands of news briefs would be the real act of author impersonation.
- Only 110 in-depth expert articles: These belong to technical guides and practical tool analysis sections — articles that require hands-on experience and an expert perspective — and were the ones whose author identity had been lost.

The real culprit: a post_author = 0 error in the database
When I dug deeper into the 110 affected in-depth articles, I found the underlying technical reason they were displayed incorrectly:
- 55 Vietnamese articles in the AI Guides (38 posts) and AI & Marketing Tools (17 posts) categories had a
post_author = 0value in thewp_poststable. In other words, they did not point to any user account that actually existed in the system. - The cause was not n8n (because the WordPress API always requires user authentication), but rather older CLI script commands
wp post createthat had been run without the--post_author=<id>parameter. When that parameter is missing, WordPress defaults to writing the value 0 into the database.
Polylang translation and the domino effect on the admin account
The interesting question was why exactly 110 posts appeared. When I cross-checked the multilingual mapping table of the Polylang plugin (post_translations), I discovered a chain reaction:
Whenever a Vietnamese post was automatically translated into English, the Polylang plugin tried to copy the author ID from the original post. But because the original post had post_author = 0 (invalid), the automated translation system fell back and assigned the English translation to the highest-level admin account: mna_admin (User ID 1).
This domino effect turned 55 original posts with author 0 into 55 English translations credited to Admin, creating exactly a set of 110 posts that needed standardization.

Safe fix process: dump rollback before touching a single SQL line
Touching the database of a live website always carries risk. I carried out the standardization process in 3 steps with safety locks in place:
# 1. Export a backup rollback file for exactly 110 posts
mysqldump ... --where="ID IN (110_POST_IDS)" > mna_posts_author.bak.sql
# 2. Update the author precisely according to subject expertise
UPDATE wp_posts SET post_author = 4 WHERE ID IN (76_HUONG_DAN_AI_IDS);
UPDATE wp_posts SET post_author = 3 WHERE ID IN (34_CONG_CU_AI_IDS);
# 3. Clear object cache and page cache
wp cache flush
After execution, 76 AI Guide posts (VI + EN) were assigned to the correct editor Nguyễn Ngân (User ID 4); 34 AI Tools posts were assigned to editor Nguyễn Nhật Ánh Dương (User ID 3). The number of posts with post_author = 0 across the entire system officially returned to an absolute 0.
The lesson: don’t trust aggregate numbers before checking each group
The takeaway from this review is very clear:
- Don’t let percentages mislead you: A 73% rate sounds serious, but if you don’t understand the operational context behind it (short news posts vs. deep research articles), you can waste a lot of resources solving a problem that doesn’t actually exist.
- Check from the database source: Any judgment about automation system errors must be verified with real SQL queries rather than by looking only at the front-end interface.
Just like turning on cache but the site is still slow because of a folder permission error or the story of 11 days of fixing the wrong thing because of a misleading label: honest measurement and the willingness to admit initially misreported data are what truly create a trustworthy real-world Experience.



