Paste or import your article, then watch both scores update as you edit. Fourteen SEO checks for search engines, ten GEO checks for AI answer engines. Everything runs in your browser, nothing is uploaded.
SEO scores how well this article is set up to rank in classic search results. Everything is calculated in your browser. Nothing is uploaded or stored.
For twenty years the job was to earn a position in a list of links. That job has not disappeared, but a second one has appeared alongside it. A growing share of searches now end inside an answer written by a model, assembled from a handful of sources it decided to trust. You are no longer competing only for a rank. You are competing to be one of the few pages a generative engine pulls from.
Generative engine optimization, or GEO, is the practice of structuring content so those systems can extract it and are willing to cite it. It rewards things classic SEO is largely indifferent to: whether the opening paragraph answers the question outright, whether claims carry verifiable numbers, whether a section can be lifted out and still make sense on its own.
The two scores in this tool are separate because they can genuinely diverge. A keyword-perfect article with no data and no sources scores well on SEO and poorly on GEO. A well-researched explainer with a vague title and no meta description does the reverse. Most articles are weaker on one side than the other, and the fastest improvement usually comes from whichever panel is redder.
The GEO score is weighted rather than a simple pass count, because these signals are not equally important. Statistics and citations carry the most weight, which reflects what actually moves visibility in generative engines.
This tool handles the one-off case well, and it is free precisely because the one-off case should be. The difficulty arrives later. You publish weekly across two or three product blogs, each post is translated into a dozen languages, and every one of those translations is its own page with its own title, its own meta description, and its own score. Nobody is going to paste four hundred URLs into a text box.
That is the problem Kamaan is built around. You write a post once. It auto-translates into up to 99 languages, each at its own URL with correct reciprocal hreflang, per-language canonical, localized schema, and clean social meta, delivered over a REST API to whatever frontend you run. The scoring is not a tab you remember to open, it is attached to every article on every site, and you can drive the whole thing from Claude, ChatGPT, or Cursor over MCP.
Use the tool above as often as you like on individual pieces. When keeping every piece correct stops being something one person can hold in their head, that is what Kamaan is for.
SEO optimizes for a ranked list of blue links: the right keyword in the right places, a clean title and description, sensible length and structure. GEO, or generative engine optimization, optimizes for being quoted inside an answer that ChatGPT, Perplexity, or Google AI Overviews writes for the user. The two overlap but reward different things. SEO cares that your keyword appears in the title. GEO cares that a model can lift one self-contained paragraph out of your article and trust it enough to cite it.
Yes, and the good news is that most of the work is shared. An article that answers the question early, cites real sources, uses clean heading levels, and includes concrete numbers does well on both scores. The panels are separate here so you can see which of the two you are currently weaker on, not because you should pick one.
No. Every check in this tool is a pure function that runs in your browser on the text in the box. There is no request to a server, no database, and no account. Close the tab and the article is gone. That is also why there is no save button: we deliberately do not keep a copy.
The most common cause is an empty target keyword. Six of the fourteen SEO checks test where your keyword appears, so with the field blank they cannot be judged. This tool skips them rather than failing them, and tells you how many were skipped, so an empty keyword lowers the number of checks rather than your score. If the score is still low, open each category and look at the red rows: they name the specific fix.
A statistic is a specific figure: a percentage, a multiplier like "3x faster", a currency amount, a large number, a ranking, or a ratio like "9 out of 10". You need at least two distinct ones. A citation is an external link written in Markdown syntax, and again you need at least two. If your article lists bare URLs under a "## Sources" heading instead, that counts too.
They are measuring different things. 600 words is roughly the point at which an article covers a topic well enough to compete in classic search. Generative engines behave differently: they favour sources that treat a subject exhaustively, because a thorough page is more likely to contain the specific sub-answer a user asked for. Both thresholds are floors, not targets. Do not pad an article to hit either one.
Yes. Use the Import .md button to load a local Markdown or plain text file, or just paste the text straight into the editor. The file is read in your browser with the FileReader API and never leaves your machine. Formatting is limited to headings, bold, italic, lists, quotes, inline code, and links, which is everything the scores actually measure.
This tool is standalone and intentionally simple: one article, no account, nothing saved. Inside Kamaan the same ideas run against every article on every blog you own, with the extra checks that only make sense when we know your URL slug, featured image, author, and schema type, plus per-language scoring for every translation you publish. The tool shows you the scoring. Kamaan applies it continuously, at scale.