relaticle/ink
Filament-native content publishing for Laravel: Eloquent models, full admin for posts/categories, SEO + JSON-LD, RSS, search, Blade UI components, and 13 MCP tools for AI agents. Headless by default with optional public blog routes.
The package emits JSON-LD schema automatically for blog content. Each schema type can be toggled in config/ink.php.
| Schema | Where | Toggle |
|---|---|---|
BlogPosting |
Post pages | Always on (via Post::getDynamicSEOData()) |
BreadcrumbList |
Post pages | Always on |
FAQPage |
Post pages with ## FAQ section |
schema.faq_auto (default true) |
HowTo |
Post pages with ## Steps section |
schema.howto_auto (default false) |
Blog |
/blog index |
Always when public-routes mode is on |
CollectionPage |
/blog, /blog/category/{slug}, /blog/tag/{slug} |
Always when public-routes mode is on |
To trigger FAQPage emission, include a ## FAQ heading followed by ### Question? and a paragraph answer:
## FAQ
### Does the package auto-emit schema?
Yes — FAQ schema is on by default.
### Can I turn it off?
Set `schema.faq_auto` to `false`.
To trigger HowTo emission, opt in via schema.howto_auto = true and write a ## Steps section with ### Step Name headings:
## Steps
### Install the package
Run `composer require relaticle/ink`.
### Publish the config
Run `php artisan vendor:publish --tag=ink-config`.
Each ### heading becomes a HowToStep with auto-incremented position.
'schema' => [
'faq_auto' => false,
'howto_auto' => false,
],
The BlogPosting + BreadcrumbList schemas remain on regardless — they're considered baseline for any blog.
After publishing, paste a post URL into Google Rich Results Test or the Schema.org Validator to confirm zero errors.
How can I help you explore Laravel packages today?