We need to produce JSON with three keys: summary, category, article_html. The article_html must be full article in HTML, including exactly one H1 at start with primary keyword. The primary keyword likely "best books to read as a psychology student" or "best books for psychology students". H1 should include that keyword. We'll need H2 for 5-7 main sections. Let's plan 6 sections: 1) Foundational Textbooks, 2) Classic Readings, 3) Contemporary Research, 4) Practical Applications, 5) Supplementary Materials, 6) Study Tips & Resources. Each H2. Within each, use H3 for subsections maybe book titles or categories.
Each section should have 2-3 p tags, each 100-150 words. That's a lot: 2-3 * 100-150 = 200-450 words per section. 6 sections => about 1200-2700 words. Minimum 1500 words. Might hit around 1700-2000. We need to carefully craft to fit. Each p about 120 words. 2 p per section => 240 words per section. 6 sections => 1440 words. We need 1500 words. So maybe 3 p per section for some sections. Let's plan 3 p per section for all 6 => 1800 words. Each p 120 words => 360 words per section. 6 sections => 2160 words. Good.
We also need UL/OL lists (5-10 items) maybe for each section listing books. Use strong for key terms. End with 3-5 FAQ questions as H3. So after sections, maybe add H3 for FAQ. Each H3 as question. Provide answer maybe 1 paragraph? Not specified but likely include answer. Provide 4 FAQ. Each answer maybe a paragraph.
Also include specific book recommendations, authors, key takeaways.
Make sure no markdown or code fences; just JSON string. Ensure valid JSON: keys string values. The article_html string must be properly escaped. Must not include unescaped newlines? JSON string can have newlines but need to escape them? In JSON, newlines can be actual newline characters? Typically you need to escape them or include \n. We'll use \n to keep readability but still valid. We'll produce article_html with \n for newlines. Ensure quotes inside HTML are escaped. We'll use double quotes for attributes but need to escape them inside JSON string. We may use single quotes inside HTML attributes? In HTML, attribute values use double quotes. That will conflict with JSON string; need to escape them as \". So we need to escape all double quotes inside the string. That's heavy. Alternatively use single quotes for attributes in HTML to avoid escaping. But HTML attributes usually double quotes; but using single quotes is allowed? Yes, single quotes are accepted. So we can write etc. Then no need to escape. Also class names etc can use single quotes. So we can avoid escaping double quotes.
Also we need to ensure no stray double quotes inside HTML.
Let's craft article.
Summary: 2-3 sentence SEO meta description 150-160 chars.
We need to count characters. Let's craft: "Discover the top books every psychology student should read—from foundational theory to cutting‑edge research. Boost your knowledge, sharpen your critical thinking, and stay ahead in your studies." Count: Let's count:
"Discover the top books every psychology student should read—from foundational theory to cutting‑edge research. Boost your knowledge, sharpen your critical thinking, and stay ahead in your studies."
Count characters: Let's approximate. "Discover" (8) + space 1 =9. "the"(3)=12+1=13. "top"(3)=16+1=17. "books"(5)=22+1=23. "every"(5)=28+1=29. "psychology"(10)=39+1=40. "student"(7)=47+1=48. "should"(6)=54+1=55. "read—"(5?) Actually "read—" 4 letters + em dash? Let's approximate 5. 55+5=60+1=61. "foundational"(12)=73+1=74. "theory"(6)=80+1=81. "to"(2)=83+1=84. "cutting‑edge"(11?) 11 + 1 space = 96? It's messy.
Better to just produce a summary maybe 150 chars. Let's produce summary: "Top psychology books for students: foundational texts, classics, modern research, and practical guides to sharpen critical thinking and academic success."
Count: Let's count: "Top"3 + space1=4; "psychology"10=14+1=15; "books"5=20+1=21; "for"3=24+1=25; "students:"10=35+1=36; "foundational"12=48+1=49; "texts,"6=55+1=56; "classics,"8=64+1=65; "modern"6=71+1=72; "research,"9=81+1=82; "and"3=85+1=86; "practical"9=95+1=96; "guides"6=102+1=103; "to"2=105+1=106; "sharpen"7=113+1=114; "critical"8=122+1=123; "thinking"8=131+1=132; "and"3=135+1=136; "academic"8=144+1=145; "success."7=152. So 152 chars. Good.
Now article_html.
Let's craft H1:
generalas a studentUpdated 7/21/2026
Images
More in as a student
All Categories
about indian historyabout lifeafter breakupall timeas a beginneras a studentas a teenageras a teenager girlat least once in your lifetimeat the age of 18best sellersduring pregnancyeasyeasy englishfeel goodfor beginnersfor knowledgefor studentsfor teensin englishin hindiin lifeof all timeon how to get richon how to start a businessthe biblethe summerthese daysthis autumnthis christmasthis fallthis summer 2025this summer 2026this winterthis yeartoptop 10top 5with simple english