WordPress Open Graph Setup

Job ID: 39903301

Budget: $30 – $250 USD

I need my WordPress site to share the **correct custom post images** via Open Graph on **Facebook, X (Twitter), Instagram (via Facebook/OG), and LinkedIn**.
Theme/template: **JNews**.
Please configure and test so each post/page (including custom post types) outputs a single, valid `og:image` (and `twitter:card`) with proper fallbacks.

# Environment (keynews.sr)

* **Site URL:** [https://keynews.sr](https://keynews.sr)
* **WordPress Address (URL):** [https://keynews.sr/site](https://keynews.sr/site)
* **Theme:** JNews (multiple JNews companion plugins active)
* **PHP:** 8.x
* **Media domain:** [https://media.keynews.sr/](https://media.keynews.sr/) (images may be served from subdomain)
* **CDN/Cache:** Cloudflare (and host/page cache as applicable)

# Current issue

Social networks sometimes show **no image or the wrong image**. We want one authoritative Open Graph/Twitter Card source, no duplicates, and consistent previews for posts and pages.

# What to deliver

1. **Choose ONE OG source** (e.g., OpenGraph.xyz *or* Rank Math social tags *or* JNews Meta Header) and **disable all other OG/meta outputs** to prevent duplicates.
2. Ensure **`og:image`** uses the **intended custom/featured image** at **1200×630 (min 600×315)** with an **absolute HTTPS URL** (also handle webp/jpg variations).
3. Set **site-wide default image** for posts without a featured image.
4. Configure **Twitter Cards** (`summary_large_image`) and map to the same image.
5. Verify **custom post types** used by Key News also output OG tags correctly.
6. Respect the media subdomain and any CDN-rewrite so the **same URL** appears in the tags (no mixed domains).
7. Purge caches and **validate** with:

* Facebook Sharing Debugger (scrape latest)
* X/Twitter Card Validator
* LinkedIn Post Inspector
8. Provide a short note on **what was changed** and where to manage settings in the future.

# Likely conflict sources (from our plugin list)

These can add or modify Open Graph/Twitter meta or social images. Only one of these should output OG tags:

* **OpenGraph.xyz** (primary OG generator if we keep it)
* **Rank Math SEO** and **Rank Math SEO PRO** (has Social Meta module → OG & Twitter Cards)
* **JNews – Meta Header** (adds Facebook share / Twitter Card)
* **Jetpack Social** (can inject OG tags / social image; turn this off if another tool handles OG)
* **MightyShare** (social images / OG; if still installed or partially active, disable OG output)

Other plugins that **don’t create OG tags** but can indirectly affect previews (caching/minify/CDN/image):

* **Perfmatters**, **Speculative Loading**, host/page cache, and **Cloudflare** (ensure HTML head isn’t stripped/combined in a way that hides meta; purge after changes)
* **ShortPixel** (image formats/URLs; ensure the `og:image` URL resolves publicly)
* **Site Kit by Google** (generally does **not** add OG tags, but confirm no overlapping meta)

# Acceptance criteria

* View source shows **exactly one set** of `og:*` and `twitter:*` tags per page.
* `og:image` and `twitter:image` resolve to a **200 OK** image URL, ≥1200×630, **<5 MB**.
* Facebook/X/LinkedIn inspectors show the **correct image, title, and description** for:

* One recent post with a featured image
* One post without a featured image (uses default)
* One custom post type item
* Clear notes on which plugin now owns OG output and where to set defaults.

# Nice to have

* Auto-fallback to the first image in content if no featured image.
* Strip query strings from `og:image` if a CDN adds them and they break inspectors.
* Ensure canonical URLs are correct (no `/site` vs root mismatch).

If you want, I can also provide a quick toggle plan (who to disable/enable) based on which tool you prefer to own OG tags.