Skip to content
CafeJS Docs

SEO and trackers

Each page’s SEO is edited on the page; site-wide SEO, verification codes and trackers live in SEO & Tracking and take effect after the next build.

A page’s SEO

Open a page in Pages, group SEO:

  • Focus keyphrase: what people type into Google to find this page. Only the analysis uses it; it doesn’t show on the page.
  • SEO title: the title on Google. Empty uses “page title · brand name”.
  • Meta description: the line under the title on Google, ideally 120 to 156 characters.
  • Share image: the image shown when the link is shared on Facebook or Zalo (1200×630 works well).
  • Hide from search engines: keeps the page off Google and out of sitemap.xml.
  • Canonical URL: leave empty, unless this page repeats another page’s content.

The middle of the form shows a Google preview, a share preview (Facebook, Zalo) and the analysis: red to fix first, orange to improve, green for good.

SEO & Tracking: site-wide settings

SEO & Tracking is a single document. Anything changed here needs a new build to take effect; the admin’s preview doesn’t follow it.

  • Search engines: hide the whole site from search engines (for a draft or a demo), the default share image.
  • Business: the business type closest to the trade, a price range.
  • Site verification: the codes Google Search Console, Bing, Facebook and Zalo give you.

Add trackers

Get the ID from the service and paste it into SEO & Tracking → Trackers. The form says at once if it isn’t in the right format.

TrackerID format
Google Analytics 4G-AB12CD34EF
Google Tag ManagerGTM-AB12CD3
Meta Pixel15 or 16 digits
TikTok Pixel20 capital letters and digits
Microsoft Clarity8 to 12 lowercase letters and digits

Warning

Don’t fill in both GA4 and a GA4 tag inside your GTM container: every page view would be counted twice.

The site sends five events on its own: a click to call, email, Zalo or Messenger (contact), a form sent (generate_lead), a product viewed (view_item), added to the cart (add_to_cart) and an order sent (begin_checkout).

Ask visitors before tracking

With Ask before tracking on (the default), a banner lets visitors agree or decline; a tracker runs only after its group is accepted. With no tracker filled in, there is no banner and no tracking code at all.

Danger

The Custom code fields run any JavaScript on every public page. Only paste code from sources you trust.