Translation, SEO, and Structured Data Follow the Same Rule

June 24, 2026 Lubinik Journal

At some point, Lubinik was no longer only about templates, shortcodes, and custom post types.

The invisible parts of a site started asking for structure too: translation, SEO metadata, and structured data.

Those features are easy to underestimate. A page can look finished, the design can work, the content model can feel clean, and then the site still needs translated fields, localized URLs, SEO titles, Open Graph images, sitemap rules, JSON-LD, taxonomy labels, and schema that understands the actual entities on the page.

I did not want those things to become another copy-paste zone.

Engine here, rules there

The support plugins follow the same rule: the plugin owns the engine, but the project layer owns the rules.

Lubinik Translation knows how to detect a language, store alternate values, switch fields, localize URLs, and render a language switcher. But an addon can declare which of its fields are translatable.

SEO Light knows how to render metadata, Open Graph tags, Twitter cards, overrides, and sitemaps. But a child theme can define site-specific defaults, and an addon can define domain-specific sitemap rules.

Structured Data knows how to discover schema config, call helpers, and output JSON-LD. But the Shelter addon knows what an animal is. The Freelance addon knows what a project is. The child theme knows who the site represents.

That pattern became one of the quiet foundations of Lubinik: reusable engines stay reusable because the rules live where the knowledge already exists.