← Back to Blog

The SpotHopper Website Checklist for Restaurant Owners: What to Check and What to Fix

The SpotHopper Website Checklist for Restaurant Owners: What to Check and What to Fix

If a restaurant marketing company built your website in under four weeks and now hosts it for you, a lot of the technical decisions are no longer yours to make. That is not always bad. You get a site fast, the menu updates push to Google, and you do not have to learn how a server works. But it also means that when something on the page is wrong, you cannot always fix it from the editor. Sometimes you have to know what is broken, who controls it, and how to ask the right person to change it.

I looked at five live restaurant sites built and hosted on one of the big all-in-one restaurant platforms, SpotHopper. I am not going to name the restaurants, because the point here is not to embarrass anyone. The point is that the same handful of issues showed up across all of them, which tells you they come from the platform's templates, not from any one owner doing something wrong. If your site is on the same platform, you almost certainly have some of these too.

Here is the useful part: roughly half of what I found, you can fix yourself this afternoon. The other half you cannot touch, and the honest move is to file a support ticket and track it. This post sorts the two piles for you.

First, understand the split: what is yours and what is theirs

On a managed, template-driven platform, you edit content through a limited inline editor and a few settings screens. You do not edit the raw page code.

You CAN change:

  • Section text, button labels, and the order of sections
  • Images, hours, address, phone, and social links
  • Menus, promotions, events, and reservation settings
  • The per-page SEO page title and meta description (there is a documented setting for this)
  • The keyword list that feeds the platform's auto-generated content
  • Your Google Business Profile connection

You CANNOT change (only the platform's engineers can):

  • The raw <head> markup and most meta tags
  • The structured data, also called JSON-LD or schema
  • The HTTP response headers, including the security ones
  • The heading structure, which is why you may have several H1 tags
  • The URL structure, canonical tags, and redirects
  • The hosting, the footer, and the deep page-speed levers

Keep that split in your head as you go through the checks below. For each problem I will tell you which pile it lands in.

Check 1: How many H1 tags are on your page (often 6 to 11)

An H1 is the main heading of a page. The idea is one per page, the way a newspaper article has one headline. It tells search engines and screen readers what the page is actually about.

The templates on this platform tend to put an H1 on every section. So a single homepage can carry six, eight, even eleven H1 tags. When everything is the headline, nothing is. The page's real topic gets diluted, and the structure gets harder for both Google and assistive technology to follow.

How to check it: open your homepage, right-click, and choose View Source (or View Page Source). Press Ctrl+F and search for <h1. Count the hits. On the five sites I looked at, the count ran from 6 to 11. Anything above 1 is the problem.

How to fix it: you cannot, from the editor. This is template-controlled. Ask support whether they can change the section headings to H2 and keep a single H1 for the page. Write down the ticket number and follow up. If they tell you it cannot change, that is a real data point to weigh when you decide whether to stay.

Pile: theirs.

Check 2: Whether you have structured data at all

Structured data is a small block of code that spells out the facts about your restaurant in a format machines read directly: your name, address, hours, phone, cuisine, price range, menu link, and ratings. Google uses it to understand you and to show the richer-looking results with hours and stars. Without it, Google is guessing from the visible text.

This is where the platform was weakest. Of the five sites I checked, four had no structured data at all. The one that had it used a single Restaurant block, and even that one pointed to an old insecure http://www address and left out the hours, the price range, the menu, and the ratings.

How to check it: paste your page URL into Google's Rich Results Test at search.google.com/test/rich-results, and into the Schema Markup Validator at validator.schema.org. Or use View Source and Ctrl+F for application/ld+json. Zero results means you have none.

How to fix it: you cannot add this from the editor. Ask the platform to add or repair a Restaurant block with your name, full postal address, geo coordinates, telephone, opening hours, the cuisine you serve, a price range, a menu link, and your secure https address. While you wait, do the one thing you fully control: keep your Google Business Profile complete and accurate. That is the same information, in the one place you own outright.

Pile: theirs, with a Google Business Profile backstop that is yours.

Check 3: The length of your meta descriptions

The meta description is the snippet of text that shows under your link in search results. Google trims it to fit, so anything past roughly 150 to 160 characters gets cut off mid-sentence. If you leave it blank, Google grabs some arbitrary chunk of your page instead.

The platform does not enforce a length here. Across the pages I checked I saw descriptions that were missing entirely, one at 152 characters (good), and others at 325 and 547 characters (way too long).

How to check it: View Source, find the meta name="description" tag, and count the characters inside its content. Aim for a unique, accurate summary around 150 to 160 characters for each important page. Zero or 300-plus is the issue.

How to fix it: this one is yours. Use the platform's SEO page titles and meta descriptions setting to write a tight, page-specific description under about 155 characters. Do it for every important page, not just the homepage. Lead with what makes the place worth a visit, not a list of keywords.

Pile: yours.

Check 4: Whether your page titles read like a human wrote them

The page title is the clickable blue line in search results and the text in the browser tab. It is the single most valuable line of SEO real estate you have.

The templates here auto-generate titles in a pattern like "Must-Try Restaurant in [City] | [Name]." The phrase "Must-Try" is filler. It reads like a machine wrote it, and it burns the front of the title, the part that matters most, on a word that means nothing.

How to check it: View Source and read the <title> tag. If it opens with a canned phrase instead of your actual name and what you serve, rewrite it.

How to fix it: yours. Edit the SEO page title to lead with your restaurant name plus your cuisine and city. Something like "[Name]: Wood-Fired Pizza in [Neighborhood], [City]." Keep it under about 60 characters so it does not get truncated.

Pile: yours.

Check 5: Broken values in the sharing metadata

When someone shares your link in a text message, on Facebook, or to an AI assistant, the preview is built from a set of behind-the-scenes tags called Open Graph tags. They are also read by crawlers.

On one of the sites I checked, the og:site_name field was set literally to the word "null," and the og:url field pointed to an insecure http:// address while the canonical version of the page used https://. The first one looks broken when the link gets shared. The second can confuse crawlers about which version of your page is the real one.

How to check it: View Source and read the tags that start with og:, or paste your URL into Facebook's Sharing Debugger. Watch for the word "null," for http where it should be https, and for a blank or missing description.

How to fix it: mostly theirs. Report the "null" site name and the insecure URL to support and ask them to fill in the site name and force https in the machine fields. Confirm the fix by re-running the debugger after they say it is done.

Pile: theirs.

Check 6: Whether your site sends basic security headers

Security headers are instructions your server sends along with every page. Ones with names like HSTS, X-Content-Type-Options, and X-Frame-Options tell the browser to behave more safely, for example to always use the secure connection and to refuse to be embedded in a shady frame on someone else's site.

These are set by the host, not by you. On the sites I checked they were inconsistent. One had a decent set: HSTS, X-Frame-Options, and X-Content-Type-Options. Others returned none of them. Same platform, different results, because it is a server setting and the owner has no switch for it.

How to check it: run your live URL through a header scanner like securityheaders.com, or open your browser's developer tools, go to the Network tab, reload, and read the response headers for the main document.

How to fix it: you cannot. File a request asking the platform to apply HSTS, X-Content-Type-Options, X-Frame-Options, and a real Content-Security-Policy across all customer sites. This is purely a platform decision, and the more owners who ask, the more likely it moves.

Pile: theirs.

Check 7: Whether your legal pages exist and are real

Most restaurant sites collect something: a reservation, an email signup, an online order, a birthday club. The moment you collect any personal information, you should have a privacy policy, and ideally a terms page, that a customer can actually find and read. This is not just good manners; it is what payment processors, email tools, and a growing list of state privacy laws expect.

Template sites often ship with either no legal pages or a generic placeholder that names the wrong company or links nowhere.

How to check it: look in your footer for a Privacy Policy and Terms link. Click them. Confirm the page loads, names your business correctly, and describes what you actually collect (reservations, email, ordering) and through whom.

How to fix it: this is a mix. You usually control whether the links appear and what they point to through the footer or a settings screen, and you control the words on a content page you can edit. But if the footer itself is a locked sitewide template element, you may need support to add the links. Either way, do not publish boilerplate you have not read. If you are unsure what the policy should say, that is a question for a lawyer, not a template.

Pile: mostly yours, sometimes theirs for the footer link itself.

Check 8: Whether the auto-generated SEO text reads like spam

The platform's whole SEO model leans on auto-generated, location-and-cuisine text driven by the keyword list you give it, plus keeping your menus and specials fresh and synced to Google. That can work. It can also produce repetitive filler that repeats your city and the phrase "best restaurant" in a way no human would write, which Google now actively discounts in favor of genuinely helpful content.

How to check it: read your SEO pages and any keyword-heavy text blocks the way a hungry customer would. If it reads like it was written for a robot, it is working against you.

How to fix it: tune the inputs you control. Give the platform a focused, honest keyword list, real dishes, your neighborhood, your actual cuisine, not a wall of "best" and "near me." Edit the visible body text in the inline editor so it sounds like a person. And ask support to remove or trim any auto-generated pages that are pure keyword filler.

Pile: yours for the inputs, theirs for the filler pages.

Check 9: Page weight and speed

One homepage I pulled was about 268 kilobytes of HTML alone, before a single image or script loaded. Heavy pages feel slow on a phone, and slow phones are most of your dinner traffic.

How to check it: run your URL through PageSpeed Insights at pagespeed.web.dev and look at the mobile scores, especially how fast the main content appears and how much the layout jumps around while loading.

How to fix it: you can help by uploading right-sized images instead of giant ones and by hiding sections and widgets you do not use. The deeper fixes, how the template loads its scripts, are the platform's. Raise the specific findings from PageSpeed with support rather than a vague "my site is slow."

Pile: shared.

The check that comes before all the others: do you even own this?

This last one is not technical, but it is the most important, because it decides whether any of the work above is yours to keep.

Reviews and Better Business Bureau complaints about this platform describe a recurring pattern: charges that continue after a customer cancels, a cancellation process that is hard to complete, features that arrived late, and, notably, that the platform keeps the rights to the photos and video it produces for you, with a reported fee to buy them back if you leave. I could not confirm the exact dollar figures of that buy-back against the official terms, so treat the numbers as a question to ask, not a settled fact.

How to check it: read your actual contract and the platform's terms before you sign or renew. Get clear answers, in writing, to three questions. Do you own your domain, your site content, and your photos? What is the exact cancellation process? Is there a buy-back fee for the media they shot?

How to fix it: get ownership, cancellation terms, and media rights in writing before you commit. Keep your domain name registered in your own account, under your own email, not the platform's. That single habit means that if you ever leave, you keep the address customers already know. And watch your card statement after any cancellation; dispute charges that continue past the date on your written cancellation.

How to actually talk to support so it gets fixed

When you file a ticket for the items in the "theirs" pile, vague requests get vague answers. Specific ones get action. Try this shape:

"On [page URL], View Source shows [the exact problem, for example: nine H1 tags / no application/ld+json block / og:site_name set to 'null']. I cannot change this from the editor. Can you change it at the template or server level, and let me know if it is not possible?"

Attach the URL, the exact thing you found, and the tool you found it with. Ask for a yes or no on whether it can change. A clear no is still useful, because it tells you the real ceiling of the platform you are paying for.

A free way to find all of this at once

You do not have to run nine separate checks by hand every time. The free restaurant audit at /tools/restaurant-audit/ and the broader /tools/mega-analyzer/ both read your live page and flag the heading count, the missing or malformed structured data, the meta description length, the title pattern, and the missing security headers in one pass, and they label whether each item is something you can edit or something only the platform controls. For the email and DNS side of things, where you should confirm your domain is in your name, /tools/dns-email-audit/ checks that separately.

If you want the full picture of how a managed platform fits into running your own web presence, that thinking is the spine of one of my short books, The $97 Launch. But you do not need it to do the work above. The checks here are free, and most of them take ten minutes.

The short version

  • Half of what is wrong, you can fix today: meta descriptions under about 155 characters, real page titles that lead with your name, an honest keyword list, right-sized images, and a complete Google Business Profile.
  • Half of it you cannot touch: multiple H1 tags, missing structured data, broken sharing metadata, and absent security headers. File specific tickets and track them.
  • Before any of it matters, confirm in writing that you own your domain, your content, and your photos, and keep the domain registered in your own account.
  • Run the free checks, sort the findings into yours and theirs, fix your half, and send the platform a precise list for the rest.

Fact-check notes and sources

This post is informational, not legal or SEO-consulting advice. It is based on a snapshot of public, live websites; platform defaults may have changed since. Mentions of any third-party platform are nominative fair use, and no affiliation is implied.

Related reading

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026