Five New Free SEO Tools, From Word Counts to Schema
A keyword density checker, word counter, schema markup generator, UTM builder and readability checker, free in your browser, and what each number is good for.
In this article 6 sections
We have added five tools to the free set at /tools: a keyword density checker, a word and character counter, a schema markup generator, a UTM builder and a readability checker. Each runs in your browser, needs no account, and sends nothing you paste to a server. Two of them measure things that are often mistaken for ranking factors, so this post also says what each number is and is not good for.
Keyword density checker
Paste a draft or a page's body text into the keyword density checker and it lists your most repeated words and two and three-word phrases, with counts and percentages, and shows where a focus keyword falls in the text.
What it is for:
- Catching accidental stuffing. A phrase in every paragraph, or a product name where "it" would read better.
- Checking coverage. If a page about storing bread never uses the word "freeze", it probably does not answer the freezing question.
What it is not for: hitting a percentage. Keyword density is not a ranking factor, and there is no figure that makes a page rank. Google's spam policies name keyword stuffing as a violation, which is a reason to keep repetition natural, not a reason to aim for a number.
Details that make the counts trustworthy: phrases never run across a sentence end, percentages are worked out against the total word count for every phrase length so they can be compared, and the focus keyword matches whole words only, so "seo" does not match "Seoul".
Word counter and character counter
The word counter counts words, characters with and without spaces, sentences and paragraphs as you type, and estimates reading time at 238 words a minute and speaking time at 140.
It also checks the text against the lengths people look up most: whether it would fit as an SEO title, as a meta description, or as a post on X. For titles and descriptions a character count is an approximation, because search results cut text by pixel width; the existing SERP snippet preview measures that directly.
One thing it will not tell you is an ideal article length, because there is none. Word count is not a ranking factor. The right length is whatever answers the question fully.
Schema markup generator
The schema markup generator builds JSON-LD for seven types: Organization, LocalBusiness, Article, Product, BreadcrumbList, Person and WebSite. Pick a type, fill in the form and copy the finished script block. As you type it checks the properties Google requires or recommends for that type, leaves empty fields out, and escapes the text so a stray character cannot break the page.
Two choices in it are deliberate:
- No FAQ or HowTo. Google retired HowTo rich results in 2023 and FAQ rich results on 7 May 2026, so that markup no longer changes how a page looks in search. The separate FAQ schema generator remains for anyone who wants FAQPage markup for other reasons.
- Rating fields only for Product. Google does not show review stars for a business that marks up reviews of itself, so LocalBusiness and Organization have no rating fields, and Product ratings are output only when both the average and the count are filled in.
Check anything you generate with the JSON-LD validator and with Google's Rich Results Test on the published page. On WordPress, markup that should appear on every post is better generated from the content than pasted in; see schema markup overview.
UTM builder
The UTM builder adds utm_source, utm_medium, utm_campaign and the other campaign parameters to a link, and shows which GA4 channel the visits will most likely be counted under. It keeps query parameters and #fragments the link already has, and can lowercase values and replace spaces for you.
An Explain a URL mode works the other way: paste a tagged link and it says what each parameter means.
The advice built into it comes from the two mistakes that spoil campaign reports most often:
- Mixed case. GA4 stores values as written, so
Emailandemailbecome two rows. - Invented mediums. GA4's default channel group recognises values such as
email,cpc,socialandreferral. A made-up medium usually lands in Unassigned.
And one SEO point: never put UTM parameters on links within your own site. They overwrite the campaign that brought the visitor. Tagged links shared elsewhere are harmless as long as your pages carry a self-referencing canonical URL.
Readability checker
The readability checker gives the Flesch Reading Ease score and Flesch-Kincaid grade level for any text, the average sentence length, and highlights every sentence over 25 words where it stands. It also estimates passive voice and the share of sentences that use transition words. Scores update as you edit, so you can see what splitting one sentence does.
Readability scores are not ranking factors. No search engine grades pages by reading level. Both formulas look at only two things, words per sentence and syllables per word, and cannot tell whether a text makes sense. They are useful as a prompt: a low score nearly always means long sentences, and the highlighted ones are where to start.
Pick a level for your readers, not a universal target. Plain English, a Reading Ease of about 60 or more, suits most consumer pages. A tax guide or an API reference can score lower and still be right. The formulas are for English; results for other languages are not meaningful.
The rest of the set
These five join the tools already there: the SERP snippet preview, meta tag generator, robots.txt tester and generator, JSON-LD validator, hreflang tag generator, URL slug generator, llms.txt generator, redirect rule generator, Open Graph preview, XML sitemap validator and FAQ schema generator. All are free, with no sign-up.
They are meant for one-off jobs: a draft to check, one link to tag, one block of markup to produce. For work that has to stay correct across a whole WordPress site as content changes, such as schema on every post or title lengths in the editor, the free Hydrogen SEO plugin does it from your site's own data.