Everything below is optional: the 28 browser tools work for free right after installation, with no API key and
no paid service. Each section is an upgrade you can switch on in the admin panel (/admin).
Choose SMTP and enter the details of a mailbox on your domain (cPanel → Email Accounts → Connect Devices shows host, port and encryption). Set From address to that mailbox, save, then press Send test e-mail. Sign-up confirmations, password resets, receipts and plan reminders all use these settings.
Every e-mail the site sends — address confirmation, password reset, payment receipt, plan or trial ending soon,
plan or trial ended — has a subject and a text you can rewrite in each language. Words such as :name, :plan,
:date or :amount are replaced by the member's details (each template lists its own); leave a blank line between
paragraphs. Send me a test mails the template to you with example values. A field left empty uses the standard
text, already translated, so you only write what you want to change.
Site name, a tagline per language, the time zone the admin panel shows dates in, and maintenance mode: visitors
see a "Back soon" page in their language (with the correct 503 status for search engines) while administrators
keep using the whole site. A banner in the admin reminds you while it is on.
Each gateway is switched on separately; use the sandbox/test keys first and pay once yourself.
| Gateway | Where to get keys | Webhook / notes |
|---|---|---|
| Stripe | Dashboard → Developers → API keys (secret key) | Add an endpoint https://YOUR-SITE/api/billing/webhooks/stripe with events checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, checkout.session.expired; paste its signing secret. |
| PayPal | developer.paypal.com → Apps & Credentials (client id + secret) | Choose Sandbox or Live. No webhook needed: payments are captured when the buyer returns. |
| Razorpay | Dashboard → Account & Settings → API keys | No webhook needed: payments are verified with the API on return and by the cron job. |
| Paymob (Egypt, KSA, UAE, Oman, Pakistan) | Dashboard → Settings → Account info (public key, secret key, HMAC) and your integration ids | Choose your region. The notification URL https://YOUR-SITE/api/billing/webhooks/paymob is sent with every payment. |
| Bank transfer | — | Write your instructions; mark the payment as paid in Payments when the money arrives. |
Unpaid checkouts are checked again by the cron job, so a buyer who closes the window after paying still gets the plan.
Browser tools need nothing. For higher-fidelity Office conversions and PDF/A, you can add engines:
Set the credits each conversion costs (per engine, with per-tool overrides), press Check saved connection and Test sample conversion. Tools such as PowerPoint to PDF and PDF to PDF/A appear only when an engine can run them. Uploaded files and results are deleted one hour after the upload starts.
ca-pub-…) and, if you want, switch on Auto ads.ads.txt is served at /ads.txt from the text you enter.Off, Europe only (detected from the visitor's time zone) or Everyone. Ads and analytics wait for consent and follow Google Consent Mode v2.
Optional Cloudflare Turnstile (free) on sign-up, password reset and the contact form: paste the site key and secret key from the Cloudflare dashboard. Every form also has a hidden honeypot and rate limits.
Sitemap (/sitemap.xml, with every language), robots.txt, Open Graph and structured data are automatic.
In SEO settings add verification codes (Google, Bing) and the default sharing image; Redirects handles moved
addresses; Page titles and descriptions overrides the title and description of any address.
English and Arabic (right-to-left) are included. Languages switches them on/off and sets the default; Translations lets you change any text without editing files. You can add a language and translate it there.
Pages (about, privacy, terms, cookies and your own pages), Blog (posts, categories, covers, scheduling, RSS) and Contact messages. The legal pages ship with ready-made text: review them with your own details.
FAQ holds your own questions for the home page, the pricing page and the tool pages (all tools, or one tool;
:tool in the text becomes the tool's name), one text per language. They show before the built-in questions, which
come translated; Built-in questions hides those per page.
Announcement bar shows a short message above every page of the site and the member area (an offer, news, a
holiday notice): one text per language (a language left empty shows no bar), an optional link to one of your pages
or to a full https:// address, three colors, and whether visitors may close it. A visitor who closes it does not
see it again until you change the text.
Open a member to see their account (e-mail confirmed, two-factor, sign-in methods, language), plan and credits with the latest changes, payments, recent activity and the log of changes to the account. From there you can give a plan, add or remove credits, end a plan, send a password reset link, turn off two-factor for a member who lost their phone, suspend or delete the account.
Change role opens the admin panel to someone who helps you. Each role sees only its part of the panel:
| Role | Sees and changes |
|---|---|
| Administrator | Everything. |
| Editor | Pages, blog, announcement bar, translations, page titles and redirects. |
| Support | Members (not staff accounts, roles or deletions) and contact messages; payments, member plans and the credit ledger to look at, without refunds or plan changes. |
Nobody can change their own role, so the site always keeps an administrator. Users → Sign-in settings can require two-factor authentication from all staff.
Checks PHP, extensions, writable folders, HTTPS, debug mode, private files, the cron job and optional engines, and explains how to fix each warning. Run it after any server change.
For when something seems stuck: whether the cron job is running and the work it does (with how often and when it runs next), background jobs waiting or failed (send the failed ones again, or delete them), the latest errors from the site's log (download or empty it), and Clear caches, which empties the saved pages, settings and compiled files and builds them again — the same steps as after an update.