Nasze realizacje · 06.10.2026

Male Kroki: a Health Blog with an SEO Article Plugin

Male Kroki: a Health Blog with an SEO Article Plugin – project screenshot

A blog with hundreds of guides is easy to launch and hard to manage: topics have to be planned, texts checked for quality and publications spread over time. For the Małe Kroki website we prepared a theme and a custom WordPress plugin that organises this process, from the topic queue to saving a post with SEO metadata. The website is available at malekroki.com.pl, and in this case study we describe what was built and how it works.

In short: a blog about health and habits with content automation

  • Client: Małe Kroki, an advice website about health, habits and personal development
  • Industry: online publishing, content marketing
  • Scope: WordPress theme, an article generation plugin (queue, schedule, quality control, logs), SEO elements
  • Technologies: WordPress, PHP, WP-Cron, OpenAI API, fal.ai, Google Search Console (data import)
  • Website: malekroki.com.pl

The challenge: a large blog without chaos in the editorial team

An advice website gains from regularity and broad topic coverage. According to the Małe Kroki page, the site has 763 articles in 10 categories, and these are figures given by the site itself. At such a scale, running a publishing calendar by hand quickly stops being efficient.

What was needed was a tool that would accept a list of topics, generate a draft that follows the agreed structure, check it and save it in WordPress together with metadata. Safeguards were just as important: cost limits, protection against duplicate topics and logs showing what failed and why.

There is one more challenge, typical of content about health and habits: publishing without checks would be risky. That is why from the start we assumed that automation should speed up the editorial team’s work, not replace it. A draft should pass a formal check, and publication is decided by the plugin setting and a human.

How we worked

  • Analysis: establishing the category structure, article types and the rules a text must meet.
  • Design: a layout that is readable for long texts and a data model for the topic queue.
  • Implementation: a theme and plugin split into separate classes responsible for generation, the queue, the schedule and logs.
  • Testing: checking error paths, such as a model refusal, exceeded limits or a text that is too short.
  • Maintenance: fixes and extensions to the plugin in subsequent versions.

The solution: a theme and a plugin for automated SEO articles

The solution has two parts. The theme (version 2.0.0 in the code) is light, responsive and does not need a page builder. The Male Kroki AI Publisher plugin (version 1.3.1) manages the entire life cycle of an article. Below we describe only what is actually in the code.

For the editorial team it was also important that most behaviours can be adjusted in the settings, without changing code. Among other things, you can edit prompt templates (system, article, meta description, FAQ and title), the writing style, the target text length, the status of saved posts, the number of articles per day and the model used for generation. By default the plugin aims for long texts: a minimum of 2500 words, with a target of 3500.

Home page of the Małe Kroki website with topic categories and figures given by the site
Home page of malekroki.com.pl: a search box, the menu and tiles for ten topic categories.

Topic queue and import

Topics are stored in a dedicated database table together with a keyword, additional keywords, a category and a priority. They can be added manually or imported from a CSV file. Each topic has a status, and stuck tasks are detected and returned to the queue. The scheduler can also rotate categories so that the site does not publish about just one subject.

The life cycle of a topic is explicit: from pending, through processing and generated, to published or failed with a saved error message. This way the panel shows at once what is waiting to be generated and what needs attention. The number of attempts for a single topic is limited, so a problematic topic does not block the whole queue.

A schedule based on WP-Cron

Generation is triggered by WP-Cron at hourly, two-hourly or six-hourly intervals. The plugin enforces daily limits on the number of articles and token usage, and by default saves posts as drafts, which gives the editorial team a moment for review before publication.

Content generation and article types

The prompt engine supports several text types: standard, step-by-step instructions, a list, a comparison, a case study and a beginner’s guide. The type can be detected automatically from the topic. The OpenAI client handles errors and timeouts and retries with increasing delays. Optionally the plugin fetches context from online sources, and a mechanism protects against requests to local addresses (SSRF).

For optional source search, the plugin turns to Wikipedia and, if there are no results, to web search engines. Fetched content is trimmed to a reasonable length and blocked when it comes from the site’s own domain. The feature is off by default, so the publisher consciously decides whether to use it. There are also options to add a table of contents, an FAQ section and structured data to each article.

Excerpt of an article on the Małe Kroki blog with a table of contents and a highlighted quote
A sample post on malekroki.com.pl: a table of contents in the side column, section headings and a quote. The post also points to a sources section.

Quality control

The quality control class checks, among other things, the minimum number of words and paragraphs, at least five H2 headings, a numbered list with steps, a section on mistakes, the absence of H1 tags, model refusals and placeholders, as well as keyword density and the presence of additional keywords. An article that does not meet the requirements is generated again, with the reason for rejection included. It is a formal check: it does not replace substantive verification by a human.

Duplicate detection

The detector compares a new topic with the queue and with existing posts. Similarity is calculated using text methods with simplified stemming and a list of Polish stop words, so it catches variants that differ in Polish diacritics and letter case.

This matters because keyword cannibalisation is one of the most common problems of large blogs: two similar posts compete for the same query and weaken each other. The panel also includes a tool for checking cannibalisation of existing content.

Graphics, Google Search Console data and logs

Featured images can be generated via fal.ai (an optional feature, off by default). The plugin also imports an export from Google Search Console (CSV or ZIP) and points out queries for which it is worth strengthening an existing post or writing a new one. The panel includes a dashboard, settings, topics, generation and logs, and every step is recorded with context and a severity level.

The analysis of Google Search Console data rests on the assumption that queries in lower positions are an opportunity for improvement. The plugin groups similar queries, scores them by impressions and position, and can add selected opportunities to the topic queue as ready tasks with context for the prompt.

FAQ page of the Małe Kroki website with questions grouped into categories
The site’s FAQ page gathers questions from the articles and groups them by category.

SEO, GDPR and security

The SEO module adds meta descriptions, titles, Open Graph and Twitter Card tags, and Article, BreadcrumbList and FAQ structured data. The plugin can also append a sources section to older articles. The panel is available after logging in, and API keys are stored in WordPress options, not in the code. The site footer links to the privacy policy and the terms, and the terms include a disclaimer that the content is informational and is not medical, legal or financial advice. We did not verify the site’s compliance with GDPR (RODO).

The settings also include an optional local SEO mode with a list of Polish cities, off by default, and a test mode that pauses article generation.

Technologies

WordPress 6.0+, PHP 8.0+, WP-Cron, custom database tables, OpenAI API, fal.ai, Google Search Console data import and a custom theme without a page builder.

The result

The editorial team gets one place to plan topics, control costs and assess generated drafts. The site is publicly available, with an extensive category structure and an FAQ section. We do not give traffic or Google ranking results because we did not measure them. The value of this project is an orderly publishing process, not a promise of profit from automation.

The code also contains housekeeping tools, useful for longer-term maintenance of the site: a one-off migration of category names and addresses, filling in sources sections in older posts, and repair of structured data and tags. The theme has ready-made page templates: about us, contact, FAQ, privacy policy and terms, as well as optional WooCommerce support, which the site does not have to use.

In practice this means a publisher can plan a series of topics, set a daily budget and return to the panel to review logs and drafts. Publication details, such as the post saving mode, text length or additional features that are switched on, depend on the settings chosen by the site owner, and we do not know their current configuration.

Who this solution is for

  • publishers of blogs and advice portals with a large number of topics,
  • teams that want to control the cost and quality of generated drafts,
  • companies running content marketing with a publishing queue,
  • websites that start from Google Search Console data.

Remember that for topics concerning health or finance, review by a human is essential.

Frequently asked questions

Are the articles on the Małe Kroki website written by artificial intelligence?

The content is created in the plugin, which uses the OpenAI API, and the plugin includes quality control and saves drafts by default. The site’s terms state that the content is informational and is not medical, legal or financial advice.

How do the topic queue and publishing schedule work?

Topics go into a queue in the database, with a priority, keyword and category. A schedule based on WP-Cron triggers generation every hour, every 2 hours or every 6 hours and respects daily limits on articles and tokens.

What does the article quality control check?

The plugin verifies, among other things, the minimum length, the structure of H2 headings, the presence of a step list and a mistakes section, the absence of model refusals and placeholders, and keyword density. An article that fails the check is generated again or rejected.

Does the plugin prevent duplicate topics?

Yes. The duplicate detector compares a new topic with the queue and with existing posts, using text similarity that takes Polish characters and word inflection into account.

Can such a solution be built for another blog?

Yes, provided the scope, subject matter and quality rules are agreed with the publisher. Content about health or finance requires particular caution and verification by a human.

AI content automation in WordPress: lessons for a blog owner

A large blog gains from regularity, but without a topic queue, cost limits and quality control, chaos comes easily. Małe Kroki shows that a plugin can organise the process while leaving the decision to a human: posts go in as drafts by default, and quality control is only formal. For content about health or finance, a substantive review remains necessary. It is also worth watching for keyword cannibalisation, that is, when two similar posts compete for the same query, and making use of Google Search Console data.

Such solutions are made to measure, because the quality rules and subject matter depend on the publisher. We write more about when a plugin makes sense in the article on custom WordPress plugins, and about data analysis in SEO in the text on data-driven website positioning. Another example of combining AI with a blog is the Uczciwy Remont service.

Thinking about automation? Check your website’s AI readiness, read about our services or write to us.

Need a similar solution?

See our services and other projects, and if you are planning your own content site or a WordPress plugin, write to us. You will find an example in action at Małe Kroki: guides to healthy habits.

← Wszystkie wpisy
Jarek