ErpLite · Search engine optimization · Website visibility

From a site Google cannot read to one it ranks — set it up once, then work the weekly loop

The SEO module makes every CMS website legible to search engines and then tells you, in plain terms, what is holding each page back. It writes the page title, description, social preview and structured data into the page for you; publishes sitemaps and robots.txt; catches broken links, missing pages and redirect loops; scores every page against twenty checks in both languages; and — when you connect Search Console — tracks what you actually rank for over time. This manual walks the whole thing in the order you really work it: set up once, then repeat a short weekly loop. Everything that needs an external Google account is optional and clearly marked.

Set up each websitePublish sitemap & robotsWrite the page SEO — the page is now legibleScore & fixCrawl for breakageFix 404s with redirectsTrack keywordsReport & repeat
AutomaticMarketer / EditorNeeds a Google account
A

Set up a website

One-time per website. Everything you set here becomes the fallback for every page that does not override it.

1

Fill in the website SEO settingsإعدادات السيو

Marketer

SEO › Website SEO Settings/admin/seo-settings

You do

1) Set the title template — for example “%page% | Adala Law Firm”. Every page title is built from it unless the page overrides it.
2) Write a default meta description and pick a default social image, for pages that have none of their own.
3) Paste your site-verification code if you have one.
4) Fill in the organization details (name, logo, social profiles) — these become the structured data every page carries.
5) Write your robots.txt rules for this site.

System does

Each website gets its own robots block, scoped to its own address — so one site’s “block everything” can never take down its neighbours. The settings apply immediately: the page cache is cleared for you, so there is nothing to republish.

Settings are per website. A multi-site install fills this in once for each site, not once overall.

Where a page’s title actually comes from

The module tries four sources in order and uses the first that has a value:

  • What you typed on that page’s SEO screen.
  • The older SEO fields on the page itself, if it has any.
  • The website title template from the screen above.
  • Generated from the page’s own content, as a last resort.

This is why a page can already look fine before you touch it — and why filling the website defaults first saves you writing the same thing on every page.

B

Sitemaps & robots

Both are published automatically. You only decide what to leave out.

2

Check your sitemap is live

Automatic

Your public website/{site}/sitemap.xml · /robots.txt

System does

A sitemap index is published for every active website, listing pages, blog posts, categories, tags, images and videos. It rebuilds itself whenever you publish, and splits into numbered files automatically on very large sites. robots.txt is generated from your settings and points at the sitemap.

You do

Nothing, normally. To keep a page out of the sitemap, open its SEO screen and switch off “In sitemap” — or select several pages on the Page SEO list and use the bulk action.

“In sitemap” and “Indexable” are two different switches

They are often confused, and they do different jobs:

In sitemapA suggestion

Removing a page only stops you advertising it. Google can still find and index it through a link.

IndexableAn instruction

Switching this off tells search engines not to show the page at all. This is the one you want for a thank-you or internal page.

Use the Indexation Coverage report to see, per website, how many pages sit in each state.

Write the page SEO

This is the work that actually moves rankings. Everything before it was preparation; everything after it is checking.

3

Open a page and write its SEOسيو الصفحات

Marketer

SEO › Page SEO › (pick a page)/admin/seo-pages

You do

1) Write the meta title and description — in BOTH languages. The live preview shows exactly how the result will look in Google, and warns you before the text is too wide to fit.
2) Set the focus keyword for each language: the one phrase this page should win.
3) Choose the social sharing image if this page deserves its own.
4) Leave “Indexable” and “In sitemap” on unless you have a reason not to.

System does

The moment you save, the page’s <head> is rewritten and the cached copy cleared — the change is live. Arabic and English each get their own address advertised to Google, each pointing at itself, so neither language competes with the other.

Blog categories, tags and the blog index have their own SEO screens too — reach them from the tabs on the Page SEO list.

Write for both languages, always

Every score, keyword and description in this module is per page AND per language.

  • An English description does not help your Arabic page — it is a different result in a different search.
  • The page score is calculated twice, once per language. A page can be strong in one and weak in the other.
  • If you only have time for one, do the language your customers actually search in.
C

Score and fix a page

Twenty checks, a score out of 100, and a plain-language reason for every one you fail.

4

Analyze the page you are editing

Marketer

SEO › Page SEO › (a page) › Analyze/admin/seo-pages

You do

Press Analyze. Read the failing checks from the top — they are ordered by how much each is costing you. Fix, save, analyze again and watch the number move.

System does

It renders the page exactly as a visitor sees it and checks twenty things: title and description length by real rendered width (not character count), your focus keyword in the title, description, opening paragraph, a heading and the address, keyword density, headings structure, paragraph length, image alt text, internal and outbound links, word count, readability, and whether the page contradicts itself by being hidden from search while also claiming to be the original.

Readability is judged differently in Arabic — Arabic runs shorter per sentence at the same level of clarity, so the module does not apply an English yardstick to it.

5

Work the whole site from the audit listفحص الموقع

Marketer

SEO › Site Audit/admin/seo-audit

You do

Sort by the English or Arabic score column and start at the bottom. Each row links straight into that page’s SEO screen, and can be re-scored in place without leaving the list.

System does

A scheduled job re-scores every published page weekly, so the list stays current without anyone pressing anything.

D

Structured data

The machine-readable summary that earns you stars, prices and FAQ dropdowns in the results.

6

Let the page describe itself

Automatic

SEO › Page SEO › (a page)/admin/seo-pages

System does

It reads the blocks you already built the page from and writes the matching structured data: an FAQ block becomes a question-and-answer summary, a pricing block becomes offers, testimonials become reviews, a team block becomes people, a course list becomes courses, a video becomes a video entry, and contact details become a business listing with its address. You built the page; the description of it is free.

You do

Open the “Structured data on this page” panel in the SEO editor to see exactly what the page emits, and whether any block has a problem. A red finding means search engines will ignore that block entirely; an amber one means the result will show but less richly.

7

Add a template for anything extraقوالب البيانات المنظّمة

Marketer

SEO › Schema Templates/admin/seo-schema-templates

You do

Build a template with the visual editor — no code — and either attach it to specific pages or apply it site-wide. Useful for a legal service, a job posting, a rental listing or an organization profile that the page blocks do not already cover.

E

Find what is broken

A crawl walks your published site the way a search engine would, and reports what it could not reach.

8

Run a crawl and work the findingsزحف الموقع

Marketer

SEO › Site Crawl/admin/seo-crawl

You do

Press Crawl now, then work down the findings — errors first. A broken link offers an “Add redirect” button that takes you straight to the fix with the dead address already filled in. Mark each one resolved as you go.

System does

It finds broken internal links, pages nothing links to, pages buried too many clicks from the home page, duplicate titles and descriptions, images with no alt text, and insecure resources. It runs weekly on its own. Anything you fix simply disappears from the list at the next crawl — you do not have to tidy up after yourself.

9

See which pages nothing links toالروابط الداخلية

Marketer

SEO › Internal Links/admin/seo-links

You do

Open the Orphans tab. Every page listed there is invisible to search engines following links — add a link to it from a page that already ranks, usually the most relevant hub page.

System does

It counts how many pages link to each one and how many clicks it sits from your home page. Anything past four clicks is hard for search engines to reach; ∞ means they cannot reach it by following links at all.

F

Redirects & 404s

Every address you ever published should still lead somewhere.

10

Clear the 404 listمراقبة 404

Marketer

SEO › 404 Monitor/admin/seo-not-found

You do

Sort by hits and start at the top — the most-visited dead address is costing you the most. Press “Create redirect” on a row to send it to the right page. Dismiss the ones that are just bots probing for things you never had.

System does

It records every missing address a visitor asks for, counts the hits and remembers when it first and last happened. When you rename a published page it creates the redirect for you automatically, so an address you already advertised never simply dies.

Dismissed rows are kept rather than deleted, so the same bot noise does not reappear tomorrow as if it were new.

A redirect cannot point at the admin area

The module refuses two things on purpose, and will show you an error rather than accept them:

  • A rule whose source is an app address such as /admin or /portal — it would lock you out of your own dashboard.
  • A destination on a website you do not control, unless it has been explicitly allowed — otherwise your address could be used to send visitors somewhere hostile.

This applies to spreadsheet imports too, not just the form.

G

Keywords & rankings

Optional — needs a Google Search Console account connected. Without it, everything above still works.

11

Connect Search Console

Needs a Google account

Settings › Integrations › Search Console/admin/settings/integrations

You do

Either sign in with Google — the quicker route, and it lets you pick your site from a real list — or paste a service-account key if your IT team prefers a credential that never expires and belongs to no individual.

System does

It submits your sitemaps for you, and from then on records what you rank for every day.

12

Track the terms you care aboutالكلمات المفتاحية

Marketer

SEO › Keywords/admin/seo-keywords

You do

Add the terms your customers actually type, one row each, and name the page that should win each one. Then check the Winners and Losers tabs weekly — that is the whole routine.

System does

It records your position every day and draws it as a small trend line, where a rising line means you are climbing. It also flags cannibalisation — when several of your own pages compete for the same term, or when the page ranking is not the one you nominated.

Google reports about two days behind, and only for terms your site actually appeared for — a brand-new keyword showing nothing is normal, not a fault.

If you run more than one website

One Search Console account covers every website in your install, so the headline numbers are the total for all of them together. The stored trend can be narrowed:

  • On the Search Performance screen, the trend chart has a scope selector — “All websites” for the account total, or a single website for its own share.
  • A single website’s numbers are worked out by matching each address Google reports to the website that owns that part of the address.

A single website’s totals are a floor, not an exact figure: they are added up from the busiest addresses Google returns each day, so a large site with a long tail will show a little less than it truly earned. The screen tells you when that is the case. For an exact total, use “All websites”.

H

Reports & bulk edits

What to show a manager, and how to change fifty pages without opening fifty screens.

13

Pull the reportsتقارير السيو

Marketer

SEO › SEO Reports/admin/seo-reports

You do

Pick a report, set the date range, and export to Excel or PDF. Score Trend answers “are we improving?”; Score Distribution answers “how much of the site is weak?”; Indexation Coverage answers “what can actually appear in search?”; 404 Trends answers “what broke this month?”.

System does

Score history is recorded by the weekly audit, so the trend starts filling in from the first time it runs — a short line early on means “we just started measuring”, not “the site collapsed”. Each screen tells you the date measurement began.

14

Change many pages at onceبحث واستبدال

Marketer

SEO › Page SEO › Find & Replace/admin/seo-pages/find-replace

You do

Type what to find and what to replace it with, choose which fields to touch, and press Preview. Read the before-and-after list carefully — then, and only then, apply. Use it for a rebrand, a changed tagline, or a typo repeated across the site.

System does

Nothing is written until you confirm. The preview shows every field that would change and warns you when a replacement would make a title too wide to display in full.

There is no undo. The preview is not a formality — read it.

Let the assistant draft it (optional)

If an AI provider is connected in Integrations, the SEO editor can draft for you:

  • A meta title and description in either language, already inside the length Google will show.
  • Question-and-answer pairs taken from what the page actually says.
  • A short brief on what the page is missing for its keyword, and concrete fixes for the checks it fails.
  • Alt text for pictures that have none — a short description of what the image shows, for visitors using a screen reader. Listed one image at a time so you can see which picture each line describes before you accept it.

Nothing the assistant writes reaches your page until you accept it — every suggestion waits for your review, and you can reject it. Alt text is the one item that needs a provider able to READ images: the assistant looks at the picture itself, because describing a photo it has never seen would be guesswork, and that text is read aloud to someone who cannot check it. If your provider cannot read images the panel says so instead of offering the button.

I

Page speed (Core Web Vitals)

Optional — needs a PageSpeed Insights key. Measures how your pages felt to real visitors, not to a test machine.

15

Connect PageSpeed Insights

Needs a Google account

Settings › Integrations › Page Speed/admin/settings/integrations

You do

Paste a PageSpeed Insights API key from a Google Cloud project. The key only counts how many measurements you make — it gives Google no access to your site or your data, so it is not an account login.

You get

A Web Vitals screen under SEO, and a nightly job that measures a batch of your pages.

Without this key nothing else changes — every other part of the module keeps working exactly as before.

16

Read the three numbersمؤشرات الويب

Marketer

SEO › Core Web Vitals/admin/seo-vitals

What they mean

LCP — how long until the main thing on the page appears.
INP — how quickly the page answers the first tap or click.
CLS — how much the page jumps about while it loads.

Each one is rated Good, Needs improvement, or Poor. A page is judged by its WORST number, because that is how Google judges it: one bad measure is enough to fail a page, however good the other two are.

You do

Work the list from the top — it is sorted worst first. Switch between Mobile and Desktop; they are measured separately because they rarely perform the same, and Mobile is the one Google indexes with.

These come from your actual visitors using Chrome over the last month — not from a simulated test. That is what makes them worth acting on, and also why a quiet page may have none.

“Not enough data” is an answer, not a failure

Two things about this screen surprise people, and both are working as intended:

  • A page with few visitors shows “Not enough data” and dashes instead of numbers. Google will not report on a page too few people have opened. That is not a slow page and not a broken measurement — it is an unmeasured one, and we would rather say so than print a zero you might read as perfect.
  • Not every page is measured at once. Each measurement makes Google load the page for real, which takes time and counts against a daily allowance, so the nightly job takes a batch — pages never measured first, then the ones that were doing badly, then the oldest. Coverage builds up over a few nights. The screen tells you how many are still waiting.

You can also measure one page immediately from its row when you want to check a fix — but remember the field numbers move slowly, because they are an average of the last month of real visits.

The weekly loop

Once setup is done, this is the whole job — about twenty minutes a week.

Which screen answers which question

The questionThe screenHow often
Which pages are weakest?Site AuditWeekly
What is broken or unreachable?Site Crawl · Internal LinksWeekly
What are visitors failing to find?404 MonitorWeekly
Are we climbing or slipping?Keywords › Winners & LosersWeekly
What do I show my manager?SEO ReportsMonthly
Can search engines see everything?Indexation CoverageMonthly

What runs without you

Scheduled jobs keep the module current whether or not anyone logs in:

  • Every published page is re-scored weekly, and the score history recorded.
  • Every site is crawled weekly for breakage.
  • Sitemaps are submitted weekly, and old 404 noise is pruned nightly.
  • If Search Console is connected, rankings and traffic are pulled every night.

You can trigger any of these by hand from the buttons on the matching screen — you never have to wait for the schedule.

Need help with SEO?

Open a support ticket and our team will assist you.