Download the PHP package yotech-ai/twill-cms-seo-suite without Composer

On this page you can find all versions of the php package yotech-ai/twill-cms-seo-suite. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package twill-cms-seo-suite

Twill CMS SEO Suite

A Yoast-style SEO suite for Twill CMS: clean-room content analysis with traffic lights, meta tags, Open Graph and Twitter Cards, schema.org structured data, and XML sitemaps — plus an admin settings page to configure all of it.

Requires PHP 8.3+, Laravel 12 or 13, Twill 3.6+.

Installation

If the package is not (yet) available to you through Packagist, point Composer at the GitHub repository directly by adding a repositories entry to your project's composer.json and requiring yotech-ai/twill-cms-seo-suite:^1.0:

The package is fully self-contained — the shared Plugins-page code is vendored in (see below), so there is no second package to install or path-repository to configure.

twill-seo:install publishes config/twill-seo.php and prints the remaining steps, reproduced here for the model you want managed:

Then add TwillSeo\Services\Form\SeoFields::fieldset() to the module's form fields, and <x-twill-seo::head /> to your public layout's <head>:

That's it: the admin gets a full SEO fieldset (keyphrase, title, description, social fields, and — when the analysis feature is on — a live traffic-light panel), and the front end gets a title, meta description, canonical link, robots meta, Open Graph, Twitter Cards and a JSON-LD @graph, all resolved through one cascade (DB row → per-type template → config default).

Visit {admin}/seo (reachable from the Plugins page card; set twill-seo.ui.navigation_link to true for an optional top-level nav entry) to configure site-wide settings, or run php artisan twill-seo:doctor at any time to check the install.

Features

Listing columns

TwillSeo\Services\Listings\SeoScoreColumn and ReadabilityScoreColumn add a traffic-light dot to a module's index table, reading the score ScoreCache wrote on the model's last save (never running the engine live). Both hooks below live on the module's controller, not its repository — additionalIndexTableColumns() and eagerLoadListingRelations() are A17\Twill\Http\Controllers\Admin\ModuleController methods (verified against the vendored area17/twill 3.6 source):

See docs/integration.md for these two hooks in more detail.

Config

config/twill-seo.php, published by twill-seo:install:

Key Meaning
enabled Master switch (TWILL_SEO_ENABLED). When false, only the Plugins-page manifest registers — routes, views and migrations do not load.
models The closed vocabulary of managed content types, keyed by a stable string never exposed as a class name to the client. See the table below.
features.* Config-level defaults for the six feature toggles (analysis, sitemap, schema, og, twitter, hreflang) — the settings row overrides these at runtime.
title.default_template / title.separator Fallback title template and separator when nothing more specific is configured.
general.* Config-level defaults for the settings admin's General section (tagline, schema.org entity, logo/share-image media ids, social profiles) — site_name has no key here, it falls back to config('app.name') directly.
robots.default_directives Directives appended after index/noindex, follow/nofollow on every robots meta tag.
sitemap.path / sitemap.per_page / sitemap.cache_ttl Sitemap URL path, entries per paginated file, and cache TTL in seconds.
schema.pieces Extra GraphPiece classes to include in the JSON-LD graph — see docs/schema.md.
schema.search_action_enabled / schema.search_url_template Config-level defaults for the sitelinks search box — the settings row overrides these at runtime.
analysis.refresh_scores_on_save / analysis.debounce_ms / analysis.throttle Whether a save re-scores the item, the editor panel's debounce, and the analyze endpoint's rate limit.
settings.throttle Rate limit for the settings admin's PUT {admin}/seo/settings endpoint.

Each entry in models accepts:

Key Meaning
model The Eloquent/Twill model class. Required.
title_attribute Attribute used as {title} in templates. Default title.
schema_type Default schema.org @type for this content type (overridable per type in the settings admin). Default WebPage.
sitemap / sitemap_images Whether the type appears in the XML sitemap, and whether its entries include <image:image>.
image_role Twill media role used as the Open Graph/Twitter/sitemap image when the entry has no dedicated twill_seo_og_image.
url fn (Model $model, string $locale): ?string, a Class::method string, or an invokable class-string — overrides the default getFullUrl()/SeoLinkable cascade. See docs/integration.md.
content A SeoContentResolver class-string overriding the default (render the item's blocks + content_fields) for analysis.
content_fields Translated attribute names appended to the analyzed content alongside rendered blocks.
breadcrumbs fn (Model $model, string $locale): list<array{0: string, 1: ?string}> overriding the default Home → current-page breadcrumb.

Commands

Command Purpose
twill-seo:install Publish the config and report the remaining setup steps.
twill-seo:doctor Diagnose the install: plugin-page wiring, config, Twill version, database tables, every registered model (class, traits, repository, translated-attribute collisions, URL resolution), the settings row, hreflang locales, the sitemap route, built assets and a live engine smoke test. Table output; exits 1 on any failure, 0 with warnings otherwise.

Frontend assets

The built Vue apps (the editor panel and the settings admin) ship in resources/dist and are served from a package route with an ETag and a far-future cache header, so an upgrade can never leave a host running a stale copy. php artisan vendor:publish --tag=twill-seo-assets is optional; both routes prefer a published copy when one exists.

To rebuild from source: npm install && npm run build.

The Plugins page

The shared Plugins-page code ships built in — no separate dependency required. It adds a Plugins entry to the admin navigation (next to Media Library) listing every installed Yotech plugin, with a link to each plugin's own admin screen. Nothing to configure.

How it works

Further reading

License

MIT


All versions of twill-cms-seo-suite with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
ext-dom Version *
ext-mbstring Version *
illuminate/support Version ^12.0 || ^13.0
area17/twill Version ^3.6
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package yotech-ai/twill-cms-seo-suite contains the following files

Loading the files please wait ...