How can a math solver declare the problems it supports?

The Citead team, updated

In short. Use Google's documented problem type labels in potentialAction.eduQuestionType for each SolveMathAction endpoint.

Definition: A math solver declares supported problem types with eduQuestionType on each SolveMathAction in MathSolver.potentialAction. The value names the problem types handled by that action's target endpoint, using Google's documented problem type definitions.

Key facts

  • Google's MathSolver structured data documentation describes potentialAction.eduQuestionType as a recommended Text property containing the problem types that the action target can solve.
  • The same documentation lists labels such as Polynomial Equation, Derivative, Statistics, System of Equations, and Trigonometry.
  • Google shows one action with an array for a solver that handles polynomial equations and derivatives, and two actions when polynomial and trigonometric equations use different endpoints.
  • The Google list is an example list and is explicitly described as non-exhaustive.
  • Schema.org defines eduQuestionType as a property for the format of a question in a learning resource and gives Multiple choice, Open ended, and Flashcard as examples. Its expected value type is Text.

Where does eduQuestionType go?

Put the property inside the SolveMathAction object nested in potentialAction. The Google page says that potentialAction.target is the URL entry point for the action and that the target accepts a string representing the mathematical expression being solved. A compact action can therefore look like this:

"potentialAction": [{
  "@type": "SolveMathAction",
  "target": "https://mathdomain.com/solve?q={math_expression_string}",
  "mathExpression-input": "required name=math_expression_string",
  "eduQuestionType": "Polynomial Equation"
}]

Google's example uses the literal label Polynomial Equation. The related mathExpression-input annotation identifies the placeholder sent to the endpoint, while target identifies the endpoint itself.

How do you represent several supported problems?

Use an array when one endpoint handles several documented problem types. Google's one-action example assigns Polynomial Equation and Derivative to the same action. It also shows two SolveMathAction objects when a polynomial endpoint and a trigonometric endpoint are separate. In that pattern, each action carries its own target and its own eduQuestionType value.

The documented list includes specific labels such as Quadratic Equation, Radical Inequality, Integral, Limit, Matrix, Slope, and Trigonometry. It also includes broader labels such as Algebra, Calculus, Geometry, and Linear Algebra, with examples of narrower problems that can accompany them. Use the spelling shown in Google's list for the label that describes the endpoint.

Which definitions does Google provide?

Google calls its table “Problem Type Definitions” and says the entries can be used as eduQuestionType for a MathSolver.potentialAction. The table pairs a label with a short description and an example. For instance, Polynomial Equation is illustrated with x^5 - 3x = 0, while Statistics is illustrated with finding the mean of a set of numbers.

Schema.org supplies the vocabulary definition behind the property. It describes eduQuestionType as indicating the format of a question that is part of a learning resource, with a Text value. Google's MathSolver guide supplies the feature-specific use and its math problem labels, so the Google table is the reference for this implementation.

If a MathSolver also accompanies a HowTo that walks through one math problem, Google says the same problem type definitions can be used for the assesses field. That field describes the problem type assessed by the walkthrough, while potentialAction.eduQuestionType describes the problems handled by an action endpoint.

How can you check the markup?

Google's MathSolver documentation, last updated 18 December 2025, recommends validating the structured data with the Rich Results Test and using URL Inspection after deployment. It also says the home page must be accessible to Google and must not be blocked by robots.txt, a noindex tag, or login requirements. Check that each declared label matches the actual capability of its endpoint because Google includes the accuracy of declared problem types in its content guidance.

FAQ

Can one SolveMathAction declare more than one problem type?

Yes. Google's example assigns an array containing Polynomial Equation and Derivative to one action. Use separate action objects when different problem types have different target endpoints.

Should the value be a free-form description?

For Google's MathSolver feature, use the documented Problem Type Definitions and their labels, such as Polynomial Equation or Trigonometry. Schema.org defines the property value as Text.

Does eduQuestionType identify the endpoint?

No. target identifies the action entry point. eduQuestionType names the problem types that the endpoint is capable of solving.

Sources

  1. Google Search Central, "Math Solver (MathSolver) structured data", 18 December 2025
  2. Schema.org, "eduQuestionType", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark