Technical writing about the problems I actually work on.
Twenty articles, each on its own page, each answering one question. No bulk-generated content, and no statistic borrowed from a study of some other company.
- AI Search8 min read
What AI visibility means, and what it does not
Being named in an AI answer, being cited as its source, and ranking in search are three different outcomes with three different causes. Confusing them is why most AI-visibility work goes nowhere.
Answers: What is the difference between an AI mention, an AI citation and a search ranking?
- AI Search10 min read
How to build a site an AI assistant can actually cite
Nine engineering decisions that determine whether an answer engine can fetch your page, understand it, and lift a passage from it with your name attached.
Answers: What makes a web page citable by an AI assistant?
- AI Search8 min read
Why your store never comes up when someone asks an AI where to buy
Seven concrete reasons an online store is invisible to answer engines, in the order you should check them — starting with the one that takes five minutes.
Answers: Why doesn't my online store appear in AI shopping answers?
- AI Search7 min read
Arabic is the least contested ground in AI answers
Buyers in the Gulf and Egypt ask assistants in Arabic. Most of the answerable material in these categories is English, translated, or thin — which is an opportunity with an expiry date.
Answers: Does publishing in Arabic change whether an AI assistant names my business?
- Technical SEO7 min read
Structured data, written as a graph instead of a pile
Most sites emit five disconnected JSON-LD blocks that never reference each other. One @graph with stable @id values says something the pile cannot: that these things are the same entity.
Answers: How should structured data be organised so a machine can tell the entities apart?
- Technical SEO8 min read
Technical SEO for a Next.js site, done once and correctly
Canonicals, hreflang, sitemaps, robots and metadata on the App Router — including the three that are almost always wrong on a bilingual site.
Answers: What does technical SEO require on a Next.js App Router site?
- Technical SEO6 min read
llms.txt, robots.txt and what actually controls an AI crawler
One of these files is a permission system, one is a convention, and one of the two is routinely expected to do the other's job. What each is for, and how to write both honestly.
Answers: What is llms.txt, and does it control whether AI models use my site?
- WooCommerce6 min read
WooCommerce checkout: what I look at before adding more plugins
The checkout is the most expensive screen in a store. Six things worth examining in the default implementation before a plugin is installed to cover them.
Answers: What should be fixed in a WooCommerce checkout before reaching for a plugin?
- WooCommerce7 min read
The product page, rewritten for a buyer who is asking an assistant
What changes on a WooCommerce product page when the first reader is a retrieval system deciding whether your product answers someone's question.
Answers: How should a product page be written so an AI assistant can recommend it?
- RTL & Arabic Web8 min read
What an Arabic store on a phone needs that an English one does not
Direction is the easy half. The rest is line length, numerals, addresses, phone fields, delivery expectations and a checkout written for the way people here actually buy.
Answers: What changes in a WooCommerce store interface when the buyer is Arabic and the device is a phone?
- RTL & Arabic Web7 min read
RTL is more than `direction: rtl`
One CSS declaration flips the text. It does not flip icons, carousels, progress rails, shadows, mixed Latin content or a layout built on left-to-right assumptions. A working checklist.
Answers: What actually breaks when you turn an interface right-to-left?
- RTL & Arabic Web7 min read
Why component libraries break in RTL, and what to check first
The recurring failures in component libraries, design systems and utility CSS when direction changes — and the one refactor that removes most of them.
Answers: Why do component libraries break in RTL?
- Performance6 min read
A slow WordPress site does not always need another optimization plugin
Slowness is a symptom with at least four candidate layers behind it. A diagnostic order that attributes the cause before anything gets installed.
Answers: How do you find out why a WordPress site is slow, rather than guessing?
- Performance8 min read
Core Web Vitals for WordPress: which decision moves which metric
LCP, INP and CLS translated into the specific WordPress decisions that move them — and the popular fixes that move nothing.
Answers: Which WordPress decisions actually move each Core Web Vital?
- Performance7 min read
Cloudflare in front of WordPress: what it fixes, hides and creates
A CDN is a delivery layer, not a performance strategy. Where it genuinely helps, where it masks a problem you still have, and the two settings that break a store.
Answers: What does putting Cloudflare in front of WordPress actually change?
- Performance6 min read
Speed is not a score. It is the part of the funnel nobody instruments
How to argue for performance work in the language a business owner uses, and how to measure it on the pages that take money rather than the homepage.
Answers: How do I justify spending money on site performance?
- WordPress6 min read
Elementor is a tool — the development skill is knowing when to put it down
Where a page builder is genuinely the right answer, the four signals that it has become the constraint, and how to leave without rebuilding the site.
Answers: When does a WordPress page builder stop being the right tool?
- WordPress8 min read
The order a web project has to be built in, and what deferring costs
The sequence, the decisions that belong at each stage, and the four that become expensive the moment they are postponed.
Answers: What order should a web project actually be built in?
- Product Development7 min read
A dashboard is a decision surface, not a place to put the data you have
A metric nobody acts on is decoration. How to design from the decision backwards, and why the denominator matters more than the chart.
Answers: How do you design a dashboard around decisions instead of around available data?
- Product Development7 min read
Every number should open. What that costs, and why it is worth it
Making a metric checkable by the person reading it changes the data model, not the interface. What has to be true underneath before a number can be opened.
Answers: How do you make an analytics number checkable by the person reading it?
Let’s build something that needs to work.
Open to strong remote opportunities, technical collaborations, and selected web and product projects.
I read every message myself and reply within one working day — usually with a question or two before anything else, because a scope worth quoting needs them answered.
Mostafa Nouh
Full-Stack Developer & Product Builder
- linkedin.com/in/mostafanoah
- Location
- Egypt · Remote

