Open Graph, jak ho WordPress měl mít.
Plná kontrola nad meta tagy pro dvanáct platforem. Jedno admin UI, per-post i per-archive override, živé preview, čisté převzetí od SEO pluginů.
Zdarma · GPL-2.0-or-later · PHP 8.1+ · WordPress 6.2+
- 218
- PHPUnit testů
- 0,047 ms
- Front-page render
- 12
- Platforem
- 7
- SEO plugin takeoverů
Jeden plugin, dvanáct platforem. Každá s vlastními pravidly.
12 podporovaných platforem z krabice
Vyzkoušejte si to
Změňte titulek, popisek nebo obrázek vlevo a sledujte, jak se náhled mění napříč šesti nejčastějšími platformami.
Co to dělá
Každý SEO plugin (Yoast, Rank Math, AIOSEO) umí Open Graph „nějak“. Jenže všechny to dělají jako vedlejší funkci — jeden globální Facebook & Twitter blok, žádné preview, žádná per-platformní logika. Open Graph Control je opačný přístup. OG je hlavní produkt a zbytek se mu přizpůsobuje.
Dvanáct platforem má svoje pravidla. Pinterest chce vertikální obrázek, iMessage square, LinkedIn delší popis, WhatsApp menší velikost souboru. Plugin to ví a hlídá — každý příspěvek může jednotlivou platformu přepsat, s inline warningy v reálném čase.
Hlavní funkce
React admin UI · 11 sekcí
Top-level menu, žádné filtr-only API. Overview, Site defaults, Platforms, Post types, Archive overrides, Images, Fallback chains, Integrations, Security, Debug, Import/Export.
Per-post + per-archive override
Každý příspěvek, kategorie, tag, taxonomie i autor mají svůj OG title / description / image — s live preview pro všech 12 platforem.
SEO plugin takeover
Detekce a čisté převzetí OG výstupu od 7 SEO balíčků (Yoast, Rank Math, AIOSEO, SEOPress, Jetpack, TSF, Slim SEO). Žádné duplicitní tagy.
Pinterest Rich Pins
Article / Product / Recipe JSON-LD built-in. Payload chráněn JSON_HEX_TAG proti stored XSS breakoutu.
Per-platform image sizes
Auto-resize do tří velikostí (landscape 1200×630, square 600×600, Pinterest 1000×1500). Bulk regeneration pro existující attachmenty.
Length & image validation
Každá platforma má vlastní limity. Plugin je zná a inline warning dá hned, ne až při sharingu.
Output cache · sub-ms render
Transient-based cache se smart invalidation přes save_post / update_option / term_meta / user_meta. Front-page 0,047 ms, single post 0,396 ms (mean, 500 iterací).
WP-CLI tooling
wp ogc tags / validate / regenerate / bench. Všechno auditovatelné z terminálu, žádný admin click-through pro ops úlohy.
Kde to funguje
Každá platforma má vlastní Platform třídu, která ví, co dělá, a vrací správné tagy. Seznam není zmrzlý — registry je filter-based, nové platformy jde doplnit bez forku.
Jak to funguje
Nainstalujte plugin
Přes WordPress admin (až bude schválený) nebo ručně ze ZIPu. Plugin detekuje stávající SEO balíček a nabídne čisté převzetí.
Nastavte globální defaulty
Obrázek, výchozí typ obsahu, Twitter handle, Facebook app ID. Vše v jednom React admin UI, bez lezení do filtrů.
Sdílejte. Vše sedí.
Každý příspěvek dostane správné meta tagy pro každou platformu. Per-post override jde jedním kliknutím, když to potřebujete vyladit.
Bezpečnost a testování
Plugin poběží na desetitisících webů a má přístup k admin kontextu. Bezpečnost není extra feature, ale vstupní podmínka. Tady je, čím kód prochází, než se dostane k vám.
Statická analýza — PHPStan level 8
Nejpřísnější úroveň typové analýzy v PHP. Žádné mixed typy, žádné implicitní konverze, žádné tiché chyby. Linter běží jako součást CI při každém commitu.
218 PHPUnit + 30 Playwright testů
218 PHPUnit testů (429 assertions) + 18 Playwright fixture + 12 WP E2E. Kritické cesty (resolvers, takeover, archive overrides, JSON-LD escaping) na 90+ %. Nová verze se nezveřejní, pokud neprojde celá sada.
Sanitizace a escape na vstupu i výstupu
Každý user input prochází sanitize_text_field / wp_kses / esc_* podle kontextu. Žádný raw echo, žádné concat do HTML. Plugin splňuje WordPress Coding Standards v strict módu.
Nonces, capabilities, autorizace
Všechny admin akce chrání wp_verify_nonce(). Před destruktivní operací vždy current_user_can() s jemnou capability (manage_options / edit_posts). Žádná logika „když nevidíš UI, nejsi tam“.
Prepared SQL
Každý dotaz do DB jde přes $wpdb->prepare() nebo ORM. Žádné string concat. Plugin prošel SQL injection review na všech REST endpointech i admin formech.
Plugin Check + axe-core a11y
Oficiální plugin-check-action od WordPress.org běží na každý push proti built zipu. @axe-core/playwright skenuje admin shell, Security panel, Archive overrides a term edit screen — zero violations (WCAG 2 AA).
Časté otázky
Bude plugin zdarma?
Ano. Open Graph Control je licencován pod GPL-2.0-or-later a cílí na WordPress Plugin Directory jako zcela zdarma plugin. Žádný paywall, žádná pro verze, žádné feature-gating.
Funguje s mým SEO pluginem?
Ano, konkrétně s Yoast SEO, Rank Math, All in One SEO, SEOPress, Jetpack, The SEO Framework a Slim SEO. Plugin detekuje jejich OG výstup a čistě ho převezme — na stránce tak nevznikají duplicitní meta tagy.
Co když chci jiné tagy pro jednu platformu?
Každý příspěvek má per-post meta box s per-platform override. Můžete mít jiný title pro LinkedIn (delší, pro B2B publikum) a kratší pro X. Plugin validuje délky a velikost obrázku v reálném čase.
Umí to Pinterest Rich Pins?
Ano, JSON-LD pro Article, Product i Recipe. Plugin generuje správný schema.org kód na základě typu obsahu a per-post override.
Jak je to s obrázky?
Plugin při instalaci automaticky zaregistruje 3 velikosti obrázků: landscape 1200×630 (Facebook/Twitter/LinkedIn), square 600×600 (iMessage) a vertical 1000×1500 (Pinterest). WordPress je sám generuje z featured image.
Kdy to bude na WP.org?
Plugin je v0.4.1 feature-complete. Před submissionem ještě publikuji GitHub Security Advisory pro stored-XSS fix z v0.2.1 a dodělám PNG bannery/ikony pro wp.org adresář. Pak submit. Mezitím je v0.4.1 zip ke stažení z GitHub releases — obsahuje jak dynamic OG card generation (v0.4.0), tak ACF + JetEngine field sources (v0.4.1).
Jak je to s výkonem a daty?
Plugin nevolá žádné externí API, neposílá telemetrii, nic „nephone-home“. Render je sub-millisecond — front-page 0,047 ms, single post 0,396 ms (mean z 500 iterací přes wp ogc bench). Output cache snižuje cached kontexty na jeden get_transient read.
Changelog a plán
- v0.4.1Duben 2026 · aktuální · Dynamic OG cards + Dynamic field sources
- NEW (v0.4.1): Dynamic field sources — mapování ACF + JetEngine custom fields do OG title / description chainu per post type
- NEW (v0.4.1): Settings → Field sources tab s detection badges a per-post-type dropdowny
- NEW (v0.4.1): Filters ogc_resolve_title_step + ogc_resolve_description_step pro externí per-step rozšíření title/description resolverů
- NEW (v0.4.0): Dynamic OG card generation — server-side render 1200×630 PNG karty pro posty, archivy a autory bez vlastní OG image (~80 % blogů)
- NEW (v0.4.0): Card template editor se živým preview (debounced 300 ms), customizable pozadím (gradient/solid/image), logem, barvou textu
- NEW (v0.4.0): Per-post + per-archive status badge v meta boxu a ArchiveEditoru
- NEW (v0.4.0): 5 REST endpointů pod /og-card/* + 4 WP-CLI subcommands (wp ogc cards generate/regenerate/status/purge)
- NEW (v0.4.0): Filter ogc_card_should_generate + action ogc_card_generated + per-step filter ogc_resolve_image_step
- NEW (v0.4.0): BackfillCron (daily 5-postů sweep) + GcCron (stale version cleanup, 7-day grace) — render-on-save v shutdown hooku, nikdy neblokuje editor
- Bundled Inter font (SIL OFL), cold-start fallback přes transient lock
- Carry over z v0.3: 12 platforem, per-archive overrides, SEO takeover pro 7 pluginů, Pinterest Rich Pins, output cache, 3 auto-generated image sizes
- 359 PHPUnit (656 assertions) + golden cards image-diff CI + PHPStan level 9
- ImagickRenderer stub připravený, plná implementace v v0.5 (GD je default a funguje na 99 % WP hostingů)
- v1.0+Plánováno · Větší kroky
- Multisite support (network-wide settings + per-site overrides)
- WordPress block pro embed OG preview card přímo v post contentu
- Analytics: CTR z Facebook/Twitter proti OG variantám
- Multi-template presety, square (600×600) + Pinterest (1000×1500) auto-render
- v2.0+Plánováno · Komunita & ekosystém
- Federovaný sharing přes ActivityPub (Mastodon-native bez external services)
- AI-asistovaný alt text a meta description pro obsah bez nich (opt-in, lokální model)
- Ekosystémové integrace: Gravity Forms, WooCommerce product variants, Events Calendar
- Public plugin API pro komunitu — stabilní namespace, dokumentace, extension template
- v3.0+Plánováno · Výzkum & experimenty
- A/B testing framework pro OG varianty — sledování performance různých title/image kombinací
- Schema.org beyond Rich Pins — full structured data suite (Event, Review, HowTo)
- Headless CMS integrace — GraphQL schema pro OG payload read/write bez admin UI
Technické požadavky
- PHP 8.1 nebo novější
- WordPress 6.2 nebo novější
- Licence: GPL-2.0-or-later
- Namespace:
EvzenLeonenko\OpenGraphControl - Plugin slug:
open-graph-control
Vyzkoušejte Open Graph Control dřív, než přistane na WP.org.
Stáhněte si v0.4.1 zip přímo z GitHub releases — obsahuje dynamic OG card generation (v0.4.0) a ACF + JetEngine field sources (v0.4.1). Submit na wordpress.org plánuju během pár týdnů — jakmile publikuju GHSA a dodělám PNG bannery/ikony pro wp.org adresář.
Zdarma navždy · GPL-2.0-or-later · open-source · 0 telemetrie
