Auto-filling a blog from external sources on 1C-Bitrix

A blog without regular posts loses rankings, and manual content filling eats up hours of team time. We set up turnkey automated blog filling on 1C-Bitrix: from a source map to filtering rules and material delivery. The publication flow is stable, and the editor only proofreads.

Our competencies:

Frequently Asked Questions

Why blog auto-filling breaks down: pipeline bottlenecks

Blog auto-filling breaks down not at layout but at the input. The source delivers materials in different structures, changes field names, returns an empty response when the request limit is exhausted, or silently returns stale output from cache.

A data source failure goes unnoticed: the job formally completed without error, but there are no new records. The failure is revealed weeks later — by a gap in publication dates and traffic settling on old materials.

Record deduplication is usually not built in from the start. Material arrives again with a rewritten title or truncated teaser, and the title-based check lets it through.

The blog fills with twins, they compete with each other in search, and the sitemap swells with duplicate pages.

A more robust scheme is one where a record is tied to an external source identifier, and the body is additionally verified by checksum: re-insertion is cut off before page creation, not after.

The third bottleneck is manual publication of materials. If the pipeline still has a step “editor reviewed and clicked publish,” the flow stalls exactly there: edits pile up, priority goes to urgent tasks, and ready materials sit in drafts for months.

Worse, manual insertion loses links to sections and tags — the record remains without attachment to the blog structure, falls out of internal linking, and does not get into related collections.

Each of these failures is fixed separately and without major effort — if you understand where exactly the chain breaks. Below we break down how this is closed: from source output control to automatic assignment of sections.

What effect a regular flow of publications gives

A regular flow of publications changes not the presence of a blog but the mode of working with it.

Material enters a section on schedule, not on a leftover basis, so the editor stops being a bottleneck: manual work remains moderation and headline editing, while import, markup, and section assignment are handled by automation rules.

The speed of material release is measured no longer in days for approval but in the interval between source appearance and publication. The record goes through normalization, duplicate check, and enters the queue — the time from appearance to publication shrinks to minutes.

The share of manual operations falls so much that one editor manages several sections without losing quality control.

The “empty section” class of failures is closed separately: the blog does not fall into silence due to editor workload or source-side failure.

The queue stores accumulated materials, so when an external source is unavailable, publications continue from stock, and the source reconnects back without manual intervention.

Resilience rests on the buffer and retries: an unavailable source does not break the feed or leave gaps in dates. The scheduler returns to it later, repeats are cut off by record identifier, and already published remains untouched.

Blog auto-filling methods: comparison and limitations

Each mode solves one task — turn an external flow of materials into published blog records. The difference shows on failures: when the source changes markup, returns duplicates, or delays an update. Therefore you choose not by ease of launch but by predictability under these conditions.

Option When it fits Limitations
Feed import Source provides a ready feed of teasers: partner site, industry digest, branch showcase Often without full text — only headline and link; feed must update on schedule
Parsing source pages No single format; only an open catalog or blog page Sensitive to layout changes, requires duplicate checks and confirmation of rights to transfer text
Import module with download queue Materials come from an accounting system or from several sources at once Entity mapping and access control required; some fields are filled manually
Delayed publication Release schedule and editor input control are important Depends on correct dates; need to handle stuck records from the queue

In practice modes are combined: feed import or page parsing supplies drafts, the import module manages the queue and cuts repeats by external identifier, and delayed publication sets material for the desired date.

If the feed provides only a teaser, the full text still comes via page parsing or directly from the accounting system.

The common boundary for all options is one: automation does not check whether the source format changed and whether there are rights to transfer text.

These points remain on our side — we close them with parsing rules and an import log, so a source failure does not turn into garbage in the blog feed.

Implementation order: from source audit to handover

Before the first blog record, work goes not in the site admin panel but on the source side. The order of stages is fixed: if you skip the audit and immediately set up import, filtering rules are written at random, and the editorial team cleans drafts manually for months.

  1. Source audit. We analyze feed markup, update frequency, and completeness of fields — teaser, image, author, publication date.
  2. Import schema design. We map source fields to blog section fields and decide in advance what to do with missing values.
  3. Filtering rules. Stop words, duplicate cutting by title, minimum text length, category selection — irrelevant material does not reach drafts.
  4. Setup and first run. Update schedule, encodings, image transfer, distribution of records across sections and tags.
  5. Checking output completeness on a real flow. We compare the number of materials with the source, selectively review records manually, and look at what settles in drafts and why.
  6. Failure procedure. Unavailable source, changed markup, duplicate received: run log, editor notification, re-run without loss of already loaded data.
  7. Handover and editorial training. Documentation, adding a new source, unpublishing material, editing filtering rules without a developer.

After handover, the blog is filled on schedule without engineers, and the editorial team manages selection itself — via the same filtering rules configured during implementation.

Import settings, filtering rules, and source map

Import settings are not “checkboxes in the panel” but a documented contour that lives separately from us.

We hand it over as a working configuration plus a text description: what is taken and from where, by what criterion it goes further, who and at what step can stop publication.

Below is the minimum set, without which blog auto-filling degrades into a dump of drafts in the first month.

  • Source map. Table “source address — content type — polling frequency — responsible person on the customer side.” It lets you understand in a minute which feed we trust and what to disable if quality drops.
  • Working import settings. Profiles with schedule, breakdown by sections, mapping of source fields and information block properties, behavior on re-upload — update existing or skip.
  • Filtering rules. Selection conditions: keywords and stop words, minimum text length, mandatory image presence, cutting duplicates by title and record body hash.
  • Routing matrix. What goes to publication immediately, what goes to moderation, what is put into a delayed archive. The decision is made by source and material type, not manually for each record.
  • Moderation procedure. Who checks, within what timeframe, what they do with the material: edit, reject with a comment, re-queue. We also fix the rejection criterion so decisions do not diverge among different editors.
  • Failure action procedure. Order: where to view the log of recent runs, how to restart the task only for the failed source, at what point to disable import entirely so as not to flood garbage.
  • Instructions for the editorial team. Step-by-step document for a non-technical employee: add a source, change a stop word, unpublish material, request support.

We check each item on a live run: create a test source, run the full cycle from fetch to publication, and see whether system behavior matched the description in the procedure.

Case study: manual publication vs. streaming import of materials

How it was

An editorial team of three ran a thematic section manually: material from an external source was copied into the visual editor, markup was cleaned, attachment to catalog sections, tags, and URL path were set manually.

One publication took 40 to 60 minutes, and the share of manual operations in preparation stayed around 100%. The schedule was met only if no one went on vacation or got sick.

What changed

We described rules for mapping source fields to information block properties and built an import layer on 1C-Bitrix: the agent fetches the feed on schedule, brings markup to a unified form, arranges elements into the required sections, and sets list property values using a synonym dictionary.

Disputed materials are not published immediately but go into a separate queue for review — the editor confirms or edits, and only after that the element becomes active.

Result

The share of manual operations dropped to about 15% — that is review and handling exceptions.

Time from material appearance in the source to publication decreased from one-two days to 25–40 minutes, and missed slots in the section schedule disappeared: if the editor is unavailable, the flow still meets the plan.

Editorial workload shifted from typing to quality control — the same three people continue to run the section without involving freelance authors.

How does feed import differ from direct page parsing?

The choice of mode is determined by who owns the data structure. Feed import: the source provides a machine-readable feed where fields, identifiers, and publication time are already marked up — it remains to arrange them by information block properties. With direct page parsing, we restore structure ourselves, from markup that no one guarantees.

Feed import gives predictability: selection goes by record identifier, re-import updates the existing element rather than creating a second one.

This is the key difference from page parsing, where the same material easily gets into the database twice when the address or title changes. The feed limitation is that it contains only what the publisher put in: often a teaser without full text and images.

Direct page parsing wins on completeness: it takes the body of the material, galleries, tables, captions, authors.

The trade-off is fragility: markup is changed without warning, so instead of silent publication of truncated text, structure control is needed that stops import and raises an alert.

In practice modes are combined. The feed works as the main contour — list of materials, identifiers, publication time, change flag. Direct parsing connects selectively, via a link from the feed, to enrich the card.

Deduplication goes by canonical address and text hash: re-import does not multiply duplicate materials even when the address changes.

In 1C-Bitrix both modes come down to the same rules: mapping fields to information block properties, quarantine for records that failed the check, delayed publication. The choice of mode becomes a setting per source, not a one-time decision.

Technical doubts about import setup and answers to them

Before launching auto-filling, the same set of doubts arises: will materials duplicate, what will get into the feed, and how will import behave on source failure. We answer substantively — at the level of information block structure, queue, and background tasks.

Some of these questions are closed at the design stage: deduplication rules, filters, and statuses are described before the first material goes to publication.

Will there be duplicate publications?

No. Each record is linked to a stable source identifier and text checksum: re-upload updates the existing card rather than creating a second, while manual editor edits are preserved.

How is garbage filtered out and what are the requirements for materials?

Import puts everything into drafts — publication only after confirmation or by filter rules: categories, exclusion words, minimum text length.

Material without a title, body text, or image of the required format does not pass into the feed; foreign markup is cleaned before saving.

What happens if the source is unavailable or responds with an error?

The background task repeats the request with an increasing pause, fetches the output in portions, and logs the failure. The unfinished portion is not published — the next attempt continues from the stopping point, and no duplicates occur.

Can a publication schedule be set?

Yes. Material is tied to an activity date: import fills the queue, and the blog releases texts on your schedule — for example, two or three on weekdays in the morning. A daily limit protects the feed from an avalanche of publications.

Let's discuss the task and come back with an implementation plan

For the review to be substantive, it is enough to send inputs on the contour: what fills the blog now and where materials should come from when auto-filling the blog from external sources.

We look at sources, assess volume, and come back with an implementation plan — with control points at each stage.

  • site address and test contour: we will deploy a copy to test import without affecting the production blog;
  • list of external sources — feeds, supplier interfaces, exports from the accounting system, XML or CSV files;
  • selection rules: categories, topics, publication frequency, and priority of sources relative to each other;
  • 3-5 samples of finished articles — we will use them to configure output templates, headline structure, and markup;
  • moderation requirements: who approves drafts, whether auto-publication and editor notifications are needed;
  • access with limited rights — to the 1C-Bitrix admin panel, file exchange, repository, and source interfaces.

In response you get a map of the import contour: a diagram of connections between source, handler, and blog, analysis of formats, a field mapping table, and a staged plan with checkpoints.

A separate block is the handover procedure for settings — what and in what form goes to your team so edits can be made without us.

Describe the task — we will come back with an estimate and implementation plan showing the sequence of work, stage timelines, and the result at each step.