Demo: this is what a customer sees after their audit, shown for books.toscrape.com, a public practice site made for testing. Buttons are switched off here.

Do it yourself

Step by step, in your own site editor. No connection needed.

Do it yourself: 27 fixes, page by page

No connection to your site needed. Every new value is written for you: open your Your code (GitHub) editor, follow the steps, copy and paste. Tick each fix when you're done.

0 of 27 done

Steps for Your code (GitHub). Not right? Pick yours: WordPress Shopify Wix Webflow Ghost HubSpot CMS BigCommerce Your code (GitHub) Squarespace GoDaddy Website Builder Framer Square Online / Weebly Duda Carrd Google Sites Your website

"Check my site" reads your public pages and ticks off the fixes that are live now.

Rather not do it yourself? Fix it for me (connect your site): one click, with undo.

Page: / 0 of 5 done

Open this page

Google search title

Same title as 2 other page(s), so Google can't tell them apart.

Now: Google search title (<title>): All products | Books to Scrape - Sandbox

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <title> (or Next.js metadata.title) to the text below.
  3. Commit and deploy.
Page title
All Books | Books to Scrape

How to check it worked: Open the page in a private browser window, right-click and choose "View page source", then search (Ctrl+F) for <title>. It should show the new title. Google updates its results after it next visits the page (usually days to a few weeks).

Google search description

This page has no meta description, so Google picks random text for the snippet.

Now: (none)

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Browse the Books to Scrape catalog, with titles including A Light in the Attic and Tipping the Velvet. Explore the listed books and find a read.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
All Books | Books to Scrape
og:description
Browse the Books to Scrape catalog, with titles including A Light in the Attic and Tipping the Velvet. Explore the listed books and find a read.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Business details for Google

Tells Google your business name, logo and social profiles (Organization).

Now: None yet

  1. Paste the code below inside <head> of the page template (Next.js: render it with <script type="application/ld+json"> in the page component).
  2. Commit and deploy.
Code for the <head>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://books.toscrape.com/#organization","name":"Books to Scrape","url":"https://books.toscrape.com/"}</script>

How to check it worked: Open Google's Rich Results Test (search.google.com/test/rich-results), paste the page address and run it: it should find the business details without errors.

Business details for Google

Tells Google the official name of your site (WebSite), used in search results.

Now: None yet

  1. Paste the code below inside <head> of the page template (Next.js: render it with <script type="application/ld+json"> in the page component).
  2. Commit and deploy.
Code for the <head>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","@id":"https://books.toscrape.com/#website","name":"Books to Scrape","url":"https://books.toscrape.com/"}</script>

How to check it worked: Open Google's Rich Results Test (search.google.com/test/rich-results), paste the page address and run it: it should find the business details without errors.

Whole site 0 of 1 done

Always use the secure (https) address

The insecure http:// version of your site still loads; it should redirect to https://.

Now: (none)

  1. Make sure your site has an SSL certificate (most hosts and site builders include one free).
  2. Turn on "Force HTTPS" / "Always use HTTPS" in your host or builder settings (Cloudflare: SSL/TLS → Edge Certificates → Always Use HTTPS).
  3. Then update any links or images that still start with http://.

How to check it worked: Type your address starting with http:// into your browser: the address bar should switch to https:// with a padlock.

Page: /catalogue/a-light-in-the-attic_1000/index.html 0 of 2 done

Open this page

Google search description

The description is 1017 characters; it gets cut off after about 160.

Now: Google search description (meta description): It's hard to imagine a world without A Light in the Attic. This now-classic collection of poetry and drawings from Shel Silverstein celebrates its 20th anniversary with this special edition. Silverstein's humorous and creative verse can amuse the dowdiest of readers. Lemon-faced adults and fidgety kids sit still and read these rhythmic words and laugh and smile and love th It's hard to imagine a world without A Light in the Attic. This now-classic collection of poetry and drawings from Shel Silverstein celebrates its 20th anniversary with this special edition. Silverstein's humorous and creative verse can amuse the dowdiest of readers. Lemon-faced adults and fidgety kids sit still and read these rhythmic words and laugh and smile and love that Silverstein. Need proof of his genius? RockabyeRockabye baby, in the treetopDon't you know a treetopIs no safe place to rock?And who put you up there,And your cradle, too?Baby, I think someone down here'sGot it in for you. Shel, you never sounded so good. ...more

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Explore A Light in the Attic, a poetry and drawings collection by Shel Silverstein. Read about its humorous verse and special anniversary edition.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
A Light in the Attic | Books to Scrape - Sandbox
og:description
Explore A Light in the Attic, a poetry and drawings collection by Shel Silverstein. Read about its humorous verse and special anniversary edition.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /catalogue/page-2.html 0 of 3 done

Open this page

Google search title

Same title as 2 other page(s), so Google can't tell them apart.

Now: Google search title (<title>): All products | Books to Scrape - Sandbox

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <title> (or Next.js metadata.title) to the text below.
  3. Commit and deploy.
Page title
Books on Page Two | Books to Scrape

How to check it worked: Open the page in a private browser window, right-click and choose "View page source", then search (Ctrl+F) for <title>. It should show the new title. Google updates its results after it next visits the page (usually days to a few weeks).

Google search description

This page has no meta description, so Google picks random text for the snippet.

Now: (none)

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Browse more catalog listings, including In Her Wake, How Music Works, and Black Dust. View the books shown on page two and explore each title.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
Books on Page Two | Books to Scrape
og:description
Browse more catalog listings, including In Her Wake, How Music Works, and Black Dust. View the books shown on page two and explore each title.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /catalogue/sapiens-a-brief-history-of-humankind_996/index.html 0 of 2 done

Open this page

Google search description

The description is 1945 characters; it gets cut off after about 160.

Now: Google search description (meta description): From a renowned historian comes a groundbreaking narrative of humanity’s creation and evolution—a #1 international bestseller—that explores the ways in which biology and history have defined us and enhanced our understanding of what it means to be “human.”One hundred thousand years ago, at least six different species of humans inhabited Earth. Yet today there is only one—h From a renowned historian comes a groundbreaking narrative of humanity’s creation and evolution—a #1 international bestseller—that explores the ways in which biology and history have defined us and enhanced our understanding of what it means to be “human.”One hundred thousand years ago, at least six different species of humans inhabited Earth. Yet today there is only one—homo sapiens. What happened to the others? And what may happen to us?Most books about the history of humanity pursue either a historical or a biological approach, but Dr. Yuval Noah Harari breaks the mold with this highly original book that begins about 70,000 years ago with the appearance of modern cognition. From examining the role evolving humans have played in the global ecosystem to charting the rise of empires, Sapiens integrates history and science to reconsider accepted narratives, connect past developments with contemporary concerns, and examine specific events within the context of larger ideas.Dr. Harari also compels us to look ahead, because over the last few decades humans have begun to bend laws of natural selection that have governed life for the past four billion years. We are acquiring the ability to design not only the world around us, but also ourselves. Where is this leading us, and what do we want to become?Featuring 27 photographs, 6 maps, and 25 illustrations/diagrams, this provocative and insightful work is sure to spark debate and is essential reading for aficionados of Jared Diamond, James Gleick, Matt Ridley, Robert Wright, and Sharon Moalem. ...more

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Explore Yuval Noah Harari's account of humanity through biology and history, from evolving humans and empires to questions about our future.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
Sapiens: A Brief History of Humankind | Books to Scrape - Sandbox
og:description
Explore Yuval Noah Harari's account of humanity through biology and history, from evolving humans and empires to questions about our future.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /catalogue/sharp-objects_997/index.html 0 of 2 done

Open this page

Google search description

The description is 1635 characters; it gets cut off after about 160.

Now: Google search description (meta description): WICKED above her hipbone, GIRL across her heart Words are like a road map to reporter Camille Preaker’s troubled past. Fresh from a brief stay at a psych hospital, Camille’s first assignment from the second-rate daily paper where she works brings her reluctantly back to her hometown to cover the murders of two preteen girls. NASTY on her kneecap, BABYDOLL on her leg Since WICKED above her hipbone, GIRL across her heart Words are like a road map to reporter Camille Preaker’s troubled past. Fresh from a brief stay at a psych hospital, Camille’s first assignment from the second-rate daily paper where she works brings her reluctantly back to her hometown to cover the murders of two preteen girls. NASTY on her kneecap, BABYDOLL on her leg Since she left town eight years ago, Camille has hardly spoken to her neurotic, hypochondriac mother or to the half-sister she barely knows: a beautiful thirteen-year-old with an eerie grip on the town. Now, installed again in her family’s Victorian mansion, Camille is haunted by the childhood tragedy she has spent her whole life trying to cut from her memory. HARMFUL on her wrist, WHORE on her ankle As Camille works to uncover the truth about these violent crimes, she finds herself identifying with the young victims—a bit too strongly. Clues keep leading to dead ends, forcing Camille to unravel the psychological puzzle of her own past to get at the story. Dogged by her own demons, Camille will have to confront what happened to her years before if she wants to survive this homecoming.With its taut, crafted writing, Sharp Objects is addictive, haunting, and unforgettable. ...more

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Follow reporter Camille Preaker as she returns home to cover two murders and confronts her troubled past. Explore the book's story and details.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
Sharp Objects | Books to Scrape - Sandbox
og:description
Follow reporter Camille Preaker as she returns home to cover two murders and confronts her troubled past. Explore the book's story and details.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /catalogue/soumission_998/index.html 0 of 2 done

Open this page

Google search description

The description is 1093 characters; it gets cut off after about 160.

Now: Google search description (meta description): Dans une France assez proche de la nôtre, un homme s’engage dans la carrière universitaire. Peu motivé par l’enseignement, il s’attend à une vie ennuyeuse mais calme, protégée des grands drames historiques. Cependant les forces en jeu dans le pays ont fissuré le système politique jusqu’à provoquer son effondrement. Cette implosion sans soubresauts, sans vraie révolution, s Dans une France assez proche de la nôtre, un homme s’engage dans la carrière universitaire. Peu motivé par l’enseignement, il s’attend à une vie ennuyeuse mais calme, protégée des grands drames historiques. Cependant les forces en jeu dans le pays ont fissuré le système politique jusqu’à provoquer son effondrement. Cette implosion sans soubresauts, sans vraie révolution, se développe comme un mauvais rêve.Le talent de l’auteur, sa force visionnaire nous entraînent sur un terrain ambigu et glissant ; son regard sur notre civilisation vieillissante fait coexister dans ce roman les intuitions poétiques, les effets comiques, une mélancolie fataliste.Ce livre est une saisissante fable politique et morale. ...more

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Read about a university career in a France facing political collapse in Soumission, a political and moral fable presented on this book page.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
Soumission | Books to Scrape - Sandbox
og:description
Read about a university career in a France facing political collapse in Soumission, a political and moral fable presented on this book page.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /catalogue/the-dirty-little-secrets-of-getting-your-dream-job_994/index.html 0 of 3 done

Open this page

Google search title

The title is 78 characters; Google cuts it off after about 60.

Now: Google search title (<title>): The Dirty Little Secrets of Getting Your Dream Job | Books to Scrape - Sandbox

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <title> (or Next.js metadata.title) to the text below.
  3. Commit and deploy.
Page title
The Dirty Little Secrets of Getting Your Dream Job

How to check it worked: Open the page in a private browser window, right-click and choose "View page source", then search (Ctrl+F) for <title>. It should show the new title. Google updates its results after it next visits the page (usually days to a few weeks).

Google search description

The description is 1857 characters; it gets cut off after about 160.

Now: Google search description (meta description): Drawing on his extensive experience evaluating applicants for his marketing agency, and featuring stories based on real-life situations, sample cover letters, resumes, and straightforward advice, Don Raskin’s The Dirty Little Secrets of Getting Your Dream Job offers all the necessary tools for navigating the tough job market and securing your dream job.Don Raskin owns and Drawing on his extensive experience evaluating applicants for his marketing agency, and featuring stories based on real-life situations, sample cover letters, resumes, and straightforward advice, Don Raskin’s The Dirty Little Secrets of Getting Your Dream Job offers all the necessary tools for navigating the tough job market and securing your dream job.Don Raskin owns and operates MME, an advertising and marketing agency in New York City. During his twenty-five years at the agency he has interviewed hundreds of new college graduates for positions within his agency and has placed a strong emphasis on entry-level recruitment for positions in creative, account management, traffic, and production. Raskin has also mentored countless students and their parents on best practices for the job search. Over the years, Raskin has kept exceptionally detailed notes on the interviews he has conducted, observing the good, the bad, the ridiculous, the irreverent. He also has a treasure trove of over-the-top cover letters, resumes, interviews, and post interview follow-ups he has conducted and received. Now, he wants to share all the wisdom and insider secrets he has gathered to help students and first-time job seekers find a job in this economy.Based on his remarkable expertise, Raskin's book provides exclusive insight into the job search process and lets readers in on all of the dirty little secrets to landing their first job—or a new one—and finding career success. ...more

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Find practical job search guidance, with sample cover letters, resumes, interview stories, and advice from marketing agency owner Don Raskin.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
The Dirty Little Secrets of Getting Your Dream Job
og:description
Find practical job search guidance, with sample cover letters, resumes, interview stories, and advice from marketing agency owner Don Raskin.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /catalogue/the-requiem-red_995/index.html 0 of 2 done

Open this page

Google search description

The description is 995 characters; it gets cut off after about 160.

Now: Google search description (meta description): Patient Twenty-nine.A monster roams the halls of Soothing Hills Asylum. Three girls dead. 29 is endowed with the curse…or gift of perception. She hears messages in music, sees lyrics in paintings. And the corn. A lifetime asylum resident, the orchestral corn music is the only constant in her life.Mason, a new, kind orderly, sees 29 as a woman, not a lunatic. And as his bel Patient Twenty-nine.A monster roams the halls of Soothing Hills Asylum. Three girls dead. 29 is endowed with the curse…or gift of perception. She hears messages in music, sees lyrics in paintings. And the corn. A lifetime asylum resident, the orchestral corn music is the only constant in her life.Mason, a new, kind orderly, sees 29 as a woman, not a lunatic. And as his belief in her grows, so does her self- confidence. That perhaps she might escape, might see the outside world. But the monster has other plans. The missing girls share one common thread...each was twenty-nine's cell mate. Will she be next? ...more

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Enter Soothing Hills Asylum, where patient 29 hears messages in music and a new orderly sees her as a woman. Discover the story behind the danger.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
The Requiem Red | Books to Scrape - Sandbox
og:description
Enter Soothing Hills Asylum, where patient 29 hears messages in music and a new orderly sees her as a woman. Discover the story behind the danger.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /catalogue/tipping-the-velvet_999/index.html 0 of 2 done

Open this page

Google search description

The description is 1029 characters; it gets cut off after about 160.

Now: Google search description (meta description): "Erotic and absorbing...Written with starling power."--"The New York Times Book Review " Nan King, an oyster girl, is captivated by the music hall phenomenon Kitty Butler, a male impersonator extraordinaire treading the boards in Canterbury. Through a friend at the box office, Nan manages to visit all her shows and finally meet her heroine. Soon after, she becomes Kitty's "Erotic and absorbing...Written with starling power."--"The New York Times Book Review " Nan King, an oyster girl, is captivated by the music hall phenomenon Kitty Butler, a male impersonator extraordinaire treading the boards in Canterbury. Through a friend at the box office, Nan manages to visit all her shows and finally meet her heroine. Soon after, she becomes Kitty's dresser and the two head for the bright lights of Leicester Square where they begin a glittering career as music-hall stars in an all-singing and dancing double act. At the same time, behind closed doors, they admit their attraction to each other and their affair begins. ...more

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Discover Nan King's story as she meets music hall performer Kitty Butler, becomes her dresser, and joins her in a singing and dancing double act.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
Tipping the Velvet | Books to Scrape - Sandbox
og:description
Discover Nan King's story as she meets music hall performer Kitty Butler, becomes her dresser, and joins her in a singing and dancing double act.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.

Page: /index.html 0 of 3 done

Open this page

Google search title

Same title as 2 other page(s), so Google can't tell them apart.

Now: Google search title (<title>): All products | Books to Scrape - Sandbox

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <title> (or Next.js metadata.title) to the text below.
  3. Commit and deploy.
Page title
Books Catalog | Books to Scrape

How to check it worked: Open the page in a private browser window, right-click and choose "View page source", then search (Ctrl+F) for <title>. It should show the new title. Google updates its results after it next visits the page (usually days to a few weeks).

Google search description

This page has no meta description, so Google picks random text for the snippet.

Now: (none)

  1. Open the page's source file (HTML template, Next.js page or Markdown).
  2. Set the <meta name="description"> (or Next.js metadata.description) to the text below.
  3. Commit and deploy.
Meta description
Explore the Books to Scrape catalog, featuring titles such as Soumission and Sharp Objects. View the available listings and choose a book to explore.

How to check it worked: Open the page, right-click → "View page source" and search for name="description". It should show the new description.

How your link looks when shared

Missing og:title and og:description, so links shared on WhatsApp, Facebook, LinkedIn or X show random text. (X uses these too when it has no twitter: tags.)

Now: (none)

  1. Add <meta property="og:title"> and <meta property="og:description"> (Next.js: metadata.openGraph) with the values below.
og:title
Books Catalog | Books to Scrape
og:description
Explore the Books to Scrape catalog, featuring titles such as Soumission and Sharp Objects. View the available listings and choose a book to explore.

How to check it worked: Paste the page address into a chat with yourself (WhatsApp, Messenger or Slack): the preview should show the new title and description. Apps cache previews, so a change can take a while to appear.