fmroof.com, read 3 days ago. Back to the report

88 to 100 in 13 steps

Do them in this order. Each step says what to change, on which pages, and what it adds. Hand the whole plan to your agent, or work through it yourself.

8888 nownow911top 10%93295395496596698798898999109911991210013full marks

Now #46,614 of 263,590Step 1 top 10%Step 13 full marks

Worked out from this read, with every step before it done. A score says pages are well formed. It does not say an assistant cites the site.

The steps

Each is one change across the pages named. When one is live, read the site again and mttr marks it done.

  1. 1

    Fix description lengths

    +3 points, to 91, and #20,083, 26,531 places up, and into the top 10%

    Write a meta description of 70 to 165 characters that summarizes the page.

    87 pages

    See the pages
    • /
    • /about-us
    • /about-us/about-1
    • /about-us/awards
    • /about-us/blog
    • /about-us/factory-certified
    • /about-us/licenses-and-insurance
    • /about-us/our-guarantee
    • /about-us/our-philosophy
    • /about-us/owner-info
    • and 77 more in the copied plan
  2. 2

    Describe images

    +2 points, to 93

    Describe every content image in its alt text.

    64 pages

    See the pages
    • /about-us
    • /about-us/about-1
    • /about-us/awards
    • /about-us/factory-certified
    • /about-us/licenses-and-insurance
    • /about-us/our-guarantee
    • /about-us/our-philosophy
    • /about-us/owner-info
    • /callout/free-estimate/attachment/7663
    • /callout/free-estimate/fm-free-estimate-callout
    • and 54 more in the copied plan
  3. 3

    Fix title lengths

    +2 points, to 95

    Write a title of 15 to 65 characters that leads with what the page covers.

    53 pages

    See the pages
    • /
    • /about-us
    • /about-us/about-1
    • /about-us/awards
    • /about-us/blog
    • /about-us/our-guarantee
    • /about-us/our-philosophy
    • /about-us/owner-info
    • /author/ktdemo
    • /callout/free-estimate
    • and 43 more in the copied plan
  4. 4

    Answer the first question right under it

    Under a point

    Answer the first question in the paragraph right under it, in 25 to 90 words. Whether the paragraph truly answers is for the judge or a person to say.

    2 pages

    See the pages
    • /hello-world
    • /sample-post
  5. 5

    Phrase headings as questions

    +1 point, to 96

    Phrase at least one heading as the question a person would ask.

    26 pages, 16 of them under /service/

    See the pages
    • /hello-world
    • /products/built-up-roofing-bur
    • /products/clay-tile
    • /products/composition-shingle
    • /products/concrete-tile
    • /products/modified-bitumen-app
    • /products/shake
    • /products/single-ply-tpo-pvc
    • /products/slate
    • /sample-post
    • and 16 more in the copied plan
  6. 6

    Show when guides were updated

    Under a point

    Show when the guide was last updated, and set dateModified in its schema.

    2 pages

    See the pages
    • /hello-world
    • /sample-post
  7. 7

    Match structured data to the page

    +2 points, to 98

    Use the schema type that matches the page: Article for guides, Service or Product for offers, Organization or WebSite for the home page.

    24 pages, 16 of them under /service/

    See the pages
    • /products/built-up-roofing-bur
    • /products/clay-tile
    • /products/composition-shingle
    • /products/concrete-tile
    • /products/modified-bitumen-app
    • /products/shake
    • /products/single-ply-tpo-pvc
    • /products/slate
    • /service/carpentry
    • /service/carpentry/service-carpentry
    • and 14 more in the copied plan
  8. 8

    Put figures in tables

    Under a point

    Where the guide compares options or gives figures, put them in a table.

    2 pages

    See the pages
    • /hello-world
    • /sample-post
  9. 9

    Add depth to thin pages

    Under a point

    Add true, specific detail until the page covers its subject.

    13 pages, 8 of them under /service/

    See the pages
    • /hello-world
    • /products/clay-tile
    • /products/concrete-tile
    • /products/shake
    • /sample-post
    • /service/carpentry/service-carpentry
    • /service/insulation/service-insulation
    • /service/new-construction-roofing/service-new-construction
    • /service/re-roofing/service-re-roofing
    • /service/roof-maintenance/service-roof-mainenance
    • and 3 more in the copied plan
  10. 10

    Link to pages from related content

    +1 point, to 99

    Link to this page from the text of a related page. Navigation links say a page exists; links in content say what it is related to.

    8 pages under /service/

    See the pages
    • /service/carpentry/service-carpentry
    • /service/insulation/service-insulation
    • /service/new-construction-roofing/service-new-construction
    • /service/re-roofing/service-re-roofing
    • /service/roof-maintenance/service-roof-mainenance
    • /service/roof-repair/service-roof-repair
    • /service/roof-restoration/service-roof-restoration
    • /service/sheet-metal/service-sheet-metal
  11. 11

    Set a share image

    Under a point

    Set og:image so links to the page carry a picture.

    35 pages

    See the pages
    • /
    • /about-us/blog
    • /callout/free-estimate
    • /category/uncategorized
    • /commercial-download
    • /contact-us
    • /customer-survey
    • /gallery
    • /gallery_category/commercial
    • /gallery_category/multi-family
    • and 25 more in the copied plan
  12. 12

    Use one main heading

    Under a point

    Give the page exactly one h1 that says what it is about.

    7 pages

    See the pages
    • /
    • /author/ktdemo
    • /category/uncategorized
    • /gallery_category/commercial
    • /gallery_category/multi-family
    • /gallery_category/residential
    • /review
  13. 13

    Set each page's canonical address

    +1 point, to 100, and full marks

    Add a canonical link that points to the page itself.

    5 pages, 3 of them under /gallery_category/

    See the pages
    • /author/ktdemo
    • /category/uncategorized
    • /gallery_category/commercial
    • /gallery_category/multi-family
    • /gallery_category/residential
6 more, to tidy up after 100
  1. 14

    Make near-copy pages distinct

    Under a point

    Rewrite or merge pages that share most of their text. A page that only swaps a city or product name is what search engines treat as doorway or scaled content.

    Once, for the whole site

  2. 15

    Link to orphaned pages

    Under a point

    Link to each of these from a related page. A page only the sitemap knows about is treated as unimportant.

    Once, for the whole site

  3. 16

    Speed up the server

    Under a point

    Cache pages or speed up the server. Crawlers give a slow site fewer visits.

    Once, for the whole site

  4. 17

    Add an llms.txt

    Under a point

    Add /llms.txt: a short plain text map of the site for assistants. Its effect is unproven, so treat it as cheap insurance.

    Once, for the whole site

  5. 18

    Link to your profiles

    Under a point

    Link from the home page, in its header or footer, to each profile you keep: Instagram, TikTok, YouTube, Twitch, Facebook, X, LinkedIn.

    Once, for the whole site

  6. 19

    Replace unsupported sales claims

    Under a point

    Replace the sales claim with a fact that can be checked.

    1 page

    See the pages
    • /about-us/awards

What else the read found

Half its pages take over 3,046 ms to start answering, past the 800 ms a crawler is patient with. Caching or a faster server helps every page at once. One fetch a page, the way a crawler sees it.

  • /service/roof-repair/service-roof-repair6.3 s
  • /slide/warehouse5.9 s
  • /hello-world5.7 s
  • /slide/slide-25.6 s
  • /sample-post5.5 s

Fastest: /service/roof-maintenance/service-roof-mainenance, 2,279 ms. Heaviest: /products/single-ply-tpo-pvc, 35 KB.

Read from its home page’s code and the headers its server sent. A tool that loads later, or only on other pages, is not seen here.

  • WordPressPlatform
  • nginxServer
  • Google AnalyticsAnalytics
  • jQueryLibrary
  • BootstrapLibrary
  • Google FontsFonts
  • Font AwesomeFonts
pages with strong signs
35
hidden characters
0
chat, markdown or placeholders left in
35
dashes per 1,000 words
3.1
  • /about-us/blog placeholders never filled in
  • /callout/free-estimate placeholders never filled in
  • /callout/free-estimate/attachment/7663 placeholders never filled in
  • /callout/free-estimate/fm-free-estimate-callout placeholders never filled in
  • /callout/free-estimate/fm-free-estimate-callout-2 placeholders never filled in

A sign is not proof. Hidden characters can carry a watermark or instructions meant for an AI, and they come off with a clean copy of the text.

  • / fails 4: Use one main heading, Fix description lengths and Fix title lengths1 page
  • /hello-world fails 8: Answer the first question right under it, Show when guides were updated and Add depth to thin pages1 page
  • /sample-post fails 8: Answer the first question right under it, Show when guides were updated and Add depth to thin pages1 page
  • /contact-us fails 4: Fix description lengths, Describe images and Fix title lengths1 page
  • /gallery fails 4: Fix description lengths, Describe images and Fix title lengths1 page
  • /privacy-policy fails 4: Fix description lengths, Describe images and Fix title lengths1 page
  • /review fails 4: Use one main heading, Fix description lengths and Describe images1 page
  • /sitemap fails 4: Fix description lengths, Describe images and Fix title lengths1 page
  • /terms-of-use fails 4: Fix description lengths, Describe images and Fix title lengths1 page
  • /thank-you fails 4: Fix description lengths, Describe images and Fix title lengths1 page
  • /about-us fails 3: Fix description lengths, Describe images and Fix title lengths1 page
  • /commercial-download fails 3: Fix description lengths, Describe images and Set a share image1 page

And 17 more parts of the site.

Rather go through these with one of our experts? Book a strategy session

Fix fmroof.com with your agent

Your agent makes the fixes. mttr checks each one. Free.

In the site’s repositorynpx skills add subinternal/mttr
Then tell your agentCheck fmroof.com with mttr and fix what’s worth the most.

Claude Code, Codex, Cursor or any agent that reads AGENTS.md.

Claude Code, onceclaude mcp add --transport http mttr https://mttr.si/mcp
It needs a free key
Another agent
Read it againChanged something? A site is read at most once every ten minutes.