-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Initial Implementation of Open Graph (OG) Plugin #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
… in the category.
…e modular using the OGinterface
…025/seo-improvements
plugins/system/opengraph/language/en-GB/plg_system_opengraph.ini
Outdated
Show resolved
Hide resolved
plugins/system/opengraph/language/en-GB/plg_system_opengraph.sys.ini
Outdated
Show resolved
Hide resolved
administrator/components/com_content/src/Extension/ContentComponent.php
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces the System – OpenGraph Plugin for Joomla, enabling automatic generation of Open Graph and Twitter Card metadata for improved social media sharing. The plugin implements a hierarchical override system with global defaults, category-level mappings, article overrides, and menu item overrides taking the highest priority.
- Hierarchical metadata system supporting global defaults, category mappings, article forms, and menu overrides
- Admin UI integration with dedicated OpenGraph tabs for articles, categories, and menu items
- Developer integration interface allowing custom fields to be made available for OpenGraph mapping
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/system/opengraph/src/Extension/opengraph.php | Main plugin class implementing metadata generation and form integration |
| plugins/system/opengraph/src/Field/OpengraphField.php | Custom field type for selecting mappable fields in admin forms |
| plugins/system/opengraph/src/forms/ | XML form definitions for OpenGraph configuration tabs |
| plugins/system/opengraph/opengraph.xml | Plugin manifest with configuration options |
| plugins/system/opengraph/language/ | Language files for admin interface |
| libraries/src/Opengraph/OpengraphServiceInterface.php | Interface for components to provide mappable fields |
| build/media_source/plg_system_opengraph/ | JavaScript and asset configuration for admin placeholder functionality |
| administrator/components/com_*/src/Extension/*Component.php | Implementation of OpengraphServiceInterface in core components |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…ynamic based on the current component.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 10 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…moved fallback to plugin method
PR: Implement Open Graph (OG) Plugin for Joomla SEO
Description
This PR introduces the System – OpenGraph Plugin into the
joomla-projects/jacademy25_seorepository.The plugin provides automatic Open Graph (OG) and related social metadata generation for Joomla pages, ensuring rich previews on social media platforms and improving SEO.
Approach
The feature has been developed incrementally to align with Joomla’s architecture and maintain stability.
Key Features
Category-Level Mappings, Article & Menu-Level Overrides, and Global Fallbacks
og:title,og:description,og:image, andog:image:altat the category level.Admin & Editor-Friendly UI
Developer Integration via
OpengraphServiceInterface&MappableFieldInterfaceDevelopers can make their own custom fields available for OpenGraph mapping by implementing a simple interface:
OpenGraphMappableFieldInterface.getOpengraphGroup()function.TEXT→ for text-based OG fields (e.g., title, description).IMAGE→ for image fields (e.g., og:image).IMAGE_ALT→ for alt-text fields (e.g., og:image:alt).Status
Goal
To ensure automatic, accurate, and fully customizable Open Graph metadata for all site pages, improving shareability on platforms like Facebook, Twitter, and LinkedIn, while boosting the SEO-friendliness of the Joomla site.