[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"marketplace-site-banners":3,"github-stars":9,"@directus-labs\u002Fseo-plugin":115},[4],{"id":5,"icon":6,"content":7,"link":8,"include_paths":6,"exclude_paths":6},"5cf2f5f6-aecf-4395-8c23-69de326fdf02",null,"AI Assistant: Query Your Data, Update Content + More","https:\u002F\u002Fdirectus.com\u002Fai",{"id":10,"node_id":11,"name":12,"full_name":13,"private":14,"owner":15,"html_url":33,"description":34,"fork":14,"url":35,"forks_url":36,"keys_url":37,"collaborators_url":38,"teams_url":39,"hooks_url":40,"issue_events_url":41,"events_url":42,"assignees_url":43,"branches_url":44,"tags_url":45,"blobs_url":46,"git_tags_url":47,"git_refs_url":48,"trees_url":49,"statuses_url":50,"languages_url":51,"stargazers_url":52,"contributors_url":53,"subscribers_url":54,"subscription_url":55,"commits_url":56,"git_commits_url":57,"comments_url":58,"issue_comment_url":59,"contents_url":60,"compare_url":61,"merges_url":62,"archive_url":63,"downloads_url":64,"issues_url":65,"pulls_url":66,"milestones_url":67,"notifications_url":68,"labels_url":69,"releases_url":70,"deployments_url":71,"created_at":72,"updated_at":73,"pushed_at":74,"git_url":75,"ssh_url":76,"clone_url":77,"svn_url":33,"homepage":78,"size":79,"stargazers_count":80,"watchers_count":80,"language":81,"has_issues":82,"has_projects":82,"has_downloads":14,"has_wiki":14,"has_pages":14,"has_discussions":82,"forks_count":83,"mirror_url":6,"archived":14,"disabled":14,"open_issues_count":84,"license":85,"allow_forking":82,"is_template":14,"web_commit_signoff_required":14,"has_pull_requests":82,"pull_request_creation_policy":90,"topics":91,"visibility":32,"forks":83,"open_issues":84,"watchers":80,"default_branch":111,"temp_clone_token":6,"custom_properties":112,"organization":113,"network_count":83,"subscribers_count":114},7122594,"MDEwOlJlcG9zaXRvcnk3MTIyNTk0","directus","directus\u002Fdirectus",false,{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},15967950,"MDEyOk9yZ2FuaXphdGlvbjE1OTY3OTUw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15967950?v=4","","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus","https:\u002F\u002Fgithub.com\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Freceived_events","Organization","public","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus","The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdeployments","2012-12-12T01:35:36Z","2026-11-10T12:35:05Z","2026-11-10T12:05:27Z","git:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","git@github.com:directus\u002Fdirectus.git","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","https:\u002F\u002Fdirectus.com",455857,38675,"TypeScript",true,4998,381,{"key":86,"name":87,"spdx_id":88,"url":6,"node_id":89},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[92,93,94,95,96,97,12,98,99,100,101,102,103,104,105,106,107,108,109,110],"api","app","cms","composable","data-visualization","database","graphql","headless-cms","javascript","mariadb","mssql","mysql","no-code","node","postgresql","sql","sqlite","typescript","vue","main",{},{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},339,{"name":116,"description":117,"verified":14,"id":118,"readme":119,"type":120,"publisher":121,"last_updated":124,"host_version":125,"downloads":126,"total_downloads":138,"sandbox":82,"license":213,"versions":214,"formatted_name":297,"formatted_readme":298,"formatted_description":117,"featured_image":299,"images":300,"repository_url":247,"recent_downloads_7_days":310,"recent_downloads_30_days":311},"@directus-labs\u002Fseo-plugin","SEO plugin for Directus","6d5e25af-4c3e-4c81-8a42-d7b6f66c9703","# SEO Plugin\n\n![SEO Interface thumbnail](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-bundle.png)\n\nA powerful SEO management extension that helps you optimize your content for search engines and social media sharing, right within Directus. It includes a comprehensive interface for managing metadata and a display component for monitoring SEO status.\n\n## Key Features 🔑\n\n- Title and meta description (with template support)\n- Visual search result previews\n- **Focus keyphrase analysis** (new!)\n- Social media image and **previews** (new!)\n- Sitemap configuration\n- Search engine indexing controls\n- Custom SEO fields support (like canonical URLs, custom meta tags, JSON-LD, etc.)\n- SEO status monitoring with hover preview from the layout view\n\n**Interface** (shown in the item view)\n\n![SEO Interface](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface.png)\n*Note: The interface now uses tabs for better organization (Basic, Advanced, Custom Fields, Keyphrase).*\n\n**Display** (shown in the layout view)\n\n![SEO Display](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-ideal.png)\n\n\n## SEO Data 📝\n\n- **Title**: The most crucial SEO element. Should be compelling and include your main keyword (recommended length: 45-60 characters)\n- **Meta Description**: Your page's summary in search results. Make it engaging to improve click-through rates (recommended length: 130-160 characters)\n\n#### Keyphrase Analysis (New!)\n\n![SEO Interface Keyphrase](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-keyphrase.png)\n\n- **Focus Keyphrase**: The primary keyword or phrase you want the page to rank for.\n- **Analysis**: Provides feedback on the keyphrase's presence and usage in the title, meta description, URL slug, and main content fields. Highlights problems, improvements, and good results.\n\n#### Social Media\n- **OG Image**: The image that appears when your page is shared on social media. Crucial for increasing social engagement.\n- **Social Previews**: Visualizes how the content will look when shared on different platforms.\n\n#### Search Engine Controls\n- **No Index**: Tells search engines not to show this page in search results\n- **No Follow**: Prevents search engines from following links on the page\n\n#### Sitemap Settings\n- **Change Frequency**: How often the page is updated (options: always, hourly, daily, weekly, monthly, yearly, never)\n- **Priority**: Page importance relative to other pages (0.0 to 1.0, default: 0.5)\n\n#### Additional Fields\n- **Additional Fields**: Custom SEO fields for specific needs (like canonical URLs, custom meta tags, JSON-LD, etc.)\n\n\n### Data Structure 📦\n\nSEO data is stored as JSON for simplicity and flexibility.\n\nOG Image stores the file's `filename_disk` (`\u003Cuuid>.\u003Cext>`). Both that and a bare UUID work with `\u002Fassets\u002F\u003Cvalue>`, since the assets endpoint reads the first 36 characters as the file ID.\n\n```json\n{\n\t\"title\": \"This is the Directus SEO Plugin.\",\n\t\"meta_description\": \"A powerful SEO management extension that helps you optimize your content for search engines and social media sharing, right within Directus. It includes a comprehensive interface for managing metadata and a display component for monitoring SEO status.\",\n\t\"og_image\": \"f5d20d13-e86a-4aaa-ab1c-241925b89ea3.jpg\",\n\t\"focus_keyphrase\": \"Directus SEO\",\n\t\"additional_fields\": {\n\t\t\"canonical_url\": \"https:\u002F\u002Fdirectus.io\u002F\",\n\t\t\"custom_meta_tag\": \"This is a custom meta tag\"\n\t},\n\t\"sitemap\": {\n\t\t\"change_frequency\": \"monthly\",\n\t\t\"priority\": \"0.5\"\n\t},\n\t\"no_index\": false,\n\t\"no_follow\": false\n}\n```\n\n## Usage\n\nThe SEO plugin consists of two components:\n\n### 1. SEO Interface\nThe interface provides a comprehensive form, organized into tabs, for managing SEO metadata:\n\n- **Basic Tab**:\n    - Page Title field with character count and optimal length validation (45-60 characters)\n    - Meta description with validation (130-160 characters)\n    - Search result preview\n    - Social media Open Graph (OG) image upload\n    - Social media share previews (new!)\n- **Advanced Tab**:\n    - Search engine visibility controls (No Index, No Follow)\n    - Sitemap configuration options\n- **Custom Fields Tab**:\n    - Support for adding custom SEO-related fields (e.g., canonical URL, custom meta tags)\n- **Keyphrase Tab** (new!):\n    - Input for the focus keyphrase\n    - Detailed analysis of keyphrase usage in title, description, slug, and content\n    - Feedback categorized into Problems, Improvements, and Good results\n\n![SEO Interface Progress Bar](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-progress.png)\n\nThe Page Title and meta description fields show a progress bar to help you keep track of the character count and optimal length according to the SEO best practices.\n\nTo populate the title or meta description fields, with the template, use the `Apply Template` button to apply the template to the field.\n\n![SEO Interface Template](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-template.png)\n\n### 2. SEO Display\n\nA compact status indicator that shows:\n- Overall SEO health status\n- Quick overview of missing or invalid fields\n- Search preview on hover (optional)\n- Status of required and optional fields\n\n![SEO Display Layout](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-layout.png)\n\n![SEO Display Ideal](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-ideal.png)\n\n![SEO Display Hidden](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-hidden.png)\n\n**Explanation of Icons:**\n\n- Green checkmark: All configured fields are valid.\n- Yellow warning: Some of the configured fields are invalid.\n- Red error: At least one required fields is missing (this includes additonal fields that are marked as required.)\n- Gray eye with slash icon: No index field is enabled for this item hiding it from search engines\n\n## Configuration 🔧\n\nTo use the SEO plugin, add a new field to any (and all) collections you want to manage the SEO (for example posts, articles, or pages). The field type should be `json`. The recommended key for the field is simply `seo` but you can use any key you want.\n\n### Interface Options\n\n![SEO Interface Configuration](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-config.png)\n\n- **Type**: `json`\n- **Group**: `standard`\n- **Options**: Configurable templates, OG image, sitemap settings, custom fields, and **focus keyphrase settings** (new!)\n\nThe interface can be configured with the following options:\n\n1. **Title Template**\n   - Configures the pattern for SEO titles so you can use fields from the item to generate the title\n   - Supports dynamic field values using `{{fieldName}}` syntax\n\n2. **Description Template**\n   - Configures the pattern for meta descriptions so you can use fields from the item to generate the description\n   - Supports dynamic field values using `{{fieldName}}` syntax\n\n3. **Social Media Image**\n   - Toggle to enable\u002Fdisable the Open Graph image upload and social media previews.\n   - Disabled by default\n\n4. **Focus Keyphrase**\n   - Toggle to enable\u002Fdisable the Keyphrase analysis tab.\n   - Disabled by default\n   - **Slug Field**: Select the field in your collection that contains the URL slug for analysis.\n   - **Content Fields**: Select one or more fields containing the main content for analysis (e.g., WYSIWYG, Markdown).\n\n5. **Search Engine Controls**\n   - Toggle to show\u002Fhide noindex\u002Fnofollow options in the Advanced tab.\n   - Disabled by default\n\n6. **Sitemap Controls**\n   - Toggle to enable\u002Fdisable sitemap configuration in the Advanced tab.\n   - When enabled, includes:\n     - Default change frequency (preset to 'weekly')\n     - Default priority (preset to '0.5')\n   - Defaults are saved with the item once the SEO field is edited. Items whose SEO field was never touched store `null`, so apply the same defaults in your frontend.\n   - Disabled by default\n\n7. **Custom SEO Fields**\n   - Toggle to enable\u002Fdisable the Custom Fields tab.\n   - Disabled by default\n   - Fields marked **Required** show an asterisk, an error icon on the Custom Fields tab while empty, and an error in the SEO display. They don't block saving, because the values live inside one JSON field. To enforce them, use a blocking Flow on `items.create` \u002F `items.update` that checks `seo.additional_fields`.\n\n### Translated content\n\nTo keep SEO per language, add the SEO field to your translations collection (the one the Translations interface creates, e.g. `articles_translations`). Templates, the keyphrase analysis, and the slug check then use that language's fields.\n\nTo see SEO status per language in a list:\n\n- **Recommended:** on the translations field, choose the core **Translations** display and add the SEO field to its template (e.g. `{{seo}}`). The cell shows the status for the default or user language, and hovering lists every language with its status.\n- A `translations.seo` column also works. It shows one chip with the worst status across translations; hovering lists each translation's status. It can't show language names, because displays don't receive the language field for that column.\n\n### Translations\n\nThe interface and display follow each user's Directus language. Included: English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese (Brazil), Vietnamese, and Chinese (Simplified). Regional variants like `es-MX`, `fr-CA`, and `pt-PT` use the closest one. To add or fix a language, edit or add a file in `src\u002Flang\u002F` with the same keys as `en-US.ts` and register it in `src\u002Flang\u002Findex.ts`. Missing keys fall back to English.\n\n### Display Options\n\n![SEO Display Configuration](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-config.png)\n\n- **Type**: `json`\n- **Icon**: `search`\n- **Options**: Search preview toggle\n\nThe display component can be configured with:\n\n1. **Show Search Preview**\n   - Toggle to enable\u002Fdisable search result preview on hover\n   - Shows how the page might appear in search results\n   - Disabled by default\n\n\n## Installation\n\nInstall the extension from the Directus Marketplace. See the [Official Guide](https:\u002F\u002Fdocs.directus.io\u002Fextensions\u002Finstalling-extensions.html) for more information.\n\nor if you prefer to install manually:\n\n```bash\nnpm install @directus-labs\u002Fseo-plugin\n```\n\n## Roadmap 🗺️\n\n**Planned:**\n- Support for translating the title and meta description fields\n- Field label and description translations\n\n**Maybe:**\n- Add support for relational fields in the template\n\n## Contributing 🤝\n\nContributions are welcome! Please add an issue describing the feature you'd like to add before submitting a PR.\n","bundle",{"username":122,"verified":14,"id":123,"github_username":6,"github_name":6,"github_blog":6,"github_bio":6,"github_location":6,"github_company":6,"github_avatar_url":6},"GitHub Actions","d490bc00-b01e-443a-a62f-2c109aa009f9","2026-11-03T20:18:04.395Z",">=10.10.0 \u003C13",[127,130,133,136,139,141,144,147,150,152,154,157,160,163,166,168,171,174,177,180,183,186,189,192,195,198,201,204,207,210],{"date":128,"count":129},"2026-10-11",49,{"date":131,"count":132},"2026-10-12",221,{"date":134,"count":135},"2026-10-13",230,{"date":137,"count":138},"2026-10-14",0,{"date":140,"count":138},"2026-10-15",{"date":142,"count":143},"2026-10-16",245,{"date":145,"count":146},"2026-10-17",26,{"date":148,"count":149},"2026-10-18",60,{"date":151,"count":138},"2026-10-19",{"date":153,"count":138},"2026-10-20",{"date":155,"count":156},"2026-10-21",186,{"date":158,"count":159},"2026-10-22",200,{"date":161,"count":162},"2026-10-23",267,{"date":164,"count":165},"2026-10-24",47,{"date":167,"count":149},"2026-10-25",{"date":169,"count":170},"2026-10-26",147,{"date":172,"count":173},"2026-10-27",177,{"date":175,"count":176},"2026-10-28",346,{"date":178,"count":179},"2026-10-29",279,{"date":181,"count":182},"2026-10-30",295,{"date":184,"count":185},"2026-10-31",62,{"date":187,"count":188},"2026-11-01",76,{"date":190,"count":191},"2026-11-02",283,{"date":193,"count":194},"2026-11-03",390,{"date":196,"count":197},"2026-11-04",269,{"date":199,"count":200},"2026-11-05",233,{"date":202,"count":203},"2026-11-06",287,{"date":205,"count":206},"2026-11-07",34,{"date":208,"count":209},"2026-11-08",61,{"date":211,"count":212},"2026-11-09",266,"MIT",[215,230,243,258,273,284],{"version":216,"package":118,"publisher":217,"type":120,"host_version":218,"publish_date":219,"verified":14,"id":220,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":221,"unpacked_size":222,"bundled":223,"maintainers":226,"sandbox":82,"sandbox_requested_scopes":6,"license":213},"1.1.0","74ce2e77-733a-4e9a-b96d-93bf6264f622","^10.10.0","2025-04-23T20:56:59.254Z","056a27cf-3806-4bc6-b4bb-f7362851634d",4,142640,[224,225],"80112a64-9cc2-4b0b-8830-5f51a42e869c","d920bc30-77be-47a9-8394-5dd989e94bb9",[227,228,229],12424,12425,12426,{"version":231,"package":118,"publisher":217,"type":120,"host_version":218,"publish_date":232,"verified":14,"id":233,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":221,"unpacked_size":234,"bundled":235,"maintainers":238,"sandbox":82,"sandbox_requested_scopes":6,"license":213},"1.0.0","2025-02-12T20:44:51.684Z","071941f2-2afa-4341-8f88-2a8198bb9f2e",60282,[236,237],"ae1e3182-3c85-400f-a2cc-d8a93a902839","bbc96027-bed6-4939-b606-94d33e856d69",[239,240,241,242],11975,11976,11977,11978,{"version":244,"package":118,"publisher":123,"type":120,"host_version":125,"publish_date":245,"verified":14,"id":246,"url_repository":247,"url_homepage":248,"url_bugs":249,"file_count":221,"unpacked_size":250,"bundled":251,"maintainers":254,"sandbox":82,"sandbox_requested_scopes":6,"license":213},"1.2.0","2026-10-28T21:21:09.755Z","1a6411e6-4199-4e08-8a4b-995dac50b5be","https:\u002F\u002Fgithub.com\u002Fdirectus-labs\u002Fextensions.git","https:\u002F\u002Fgithub.com\u002Fdirectus-labs\u002Fextensions#readme","https:\u002F\u002Fgithub.com\u002Fdirectus-labs\u002Fextensions\u002Fissues",181868,[252,253],"1bb5e9d4-bd86-4876-98e9-204ae400efa8","97adce2b-dc86-4e6c-ae98-64fe8e5fa0e4",[255,256,257],15242,15243,15244,{"version":259,"package":118,"publisher":260,"type":120,"host_version":218,"publish_date":261,"verified":14,"id":262,"url_repository":247,"url_homepage":248,"url_bugs":249,"file_count":263,"unpacked_size":264,"bundled":265,"maintainers":268,"sandbox":82,"sandbox_requested_scopes":6,"license":213},"1.1.1","85f85c84-9af0-4ba7-a30f-3617605d412b","2026-02-11T19:45:00.342Z","4b646e9f-e187-45ac-b9dc-f3e71245687a",5,144202,[266,267],"16d3ae93-4d84-4731-9b4b-51626f2246f9","bfcd0919-fad8-454b-a5da-70bd23924eee",[269,270,271,272],13725,13726,13727,13728,{"version":274,"package":118,"publisher":123,"type":120,"host_version":125,"publish_date":124,"verified":14,"id":275,"url_repository":247,"url_homepage":248,"url_bugs":249,"file_count":221,"unpacked_size":276,"bundled":277,"maintainers":280,"sandbox":82,"sandbox_requested_scopes":6,"license":213},"1.2.1","6b1be8b1-1452-4309-92d6-8de3c7226f06",183007,[278,279],"3374a4e5-6787-45c5-ac13-47dbd1aa0e8f","de02b4cd-f8f4-486b-b99a-7ea6bd23a648",[281,282,283],15278,15279,15280,{"version":285,"package":118,"publisher":217,"type":120,"host_version":218,"publish_date":286,"verified":14,"id":287,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":221,"unpacked_size":288,"bundled":289,"maintainers":292,"sandbox":82,"sandbox_requested_scopes":6,"license":213},"1.0.1","2025-02-21T17:08:40.871Z","71694f4d-e2d7-40f9-b369-a784f9a4ffd9",60262,[290,291],"63660753-2b7b-48f3-a264-0b342d2ce0f7","8361d58a-fac4-44c8-a842-e40a7b7911e6",[293,294,295,296],12014,12015,12016,12017,"SEO Plugin","\u003Ch1>SEO Plugin\u003C\u002Fh1>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-bundle.png\" alt=\"SEO Interface thumbnail\">\u003C\u002Fp>\n\u003Cp>A powerful SEO management extension that helps you optimize your content for search engines and social media sharing, right within Directus. It includes a comprehensive interface for managing metadata and a display component for monitoring SEO status.\u003C\u002Fp>\n\u003Ch2>Key Features 🔑\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Title and meta description (with template support)\u003C\u002Fli>\n\u003Cli>Visual search result previews\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Focus keyphrase analysis\u003C\u002Fstrong> (new!)\u003C\u002Fli>\n\u003Cli>Social media image and \u003Cstrong>previews\u003C\u002Fstrong> (new!)\u003C\u002Fli>\n\u003Cli>Sitemap configuration\u003C\u002Fli>\n\u003Cli>Search engine indexing controls\u003C\u002Fli>\n\u003Cli>Custom SEO fields support (like canonical URLs, custom meta tags, JSON-LD, etc.)\u003C\u002Fli>\n\u003Cli>SEO status monitoring with hover preview from the layout view\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Interface\u003C\u002Fstrong> (shown in the item view)\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface.png\" alt=\"SEO Interface\">\n\u003Cem>Note: The interface now uses tabs for better organization (Basic, Advanced, Custom Fields, Keyphrase).\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Display\u003C\u002Fstrong> (shown in the layout view)\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-ideal.png\" alt=\"SEO Display\">\u003C\u002Fp>\n\u003Ch2>SEO Data 📝\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Title\u003C\u002Fstrong>: The most crucial SEO element. Should be compelling and include your main keyword (recommended length: 45-60 characters)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Meta Description\u003C\u002Fstrong>: Your page's summary in search results. Make it engaging to improve click-through rates (recommended length: 130-160 characters)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Keyphrase Analysis (New!)\u003C\u002Fh4>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-keyphrase.png\" alt=\"SEO Interface Keyphrase\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Focus Keyphrase\u003C\u002Fstrong>: The primary keyword or phrase you want the page to rank for.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Analysis\u003C\u002Fstrong>: Provides feedback on the keyphrase's presence and usage in the title, meta description, URL slug, and main content fields. Highlights problems, improvements, and good results.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Social Media\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>OG Image\u003C\u002Fstrong>: The image that appears when your page is shared on social media. Crucial for increasing social engagement.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Social Previews\u003C\u002Fstrong>: Visualizes how the content will look when shared on different platforms.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Search Engine Controls\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>No Index\u003C\u002Fstrong>: Tells search engines not to show this page in search results\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No Follow\u003C\u002Fstrong>: Prevents search engines from following links on the page\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Sitemap Settings\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Change Frequency\u003C\u002Fstrong>: How often the page is updated (options: always, hourly, daily, weekly, monthly, yearly, never)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Priority\u003C\u002Fstrong>: Page importance relative to other pages (0.0 to 1.0, default: 0.5)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Additional Fields\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Additional Fields\u003C\u002Fstrong>: Custom SEO fields for specific needs (like canonical URLs, custom meta tags, JSON-LD, etc.)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Data Structure 📦\u003C\u002Fh3>\n\u003Cp>SEO data is stored as JSON for simplicity and flexibility.\u003C\u002Fp>\n\u003Cp>OG Image stores the file's \u003Ccode>filename_disk\u003C\u002Fcode> (\u003Ccode>&lt;uuid&gt;.&lt;ext&gt;\u003C\u002Fcode>). Both that and a bare UUID work with \u003Ccode>\u002Fassets\u002F&lt;value&gt;\u003C\u002Fcode>, since the assets endpoint reads the first 36 characters as the file ID.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n\t\"title\": \"This is the Directus SEO Plugin.\",\n\t\"meta_description\": \"A powerful SEO management extension that helps you optimize your content for search engines and social media sharing, right within Directus. It includes a comprehensive interface for managing metadata and a display component for monitoring SEO status.\",\n\t\"og_image\": \"f5d20d13-e86a-4aaa-ab1c-241925b89ea3.jpg\",\n\t\"focus_keyphrase\": \"Directus SEO\",\n\t\"additional_fields\": {\n\t\t\"canonical_url\": \"https:\u002F\u002Fdirectus.io\u002F\",\n\t\t\"custom_meta_tag\": \"This is a custom meta tag\"\n\t},\n\t\"sitemap\": {\n\t\t\"change_frequency\": \"monthly\",\n\t\t\"priority\": \"0.5\"\n\t},\n\t\"no_index\": false,\n\t\"no_follow\": false\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Usage\u003C\u002Fh2>\n\u003Cp>The SEO plugin consists of two components:\u003C\u002Fp>\n\u003Ch3>1. SEO Interface\u003C\u002Fh3>\n\u003Cp>The interface provides a comprehensive form, organized into tabs, for managing SEO metadata:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Basic Tab\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Page Title field with character count and optimal length validation (45-60 characters)\u003C\u002Fli>\n\u003Cli>Meta description with validation (130-160 characters)\u003C\u002Fli>\n\u003Cli>Search result preview\u003C\u002Fli>\n\u003Cli>Social media Open Graph (OG) image upload\u003C\u002Fli>\n\u003Cli>Social media share previews (new!)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Tab\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Search engine visibility controls (No Index, No Follow)\u003C\u002Fli>\n\u003Cli>Sitemap configuration options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Fields Tab\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Support for adding custom SEO-related fields (e.g., canonical URL, custom meta tags)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keyphrase Tab\u003C\u002Fstrong> (new!):\n\u003Cul>\n\u003Cli>Input for the focus keyphrase\u003C\u002Fli>\n\u003Cli>Detailed analysis of keyphrase usage in title, description, slug, and content\u003C\u002Fli>\n\u003Cli>Feedback categorized into Problems, Improvements, and Good results\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-progress.png\" alt=\"SEO Interface Progress Bar\">\u003C\u002Fp>\n\u003Cp>The Page Title and meta description fields show a progress bar to help you keep track of the character count and optimal length according to the SEO best practices.\u003C\u002Fp>\n\u003Cp>To populate the title or meta description fields, with the template, use the \u003Ccode>Apply Template\u003C\u002Fcode> button to apply the template to the field.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-template.png\" alt=\"SEO Interface Template\">\u003C\u002Fp>\n\u003Ch3>2. SEO Display\u003C\u002Fh3>\n\u003Cp>A compact status indicator that shows:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Overall SEO health status\u003C\u002Fli>\n\u003Cli>Quick overview of missing or invalid fields\u003C\u002Fli>\n\u003Cli>Search preview on hover (optional)\u003C\u002Fli>\n\u003Cli>Status of required and optional fields\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-layout.png\" alt=\"SEO Display Layout\">\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-ideal.png\" alt=\"SEO Display Ideal\">\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-hidden.png\" alt=\"SEO Display Hidden\">\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Explanation of Icons:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Green checkmark: All configured fields are valid.\u003C\u002Fli>\n\u003Cli>Yellow warning: Some of the configured fields are invalid.\u003C\u002Fli>\n\u003Cli>Red error: At least one required fields is missing (this includes additonal fields that are marked as required.)\u003C\u002Fli>\n\u003Cli>Gray eye with slash icon: No index field is enabled for this item hiding it from search engines\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Configuration 🔧\u003C\u002Fh2>\n\u003Cp>To use the SEO plugin, add a new field to any (and all) collections you want to manage the SEO (for example posts, articles, or pages). The field type should be \u003Ccode>json\u003C\u002Fcode>. The recommended key for the field is simply \u003Ccode>seo\u003C\u002Fcode> but you can use any key you want.\u003C\u002Fp>\n\u003Ch3>Interface Options\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-config.png\" alt=\"SEO Interface Configuration\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Type\u003C\u002Fstrong>: \u003Ccode>json\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Group\u003C\u002Fstrong>: \u003Ccode>standard\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Options\u003C\u002Fstrong>: Configurable templates, OG image, sitemap settings, custom fields, and \u003Cstrong>focus keyphrase settings\u003C\u002Fstrong> (new!)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The interface can be configured with the following options:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Title Template\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Configures the pattern for SEO titles so you can use fields from the item to generate the title\u003C\u002Fli>\n\u003Cli>Supports dynamic field values using \u003Ccode>{{fieldName}}\u003C\u002Fcode> syntax\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Description Template\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Configures the pattern for meta descriptions so you can use fields from the item to generate the description\u003C\u002Fli>\n\u003Cli>Supports dynamic field values using \u003Ccode>{{fieldName}}\u003C\u002Fcode> syntax\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Social Media Image\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Toggle to enable\u002Fdisable the Open Graph image upload and social media previews.\u003C\u002Fli>\n\u003Cli>Disabled by default\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Focus Keyphrase\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Toggle to enable\u002Fdisable the Keyphrase analysis tab.\u003C\u002Fli>\n\u003Cli>Disabled by default\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Slug Field\u003C\u002Fstrong>: Select the field in your collection that contains the URL slug for analysis.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Fields\u003C\u002Fstrong>: Select one or more fields containing the main content for analysis (e.g., WYSIWYG, Markdown).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Search Engine Controls\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Toggle to show\u002Fhide noindex\u002Fnofollow options in the Advanced tab.\u003C\u002Fli>\n\u003Cli>Disabled by default\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Sitemap Controls\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Toggle to enable\u002Fdisable sitemap configuration in the Advanced tab.\u003C\u002Fli>\n\u003Cli>When enabled, includes:\n\u003Cul>\n\u003Cli>Default change frequency (preset to 'weekly')\u003C\u002Fli>\n\u003Cli>Default priority (preset to '0.5')\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Defaults are saved with the item once the SEO field is edited. Items whose SEO field was never touched store \u003Ccode>null\u003C\u002Fcode>, so apply the same defaults in your frontend.\u003C\u002Fli>\n\u003Cli>Disabled by default\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom SEO Fields\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Toggle to enable\u002Fdisable the Custom Fields tab.\u003C\u002Fli>\n\u003Cli>Disabled by default\u003C\u002Fli>\n\u003Cli>Fields marked \u003Cstrong>Required\u003C\u002Fstrong> show an asterisk, an error icon on the Custom Fields tab while empty, and an error in the SEO display. They don't block saving, because the values live inside one JSON field. To enforce them, use a blocking Flow on \u003Ccode>items.create\u003C\u002Fcode> \u002F \u003Ccode>items.update\u003C\u002Fcode> that checks \u003Ccode>seo.additional_fields\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Translated content\u003C\u002Fh3>\n\u003Cp>To keep SEO per language, add the SEO field to your translations collection (the one the Translations interface creates, e.g. \u003Ccode>articles_translations\u003C\u002Fcode>). Templates, the keyphrase analysis, and the slug check then use that language's fields.\u003C\u002Fp>\n\u003Cp>To see SEO status per language in a list:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Recommended:\u003C\u002Fstrong> on the translations field, choose the core \u003Cstrong>Translations\u003C\u002Fstrong> display and add the SEO field to its template (e.g. \u003Ccode>{{seo}}\u003C\u002Fcode>). The cell shows the status for the default or user language, and hovering lists every language with its status.\u003C\u002Fli>\n\u003Cli>A \u003Ccode>translations.seo\u003C\u002Fcode> column also works. It shows one chip with the worst status across translations; hovering lists each translation's status. It can't show language names, because displays don't receive the language field for that column.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>The interface and display follow each user's Directus language. Included: English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese (Brazil), Vietnamese, and Chinese (Simplified). Regional variants like \u003Ccode>es-MX\u003C\u002Fcode>, \u003Ccode>fr-CA\u003C\u002Fcode>, and \u003Ccode>pt-PT\u003C\u002Fcode> use the closest one. To add or fix a language, edit or add a file in \u003Ccode>src\u002Flang\u002F\u003C\u002Fcode> with the same keys as \u003Ccode>en-US.ts\u003C\u002Fcode> and register it in \u003Ccode>src\u002Flang\u002Findex.ts\u003C\u002Fcode>. Missing keys fall back to English.\u003C\u002Fp>\n\u003Ch3>Display Options\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-config.png\" alt=\"SEO Display Configuration\">\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Type\u003C\u002Fstrong>: \u003Ccode>json\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Icon\u003C\u002Fstrong>: \u003Ccode>search\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Options\u003C\u002Fstrong>: Search preview toggle\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The display component can be configured with:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Show Search Preview\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Toggle to enable\u002Fdisable search result preview on hover\u003C\u002Fli>\n\u003Cli>Shows how the page might appear in search results\u003C\u002Fli>\n\u003Cli>Disabled by default\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>Installation\u003C\u002Fh2>\n\u003Cp>Install the extension from the Directus Marketplace. See the \u003Ca href=\"https:\u002F\u002Fdocs.directus.io\u002Fextensions\u002Finstalling-extensions.html\">Official Guide\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Cp>or if you prefer to install manually:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm install @directus-labs\u002Fseo-plugin\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Roadmap 🗺️\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Planned:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Support for translating the title and meta description fields\u003C\u002Fli>\n\u003Cli>Field label and description translations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Maybe:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add support for relational fields in the template\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Contributing 🤝\u003C\u002Fh2>\n\u003Cp>Contributions are welcome! Please add an issue describing the feature you'd like to add before submitting a PR.\u003C\u002Fp>\n","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-bundle.png",[299,301,302,303,304,305,306,307,308,309],"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-ideal.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-keyphrase.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-progress.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-template.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-layout.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-hidden.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-interface-config.png","https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Fseo-plugin\u002Fdocs\u002Fseo-plugin-display-config.png",1150,4747]