{"id":21422138,"url":"https://github.com/mplodowski/seomanager-plugin-public","last_synced_at":"2026-01-03T01:57:44.342Z","repository":{"id":95198849,"uuid":"140736598","full_name":"mplodowski/seomanager-plugin-public","owner":"mplodowski","description":"https://octobercms.com/plugin/renatio-seomanager","archived":false,"fork":false,"pushed_at":"2022-06-13T21:47:15.000Z","size":21,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-23T06:45:36.898Z","etag":null,"topics":["octobercms-plugin"],"latest_commit_sha":null,"homepage":"https://octobercms.com/plugin/renatio-seomanager","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mplodowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-12T16:08:48.000Z","updated_at":"2023-05-01T20:38:23.000Z","dependencies_parsed_at":"2023-06-12T11:30:50.257Z","dependency_job_id":null,"html_url":"https://github.com/mplodowski/seomanager-plugin-public","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fseomanager-plugin-public","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fseomanager-plugin-public/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fseomanager-plugin-public/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mplodowski%2Fseomanager-plugin-public/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mplodowski","download_url":"https://codeload.github.com/mplodowski/seomanager-plugin-public/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243926016,"owners_count":20369914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["octobercms-plugin"],"created_at":"2024-11-22T20:45:55.078Z","updated_at":"2026-01-03T01:57:44.276Z","avatar_url":"https://github.com/mplodowski.png","language":null,"funding_links":["https://www.paypal.me/mplodowski"],"categories":[],"sub_categories":[],"readme":"# Renatio SEO Manager Plugin\n\nPlugin adds SEO functionality to [October CMS](http://octobercms.com). It supports CMS Pages, RainLab.Pages,\nRainLab.Blog, October CMS Tailor\nout of the box. With one line of code can be attached to any October CMS model. One robust solution for all your SEO\nneeds.\n\n## Features\n\n* Support for CMS Pages, RainLab.Pages, RainLab.Blog\n* Import default values from CMS Pages, RainLab.Pages, RainLab.Blog\n* Open Graph support\n* Robots meta configuration\n* Canonical URLs\n* 301 Redirects\n* Easy edit robots.txt and .htaccess in CMS Settings\n* Easy integration with other plugins\n* Fully compatible with RainLab.Translate for multi-lingual support\n* Fully support for October CMS Tailor\n\n## Why is this a paid plugin?\n\nSomething that is free has little or no perceived value. Users do not commit to free products and only use them until\nsomething else looks nice and is free comes along. When I invest my time in the development of a new plugin I commit to\nsupporting and maintaining it. I ask my customers to do the same. I do not make money from this plugin by\nadvertisements, upgrades or additional services like hosting or setup.\n\nDid you know that 30% of your purchase or donation goes to help fund the October Project?\n\nMy plugins take many hours to develop (40-120+) and even more hours to document and maintain. My paid plugins have to\npay for both this time, and the time I am spending on free plugins and less successful paid plugins. This means that it\nwill take even a successful plugin years to become profitable. Please consider buying an extended license if you want me\nto continue to maintain these plugins for the very small fee I ask in return or hire me for adding functionality that\nyou feel is missing but valuable.\n\n## Like this plugin?\n\nIf you like this plugin, give this plugin a Like or Make donation with [PayPal](https://www.paypal.me/mplodowski).\n\n## My other plugins\n\nPlease check my other [plugins](https://octobercms.com/author/Renatio).\n\n## Support\n\nPlease use [GitHub Issues Page](https://github.com/mplodowski/seomanager-plugin-public/issues) to report any issues with\nplugin.\n\n\u003e Reviews should not be used for getting support, if you need support please use the Plugin support link.\n\nIcon made by [Darius Dan](https://www.flaticon.com/authors/darius-dan)\nfrom [www.flaticon.com](https://www.flaticon.com/).\n\n# Documentation\n\n## Usage\n\nAfter installation all CMS pages, Static pages, Posts, Categories will now display additional tabs with SEO and Open\nGraph fields.\n\nTo display meta information on frontend page you must only place single SEO component in theme layout head section.\n\n```\n[seoTags]\n==\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n    \u003chead\u003e\n        {% component 'seoTags' %}\n    \u003c/head\u003e\n```\n\n## October CMS Tailor\n\nPlugin adds two mixins with Meta and Open Graph fields to Tailor. You just need to add them to your blueprint Entry\nin `fields` section like so:\n\n```\n_seo_meta_fields:\n    type: mixin\n    source: Renatio\\SeoManager\\MetaFields\n\n_seo_og_fields:\n    type: mixin\n    source: Renatio\\SeoManager\\OgFields\n```\n\nAfter that remember to save and migrate blueprint or run `php artisan october:migrate` command.\n\n## Settings\n\nPlugin ships with a settings page. Go to Settings and you will see a menu item SEO configuration listed under SEO\nbookmark.\n\nSettings allow you to specify SEO Title prefix/suffix.\n\nYou can write common meta tags used in all pages e.g.\n\n```\n\u003cmeta name=\"author\" content=\"Renatio\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1\"\u003e\n```\n\nYou can enable/disable Open Graph tags output, specify Open Graph site name and Facebook Application ID.\n\nYou can edit robots.txt file and .htaccess file.\n\n\u003e Editing .htaccess file may break your site if not set up properly, so proceed with caution. This can be restricted by\n\u003e setting user permission.\n\n## SEO fields\n\n**Available SEO fields:**\n\n#### SEO Title\n\nDefines the title of a document. Title tags are often used on search engine results pages (SERPs) to display preview\nsnippets for a given page, and are important both for SEO and social\nsharing. [Read more](https://moz.com/learn/seo/title-tag).\n\n#### SEO Description\n\nMeta descriptions are HTML attributes that provide concise explanations of the contents of web pages. Meta descriptions\nare commonly used on search engine result pages (SERPs) to display preview snippets for a given\npage. [Read more](https://moz.com/learn/seo/meta-description).\n\n#### Meta Keywords\n\nA series of keywords you deem relevant to the page in question.\n\n#### Meta Robots\n\nThe robots meta tag is not the same as the file called robots.txt. You should use these two together. Both are used by\nthe search engines like Yahoo and Google. [Read more](https://yoast.com/robots-meta-tags/).\n\n#### Canonical URL\n\nCanonicalization for SEOs refers to normalizing (redirecting to a single dominant version) multiple\nURLs. [Read more](https://moz.com/learn/seo/canonicalization).\n\n#### 301 Redirect\n\nRedirection is the process of forwarding one URL to a different URL. There are three main kinds of redirects: 301, 302,\nand meta refresh. [Read more](https://moz.com/learn/seo/redirection).\n\n\u003e More fields can be added on request.\n\n## Open Graph fields\n\n**Available Open Graph fields:**\n\n#### OG Title\n\nThe title of your object as it should appear within the graph, e.g., \"The Rock\".\n\n#### OG Description\n\nA one to two sentence description of your object.\n\n#### OG Type\n\nThe type of your object, e.g., \"article\".\n\n#### Og Image\n\nAn image URL which should represent your object within the graph.\n\nRead more about [Open Graph Protocol](http://ogp.me/).\n\n\u003e More fields can be added on request.\n\n## Integration with models\n\nSEO fields can be attached to any October CMS model with single line of code. You just need to implement SEO Behavior in\nyour model class like so:\n\n```\npublic $implement = ['@Renatio.SeoManager.Behaviors.SeoModel'];\n```\n\nAfter implementing this behavior to your model class, SEO Manager will extend it with SEO fields.\n\nThe next step is to add SEO columns to models table. This can be done by running following command. This command will\nscan all models that are implementing SeoModel behavior and add SEO columns to the database tables.\n\n```\nphp artisan seo:migrate-tables\n```\n\nTo allow SEO Manager Plugin to recognize page with specific model attached you must pass it to the page view. This is\nmost often done in component `onRun()` method like so:\n\n```\n$this-\u003epage['album'] = Album::find($id); // pass album record to page view\n```\n\n## Extending SEO fields\n\nPlugin will fire `seo.extendSeoFields` event to allow for extensibility. This can be used to modify or add more SEO\nfields. You can listen for this event like so:\n\n```\nEvent::listen('seo.extendSeoFields', function ($fields) {\n\n    // modify or add more fields\n\n    return $fields; // remember to return modified fields array\n});\n```\n\nSimilar approach can be used to extend Open Graph fields with `seo.extendOgFields` event.\n\nModel fields are saved to database, so you must add columns to `renatio_seomanager_seo_tags` table before you can use\nthem.\n\n## Access SEO Tag before rendered on page\n\nPlugin will fire `seo.beforeComponentRender` event to allow for extensibility. This can be used to access page with\nassociated SEO Tag. The assigned model should implement SeoModel behavior.\n\n```\n/*\n * Assign new seoTag for product page\n */\nEvent::listen('seo.beforeComponentRender', function ($component, $page) {\n    if ($page-\u003eurl == '/products/:slug') {\n        $component-\u003eseoTag = $page-\u003econtroller-\u003evars['product'];\n    }\n});\n```\n\n## Console commands\n\nPlugin will create three new artisan commands for working with console.\n\n**php artisan seo:migrate-tables** command will migrate tables for all models implementing SEO behavior to add SEO\ncolumns. There is additional option `--table=` that can be used to specify the database table where you want to add SEO\ncolumns.\n\n**php artisan seo:patch 3.0** command will migrate data from `renatio_seomanager_seo_tags` to models that implement\nSeoModel behavior.\n\n**php artisan seo:import-cms** command will import SEO from CMS pages.\n\n**php artisan seo:import-static** command will import SEO from RainLab Static pages.\n\n**php artisan seo:import-blog** command will import SEO from RainLab Blog posts and categories.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmplodowski%2Fseomanager-plugin-public","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmplodowski%2Fseomanager-plugin-public","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmplodowski%2Fseomanager-plugin-public/lists"}