MathSolver schema: registering a step-by-step math solver with Google

MathSolver schema tells Google that your site solves math problems and how to send it one. It goes on your home page, typed as both MathSolver and LearningResource, and centers on a SolveMathAction whose target is a URL template with a placeholder for the math expression.

This is a niche type for a specific kind of product: a tool that takes an expression like x^2-3x=0 and returns a worked solution. A blog that explains how to factor quadratics isn't a math solver. Google also holds solvers to accuracy standards, and it can remove a site from the feature if too many answers are wrong.

One point of confusion: Google retired its practice problems feature in January 2026. That was a different type, built on Quiz markup for exercises. Math solver documentation remains live and is still listed in Google's structured data gallery.

JSON-LD example

Copy this into a <script type="application/ld+json"> tag and replace the values with your own.

json
{
  "@context": "https://schema.org",
  "@type": [
    "MathSolver",
    "LearningResource"
  ],
  "name": "StepWise Algebra Solver",
  "url": "https://example.com/",
  "usageInfo": "https://example.com/privacy-policy/",
  "inLanguage": "en",
  "learningResourceType": "Math solver",
  "potentialAction": [
    {
      "@type": "SolveMathAction",
      "target": "https://example.com/solve/?q={math_expression_string}",
      "mathExpression-input": "required name=math_expression_string",
      "eduQuestionType": [
        "Polynomial Equation",
        "Linear Equation",
        "Derivative"
      ]
    }
  ]
}

Properties

PropertyStatusWhat it is
@typeRequiredBoth types together: ["MathSolver", "LearningResource"].
urlRequiredThe URL of the solver, normally your home page.
usageInfoRequiredThe URL of your privacy policy.
potentialActionRequiredA SolveMathAction that leads to the solution or graph for an expression.
potentialAction.targetRequiredYour solver's URL with {math_expression_string} where the expression goes.
potentialAction.mathExpression-inputRequiredThe fixed annotation required name=math_expression_string.
learningResourceTypeRequiredThe fixed value Math solver.
potentialAction.eduQuestionTypeRecommendedThe problem types your solver handles, from Google's list: Polynomial Equation, Derivative, Arithmetic and so on.
inLanguageRecommendedThe language your solver works in. Language versions get separate MathSolver blocks.
assessesRecommendedProblem types covered, used when MathSolver accompanies HowTo markup for one worked problem.

How Google hands over the problem

When your solver is selected, Google fills the {math_expression_string} placeholder in your target URL and sends the searcher there. The string can arrive as LaTeX, ASCII math or plain keyboard notation, so your parser needs to accept all three.

Some problem types encode the operation in the string itself:

  • Derivatives arrive as (x^2+x)' or d/dx (x^2+x).
  • Integrals arrive as \int x^2+x or, with bounds, \int_{0}^{2} x^2+x.
  • Limits arrive as \lim sin(x)/x or \lim_{x\rightarrow0} sin(x)/x.

Test your endpoint with each form before you publish the markup. A solver that errors on half the incoming formats is exactly what Google's quality reviews catch.

Declaring problem types and languages

eduQuestionType lists the problems you can actually solve, using names from Google's list, which includes Absolute Value Equation, Arithmetic, Biquadratic Equation, Calculus, Derivative, Differential Equation, Eigenvalue, Exponential Equation, Function Composition and more. Claim only what works. Google's content rules make you responsible for the accuracy of both the problem types you declare and the solutions you return.

For several languages, publish one MathSolver block per language version, each with its own url, usageInfo, target and inLanguage. Google's example pairs an English home page with a Spanish subdomain.

Access and accuracy rules

Google doesn't allow solvers that are entirely behind a login or paywall. A searcher who arrives from Google must be able to see the solution and the step-by-step walkthrough for the problem they searched. Extra problems, saved history or advanced features can require an account.

Two other rules can get a site removed from the feature. Promotional content dressed up as a solver, such as affiliate pages posted by third parties, isn't allowed. And if Google's quality reviews find that enough of your data is inaccurate, your solver can be pulled until you fix it.

Math solver markup on a WordPress front page

If your solver runs on WordPress, perhaps as a JavaScript app on the front page backed by an API, print the markup only on the home page. WordPress already knows your privacy page, so use get_privacy_policy_url() for usageInfo:

php
add_filter( 'hydrogen_seo_schemas', function ( $schemas ) {
    if ( is_front_page() ) {
        $schemas[] = [
            '@context'             => 'https://schema.org',
            '@type'                => [ 'MathSolver', 'LearningResource' ],
            'name'                 => get_bloginfo( 'name' ),
            'url'                  => home_url( '/' ),
            'usageInfo'            => get_privacy_policy_url(),
            'learningResourceType' => 'Math solver',
            'potentialAction'      => [ [
                '@type'                => 'SolveMathAction',
                'target'               => home_url( '/solve/?q={math_expression_string}' ),
                'mathExpression-input' => 'required name=math_expression_string',
            ] ],
        ];
    }
    return $schemas;
} );

get_privacy_policy_url() returns an empty string when no privacy page is set under Settings → Privacy, so set one first. If identical copies of the solver live at several URLs, add canonical tags so Google knows which one to use.

Common questions

Can a math tutoring blog use MathSolver markup?

Not for articles. It's for a tool that takes a math expression and returns a solution. Explanatory posts don't qualify.

Where does the markup go?

On your site's home page, which is also the value of url.

Can the solution be behind a paywall?

Not entirely. The solution and step-by-step walkthrough for the searcher's first problem must be accessible. Additional content can be gated.

What happens if my solver gives wrong answers?

Google may remove it from the math solver feature until the accuracy problems are fixed.