{"id":20196154,"url":"https://github.com/hellobetterltd/seo","last_synced_at":"2025-08-12T02:35:08.008Z","repository":{"id":27428763,"uuid":"113165877","full_name":"HelloBetterLTD/seo","owner":"HelloBetterLTD","description":"SEO plugin SilverStripe","archived":false,"fork":false,"pushed_at":"2025-04-01T00:27:18.000Z","size":484,"stargazers_count":11,"open_issues_count":9,"forks_count":14,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-21T11:47:22.108Z","etag":null,"topics":["seo","seotools","silverstripe","silverstripe-4","silverstripe-module","silverstripe-seo-editor"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HelloBetterLTD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2017-12-05T10:09:18.000Z","updated_at":"2025-04-01T00:27:22.000Z","dependencies_parsed_at":"2024-10-29T06:58:08.875Z","dependency_job_id":"d913ee05-8272-4b5c-8d83-67c3959bd2c9","html_url":"https://github.com/HelloBetterLTD/seo","commit_stats":null,"previous_names":["hellobetterltd/seo","silverstripers/seo"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/HelloBetterLTD/seo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloBetterLTD%2Fseo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloBetterLTD%2Fseo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloBetterLTD%2Fseo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloBetterLTD%2Fseo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HelloBetterLTD","download_url":"https://codeload.github.com/HelloBetterLTD/seo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HelloBetterLTD%2Fseo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269989962,"owners_count":24508791,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["seo","seotools","silverstripe","silverstripe-4","silverstripe-module","silverstripe-seo-editor"],"created_at":"2024-11-14T04:22:05.000Z","updated_at":"2025-08-12T02:35:07.965Z","avatar_url":"https://github.com/HelloBetterLTD.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# seo\n\nThis module enables advanced SEO functions for Silverstripe. It providers an SEO editor with\n\n1. Instant Previews for Google, Facebook, Twitter\n2. Editor for Open Graph Data\n3. Editor for Twitter Cards\n4. Save taxonomies\n5. Various meta title templates for pages\n6. Robots.txt controller\n7. Canonical URL management\n8. Flexibility on extending\n\n## Maintainers\nnivanka@silverstripers.com\n\n\n## Installation\n\nUse composer to install on your SilverStripe 4 website.\n\n```\ncomposer require silverstripers/seo dev-master\n```\n\n## Requirements\n\n1. SilverStripe 4+\n2. SilverStripe Reports\n3. SilverStripe Assets\n\n## Basic usage\n\nRequire the package via composer and run dev build. http://mysite.com/dev/build?flush=all\nThe module will create additional SEO fields for the SiteTree (page) objects and will add in an interface for set up the SEO data.\n\nAdd the following instead of the SilverStripe's default meta tag in the `\u003chead\u003e` section of your template.\n\n```\n$GenerateMetaTags.RAW\n```\n\n## DataObjects as pages\n\nIf you are using data objects as pages then you may need to add in SEO fields for those data objects to do that it needs to\ndecorate the data object with SEODataExtension\n\n```\nMyDataObject:\n    extensions:\n        SilverStripers\\SEO\\Extension\\SEODataExtension\n```\n\nThis will create the db fields and add the seo editor on to the CMS.\n\nWithin the controller you need to call `override_seo_from` function, and pass your data record for the module to grab the SEO details\n\n```\nuse SilverStripers\\SEO\\Extension\\SEODataExtension\n...\n\nclass MyController extension Controller {\n\n    ...\n\n    public function view()\n    {\n        ...\n        SEODataExtension::override_seo_from($record);\n        ...\n    }\n\n}\n```\n\n## Variables / Taxonomies\n\nIf you login to the CMS and go to Settings -\u003e SEO -\u003e Variables, there is a grid field where you can enter name value pair objects. These can have any names and any values and for any text field within the meta editor you can use these.\n\nThe variables will have respective buttons to click which will add them automatically on to the editors fields.\n\nYou can also type them in like this. `{MyVariableName}`\n\n## Meta Title Templates\n\nFor various websites there are different types of web pages which needs various types of meta titles.\n\neg: A product page will have a meta title like: `ABC Product - Create the best value for money | XYZ Company`\n\nMeta titles templates lets you define these as\n\n`{MetaTitle} - Create the best value for money | {SiteTitle}`\n\nThis then get the meta title from the page's meta title variable, and site title from the Site Config title. You can also use any of the variables you defined in the variables sections.\n\n## Structured Data\n\nThe module supports structured data and enabling takes only a few yml configurations.\n\nE.G: The following makes a Page a Thing and maps the fields on to the Database fields.\n\n```\nPage:\n  schema_type: 'Thing'\n  schema:\n    'name': 'MetaTitle'\n    'description': 'MetaDescription'\n    'Image': 'FacebookImage'\n```\n\nSupported Types\n\n* Article\n* Beach\n* BlogPosting\n* BreadcrumbList\n* ContactPoint\n* Corporation\n* CreativeWork\n* Duration\n* Event\n* GeoCoordinates\n* ImageObject\n* Invoice\n* ListItem\n* LocalBusiness\n* MusicAlbum\n* MusicGroup\n* MusicPlaylist\n* MusicRecording\n* NewsArticle\n* Offer\n* Order\n* Organization\n* Person\n* Place\n* PostalAddress\n* PriceSpeficication\n* Product\n* Rating\n* Review\n* SearchBox\n* Thing\n* VideoObject\n* WebPage\n\nTo view the config options for any type visit the page with adding `?structureddata_help=1` to the end of the URL\n\nEnjoy!!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellobetterltd%2Fseo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhellobetterltd%2Fseo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellobetterltd%2Fseo/lists"}