Blog, pages, comments and messages
On this page
What you write, and what visitors write back.
Blog posts
Content → Blog posts lists every post with tabs for Published, Draft and Scheduled, a category filter and a search. Each post can be edited, published, moved to drafts, featured or deleted (its comments and likes go with it). Authors see and edit only their own posts.
Write a post has a title and address, the writing box, an Excerpt, SEO fields, and on the right Status (Draft or Published), Publish date & time, Featured, Comments open, the category, tags (separated by commas) and a Featured picture (1200×630 works best; it is also used when the post is shared).
Scheduled posts
Set the status to Published and give a publish time in the future: the post is saved as Scheduled and goes live on its own. The Scheduled blog posts job checks every five minutes, so the cron job (or the page-view fallback) must be running. See Scheduled jobs.
Categories and addresses
Content → Categories: a name, an address (empty: made from the name) and a description; drag to set the order. A category lives at /blog/category/address and a tag at /blog/tag/name. Settings → Permalinks chooses how post addresses look (/blog/post-title, /blog/12/post-title or /blog/2026/09/post-title) and can rename blog. Settings → General → Blog posts per page sets the length of a list.
The writing box
Posts, pages, lessons and surah information all use the same editor, laid out like a word processor:
- First row: paragraph or heading, bold, italic, underline, strikethrough, lists, quote, alignment, Link (Ctrl+K), Picture, Video, Button, and More tools.
- More tools: text size, text colour, highlight, indent, Table, line, code, Arabic box (Arabic with pronunciation and meaning), Note box, Quran & lesson blocks, clear formatting, undo, redo, Full screen and HTML.
Picture opens the media library: search, Upload, or tap a picture to put it in, then choose its size, place and caption. Pasting or dropping a picture uploads it by itself; text pasted from Word loses Word's formatting.
Video takes a YouTube or Vimeo address, or a video file. Button makes a link that looks like a button. Quran & lesson blocks inserts [quran 2:255] (see The Quran), the Arabic letters board or the Arabic letters quiz.
Comments
Settings → Comments decides who may comment:
- Comments on the blog — on or off for the whole site.
- Visitors can comment without an account.
- New comments wait for approval, and Signed-in members are published straight away.
- E-mail me when a comment is waiting.
A comment with more than two links is held as spam. Likes and dislikes on posts and comments are always on.
Content → Comments has the tabs Waiting, Approved and Spam. Each comment has Approve, Hold, Spam, Delete and Reply; your reply is published under your name and approves the comment it answers. Tick several to deal with them together.
Pages
Content → Pages holds stand-alone pages; the installer adds /about, /privacy-policy, /terms and /contact. A page has a title, an address (it lives at /address), the writing box, a Status (Published, or Draft which only admins see), a picture and SEO fields.
The page with the address contact shows the contact form under its text.
Media library
Content → Media library keeps every uploaded file and shows the space they take and the largest upload the server accepts. Upload several at once (pictures, audio, video, PDF, ZIP); very large pictures are made smaller automatically. Filter by kind, search by name, copy a file's Link, or tick files and Delete ticked.
The contact page and its spam wall
Settings → Contact & spam has four parts.
The contact page — an introduction in both languages, address, phone, WhatsApp number (with country code), the e-mail shown, office hours, a Google Maps embed address, a list of subjects to choose from, and Send an automatic "we received your message" e-mail.
Spam protection — a hidden trap field, a signed time check and a limit per visitor are always on. On top of them, one Visible check: a small sum (works everywhere), Cloudflare Turnstile or Google reCAPTCHA v2 (with their keys; a wrong key falls back to the sum), or none. The quiet checks:
- The form must be filled in by a real browser, and a Browser puzzle (15 is a good value; 0 switches it off);
- keep messages in scripts other than Bengali, English and Arabic, and the same message sent twice;
- the fastest a person can send, the most links in a message, and messages per visitor per hour and per day;
- Block an address after this much spam, and for how many days;
- Blocked words and Blocked addresses and endings (such as
.ruorbit.ly).
When spam will not stop — Who may use the contact form: everyone, only signed-in members, or nobody (the e-mail address is shown instead). Ask the sender to confirm by e-mail holds each message until the sender presses the button in that e-mail.
Block list — add IP addresses, e-mail addresses or e-mail domains, one per line, and see what is blocked, why, how often and until when.
Caught messages wait under Messages → Spam with the reason.
Messages
Content → Messages collects what the contact form sends, with the tabs Inbox, Unread, Replied, Waiting (not yet confirmed by e-mail) and Spam, a search box, and Empty spam. Each new message that is not spam is also e-mailed to Settings → General → Send notices to.
Tick messages and choose under With the ticked…: Move to Spam (or Not spam — back to the inbox), Delete, or Block the sender and delete. Apply acts on the ticked ones; Apply to all acts on every message in the current view.
Opening a message shows why it was kept as spam, if it was, with Not spam, Mark unread, Spam, Delete and Block sender. Reply by e-mail sends your answer; Start from a saved reply fills it from your own e-mail templates (Settings → E-mail).