Skip to content
Grav 2.0 is officially stable. Read the announcement →
Premium / SEO Magic
Premium Plugin · v7.0.10

SEO Magic

Powerful SEO Tools and Scanner

An essential tool for getting to grips with SEO on your site. Builds on top of Grav's features to automatically generate SEO-friendly OpenGraph tags for beautiful embedding. Fast site crawling and analysis of all pages with per-page customization of all elements, as well as SEO Report that can help you isolate problem-areas in your SEO strategy.

Grav 1.7+

Everything you need. Nothing you don’t.

Over 22 distinct features and integrations, out of the box.

01
⭐ New - New SEO Magic dashboard with paginated site-wide report and quick access to problematic pages
02
⭐ New - Faster performance with asynchronous batch processing
03
Automatically generate meta and OpenGraph tags for embedding on other sites
04
Automatic generation of unique page screenshots via WebShot service for meta image used in embeds
05
Generate Twitter and Facebook specific OpenGraph tags
06
Page-level SEO Reporting
07
new Site-wide SEO Report for all pages
08
new Broken-link checker via Admin or CLI
09
Global level configuration settings with page-level overrides for maximum flexibility
10
Automatically add robots meta tag if a robots.txt file is not found
11
High performance architecture that crawls and pre-processes SEO page data asynchronously
12
Automatically generate descriptions and keywords used for meta tags
13
Fully Multi-language compatible
14
Support for PHP.Science Textrank algorithm for generating descriptions with support for English, French, German, Italian, Spanish, Norwegian, Russian, and Indonesian languages
15
Ability to add, or replace custom keywords to generated keywords
16
Ability to define custom CSS selectors to target HTML tags used to generate automatic content
17
Custom User Agent string to allow you to remove data crawls from analytics
18
Utilizes Grav's sitemap plugin to crawl and generate SEO data
19
High-performance parallel multi-connection crawling generates results fast!
20
Easy access to data generation via CLI command and Admin plugin configuration, plus quick-tray
21
Flexible meta image options including WebShot, Page-image, Page-attribute, Automatic
22
Comprehensive page-level SEO Report covers: Metadata, CSS Stylesheets, JavaScript, Header tag usage, Semantic HTML, bad HTML, content images, content links, and provides a summary of the keyword usages in content
OpenGraph Preview

OpenGraph Preview

See a dynamic representation of your OpenGraph card as seen when embedded in other sites and applications such as Facebook, Twitter, Slack, Discord, MS Teams, etc. SEO Magic provides the ability to use the existing HTML title, or a custom title and description.

What's Your Score?

The SEO Magic Report is automatically generated and can help you address issues and optimize your content to ensure strong SEO performance. The report is based on SEO best-practices and helps you identify short falls in Metadata, CSS Stylesheets, JavaScript, Header tag usage, Semantic HTML, bad HTML, content images, content links. The report also provides a summary of the keyword usages in content and even a debug log of your page crawl.

What's Your Score?
Site Reporting

Site Reporting

SEO Magic now provides a easy-to-read site-wide report, utilizing the Grav Admin Reports, to obtain a high-level view of your SEO for all pages. You can quickly link to any problematic page and address any of the issues identified. See the total page score, a summary of section scores and any broken links.

Simple and Efficient Link Checking

Another new feature is the much-requested link-checker. It can be run as part of the SEO Magic data generation, or directly via a simple to use CLI Command. The results show up in the page and site reports, but can also be easily integrated with the Grav Scheduler to provide a periodic report of your site's broken link status. Broken links are a major contributor to poor SEO results, so it's key to address these to ensure best results.

Simple and Efficient Link Checking
High-Performance Crawling

High-Performance Crawling

SEO Magic is powered by asychronous data crawling that ensures maximum performance for your site because this work doesn't need to be done on-page-load. This crawling process is also heavily optimized using multiple parallel connections to quickly and efficiently crawl your website. This also has the side-benefit of pre-populating your site's cache.

Full Control

SEO Magic has flexible configuration options that set your preferences site-wide. When you navigate to a page you will have access to a dedicated SEO Magic tab that allows you to override the settings for that page as well as directly access the SEO Report for that page.

Full Control

Sample SEO Report

This is the kind of detail you can expect to find in the report you will be able to access and review for every page on our site.
https://rocket-history.com

Frequently Asked Questions

The most commonly asked questions about the SEO Magic plugin

What is coming soon for SEO Magic?

We have lots of great features planned for upcoming releases of SEO magic. Once purchased, you will be able to update SEO Magic whenever you like to get access to the new functionality. Below is a working list of things we plan on bringing to SEO Magic in the near future:

  • Site-wide broken-link report
  • Multi-language is currently working with generated data and changing languages but requires saving the page. Future improvements will focus on the crawler that collects the multi-language data.
  • Move to lang strings for translation support
  • Support for admin themes
  • Per page summary report with resolution steps
  • Keyword density score
  • Quick CLI-based summary report
  • Additional SEO impacting elements taken into account in the report
  • Improve printability of the report, perhaps a PDF version for clients
  • More configuration option for WebShot page screenshot snapshot service
  • Global report option. This will generate a high level report of your entire site
  • Improved scoring algorithm
  • Quick Score View in flex pages context menu
  • Lazy-loading or other performance improvements when generating a report
Does SEO Magic have multi-language support?

Yes in version 3.0 we added full multi-language support and the ability to translate language strings

Can I provide a translation for SEO Magic settings?

Yes, please start a new Discussion on the Premium Issues GitHub Project and tag it with the Translations category. Then please attach the translated YAML file.

Can I print the SEO Report?

Due to limitations in the Grav admin, printing via the browser is not currently possible. We plan on developing a solution to solve this in an upcoming release.

How does the SEO Score get calculated?

We have compiled an extensive list of SEO best-practices and the closer you come to following all the best practices, the closer to 100% your score will be. This is not an absolute score that guarantees SEO ranking, it just is based on automated test we can do following various best practices. Every search engine has it's own proprietary SEO ranking logic, and it's carefully guarded for obvious reasons. If you have a strong SEO Report score, along with solid content, and quality in-bound and out-bound links, you should be in great shape SEO-wise!

$75 Buy Now

SEO Magic Changelog

v7.0.10

1 week ago

    • The width and height given for your social card image are now measured from the image itself, instead of repeating the size set in the plugin options. Those options describe the size the plugin aims for, but only images it resizes itself ever reach it: a webshot screenshot or a default_image is passed straight through at whatever size it arrives at. Sites set to 1200x630 could be telling Facebook, LinkedIn and X one size while serving another, and cards were laid out against numbers the image did not keep. When an image has not been measured yet, the width and height are now left out rather than guessed, and appear once the image has been fetched once.
    • A default_image written as a path on your own site, such as /user/themes/mytheme/images/og.jpg, is now found on disk and measured. Only a full web address was being resolved before, so those sites got no width or height at all.
    • The secure address of the social card image is now sent as og:image:secure_url, the name the Open Graph protocol actually defines. It was previously sent as og:image:secure, which scrapers ignore.

v7.0.9

2 weeks ago

    • Added SoftwareApplication structured data for sites whose subject is a piece of software, such as an app, a CMS or a library. Search and answer engines build the candidate set for category queries largely from typed nodes like this, so prose describing the product is not enough on its own. Off by default, and home-page-only when enabled, with per-page overrides so a product landing page can describe itself separately.
    • The process and link-checker commands no longer refuse to run when you give them the full web address of a sitemap, which already tells them where the site is.
    • When a command does need to be told where the site is, it now suggests running it with --env if this install has environment configurations, instead of only offering to change user/config/system.yaml.

v7.0.8

3 weeks ago

    • Fixed saving a page in Admin failing with "Failed to save entry: Encoding JSON failed" on sites whose content uses accented characters, such as Italian, Spanish and Portuguese. The generated summary was being cut to length by byte rather than by character, which could slice an accented character in half and leave text that could not be stored.

v7.0.7

4 weeks ago

    • Saving a page in Admin now returns straight away and regenerates its SEO data in the background, instead of making you wait for the page and every link on it to be fetched (grav-premium-issues#610).
    • Links to your own pages are now checked against Grav's own routes rather than fetched one by one, which is dramatically faster and counts several route aliases for the same page only once.
    • The internal and external link concurrency settings now genuinely check links side by side, and are available in the plugin options.
    • Email, phone and in-page anchor links are no longer fetched as if they were web addresses, and the report now shows them as nothing to check.
    • The scheduler can now pick up any page whose SEO data is still pending, and the full site crawl and link check are configurable in the plugin options.
    • Broken links to your own pages are now reported as broken instead of always coming back as working.
    • The process and link-checker commands, and the scheduled jobs that run them, no longer report "no pages to process" on a site full of pages.
    • Running those commands without a site address configured now says so, instead of quietly fetching every page from http://localhost and storing the results as broken.

v7.0.6

2 months ago

    • Fixed the page links in the SEO Magic dashboard summary opening a broken 404 route instead of the page editor when the admin isn't installed at the site root.
    • Fixed custom keywords saving as an object instead of a plain comma-separated string in the page frontmatter.
    • Fixed the custom title, description, and keywords fields losing focus while typing, so you can now enter text and add multiple keywords without re-clicking.

v7.0.5

3 months ago

    • The dynamic meta image URL now also works without a file extension, so older cached pages and previously shared social links keep resolving.
    • Fixed PHP 8.4 deprecation warnings from implicitly nullable function parameters.

v7.0.4

3 months ago

    • Meta image generation now serves the original image untouched if resizing fails, instead of returning a broken response.
    • Added a "Process Image" option to serve the original meta image without resizing, useful when a host's image library is unstable.

v7.0.3

3 months ago

    • The SEO-Magic sidebar entry and Crawl toolbar button are now hidden from users who can't read pages. Requires grav-plugin-api ≥ 1.0.0-rc.11.

v7.0.2

4 months ago

    • Fixed Re-crawl failing to (re)create the user/data/seo-magic/ directory on a fresh install or after a Purge / Delete SEO Data. The previous PHP 8.5 stream resolve-step ran before the target path existed, so the write silently no-op'd.

v7.0.1

4 months ago

    • Blueprint typo